Patch #8207 (Don't Use ND6 Prefix Flags Field When LWIP_IPV6_AUTOCONFIG Is Deasserted)

This commit is contained in:
sg 2015-03-06 21:03:21 +01:00
parent ff078920bc
commit f385193a89

View File

@ -627,7 +627,7 @@ nd6_input(struct pbuf *p, struct netif *inp)
void void
nd6_tmr(void) nd6_tmr(void)
{ {
s8_t i, j; s8_t i;
struct netif * netif; struct netif * netif;
/* Process neighbor entries. */ /* Process neighbor entries. */
@ -725,6 +725,7 @@ nd6_tmr(void)
if (prefix_list[i].netif->ip6_autoconfig_enabled && if (prefix_list[i].netif->ip6_autoconfig_enabled &&
(prefix_list[i].flags & ND6_PREFIX_AUTOCONFIG_AUTONOMOUS) && (prefix_list[i].flags & ND6_PREFIX_AUTOCONFIG_AUTONOMOUS) &&
!(prefix_list[i].flags & ND6_PREFIX_AUTOCONFIG_ADDRESS_GENERATED)) { !(prefix_list[i].flags & ND6_PREFIX_AUTOCONFIG_ADDRESS_GENERATED)) {
s8_t j;
/* Try to get an address on this netif that is invalid. /* Try to get an address on this netif that is invalid.
* Skip 0 index (link-local address) */ * Skip 0 index (link-local address) */
for (j = 1; j < LWIP_IPV6_NUM_ADDRESSES; j++) { for (j = 1; j < LWIP_IPV6_NUM_ADDRESSES; j++) {
@ -1414,7 +1415,9 @@ nd6_new_onlink_prefix(ip6_addr_t * prefix, struct netif * netif)
/* Found empty prefix entry. */ /* Found empty prefix entry. */
prefix_list[i].netif = netif; prefix_list[i].netif = netif;
ip6_addr_set(&(prefix_list[i].prefix), prefix); ip6_addr_set(&(prefix_list[i].prefix), prefix);
#if LWIP_IPV6_AUTOCONFIG
prefix_list[i].flags = 0; prefix_list[i].flags = 0;
#endif /* LWIP_IPV6_AUTOCONFIG */
return i; return i;
} }
} }