IEEE 802.15.4/6LoWPAN: Correct one more usage of saddr; also update a README and the TODO list.

This commit is contained in:
Gregory Nutt
2017-06-19 07:31:52 -06:00
parent f685f30fb2
commit cd82d03ddf
3 changed files with 39 additions and 19 deletions
+5 -10
View File
@@ -276,6 +276,8 @@ static int macnet_advertise(FAR struct net_driver_s *dev)
}
#else
uint8_t *saddr;
/* Get the saddr from the MAC */
memcpy(arg.ifr_name, dev->d_ifname, IFNAMSIZ);
@@ -289,15 +291,8 @@ static int macnet_advertise(FAR struct net_driver_s *dev)
}
else
{
union
{
uint16_t u16;
uint8_t u8[2];
} u;
u.u16 = arg.u.getreq.attrval.mac.saddr;
dev->d_mac.ieee802154.u8[0] = u.u8[0];
dev->d_mac.ieee802154.u8[1] = u.u8[1];
saddr = arg.u.getreq.attrval.mac.saddr;
IEEE802154_SADDRCOPY(dev->d_mac.ieee802154.u8, saddr);
/* Set the IP address based on the saddr */
@@ -308,7 +303,7 @@ static int macnet_advertise(FAR struct net_driver_s *dev)
dev->d_ipv6addr[4] = 0;
dev->d_ipv6addr[5] = HTONS(0x00ff);
dev->d_ipv6addr[6] = HTONS(0xfe00);
dev->d_ipv6addr[7] = u.u16;
dev->d_ipv6addr[7] = (uint16_t)saddr[0] << 8 | (uint16_t)saddr[1];
dev->d_ipv6addr[7] ^= 0x200;
return OK;
}