On Wed, Mar 02, 2016 at 11:19:21AM -0800, Wei Wang wrote: > From: Wei Wang <wei...@google.com> > > When ICMPV6_PKT_TOOBIG message is received by a connected UDP socket, > the new mtu value is not properly updated in the dst_entry associated > with the socket. > This leads to the issue that the mtu value returned by getsockopt(sockfd, > IPPROTO_IPV6, IPV6_MTU, ...) is wrong. > The fix is to call the corresponding pmtu related function for connected > socket so that the dst_entry associated with the socket will get updated > with the new mtu value. Would it be a better fix if ip6_sk_update_pmtu() does a dst_check() and updates sk->sk_dst_cache (if needed) before it returns? It seems ipv4_sk_update_pmtu() is also doing it.
or sk->sk_dst_cache is still valid after ip6_sk_update_pmtu() returns?