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
parent ff17530997
commit 0255106d55
2 changed files with 5 additions and 1 deletions

View File

@ -701,7 +701,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

@ -1058,6 +1058,10 @@ netif_set_link_down(struct netif *netif)
acd_network_changed_link_down(netif);
#endif /* LWIP_ACD */
#if LWIP_IPV6 && LWIP_ND6_ALLOW_RA_UPDATES
netif->mtu6 = netif->mtu;
#endif
NETIF_LINK_CALLBACK(netif);
#if LWIP_NETIF_EXT_STATUS_CALLBACK
{