Fix bug #56136: The netif->mtu6 was updated by Router Advertisement abnomally

Using patch from Gao Quingahui plus improvement
This commit is contained in:
Dirk Ziegelmeier 2019-05-06 12:37:19 +02:00 committed by Simon Goldschmidt
parent c0643e21ed
commit a68d6f1a9a
2 changed files with 5 additions and 1 deletions

View File

@ -697,7 +697,7 @@ nd6_input(struct pbuf *p, struct netif *inp)
#if LWIP_ND6_ALLOW_RA_UPDATES
if (inp->mtu) {
/* don't set the mtu for IPv6 higher than the netif driver supports */
inp->mtu6 = LWIP_MIN(inp->mtu, (u16_t)mtu32);
inp->mtu6 = LWIP_MIN(LWIP_MIN(inp->mtu, inp->mtu6), (u16_t)mtu32);
} else {
inp->mtu6 = (u16_t)mtu32;
}

View File

@ -1031,6 +1031,10 @@ netif_set_link_down(struct netif *netif)
if (netif->flags & NETIF_FLAG_LINK_UP) {
netif_clear_flags(netif, NETIF_FLAG_LINK_UP);
#if LWIP_IPV6 && LWIP_ND6_ALLOW_RA_UPDATES
netif->mtu6 = netif->mtu;
#endif
NETIF_LINK_CALLBACK(netif);
#if LWIP_NETIF_EXT_STATUS_CALLBACK
{