IPv6 fixes: Both ICMPv6 autonomous auto-configuration and the ICMPv6 router function appear to be fully functional.

This commit is contained in:
Gregory Nutt 2015-02-05 12:48:02 -06:00
parent 968e02a44c
commit 3bd6dcf435
2 changed files with 4 additions and 4 deletions

View File

@ -238,7 +238,7 @@ void icmpv6_input(FAR struct net_driver_s *dev)
*/ */
adv = ICMPv6RADVERTISE; adv = ICMPv6RADVERTISE;
for (ndx = 0; ndx + sizeof(struct icmpv6_prefixinfo_s) < optlen; ) for (ndx = 0; ndx + sizeof(struct icmpv6_prefixinfo_s) <= optlen; )
{ {
FAR struct icmpv6_prefixinfo_s *opt = FAR struct icmpv6_prefixinfo_s *opt =
(FAR struct icmpv6_prefixinfo_s *)&adv->options[ndx]; (FAR struct icmpv6_prefixinfo_s *)&adv->options[ndx];
@ -313,7 +313,7 @@ void icmpv6_input(FAR struct net_driver_s *dev)
default: default:
{ {
nlldbg("Unknown ICMPv6 cmd: %d\n", icmp->type); nlldbg("Unknown ICMPv6 type: %d\n", icmp->type);
goto icmpv6_type_error; goto icmpv6_type_error;
} }
} }

View File

@ -152,8 +152,8 @@ static void icmpv6_setaddresses(FAR struct net_driver_s *dev,
for (i = 0; i < 7; i++) for (i = 0; i < 7; i++)
{ {
dev->d_ipv6addr[i] = (dev->d_ipv6addr[i] & dev->d_ipv6netmask[i]) | dev->d_ipv6addr[i] = (dev->d_ipv6addr[i] & ~dev->d_ipv6netmask[i]) |
(prefix[i] & ~dev->d_ipv6netmask[i]); (prefix[i] & dev->d_ipv6netmask[i]);
} }
nvdbg("prefix=%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x\n", nvdbg("prefix=%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x\n",