summaryrefslogtreecommitdiffstats
path: root/drivers/s390/net/qeth_core_main.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2019-12-24 22:28:55 -0800
committerDavid S. Miller <davem@davemloft.net>2019-12-24 22:28:55 -0800
commit47d0b2fe23d840ecbfc187d9ef0ee9e1a229a332 (patch)
treed45b1c2d62ee09cf5b45f1ea9f6f2a9d17aacccb /drivers/s390/net/qeth_core_main.c
parentff43ae4bd5aab8acd3a4a9cf49a2a99cbb1719fb (diff)
parentf081042d128a0c7acbd67611def62e1b52e2d294 (diff)
downloadlinux-47d0b2fe23d840ecbfc187d9ef0ee9e1a229a332.tar.bz2
Merge branch 'disable-neigh-update-for-tunnels-during-pmtu-update'
Hangbin Liu says: ==================== disable neigh update for tunnels during pmtu update When we setup a pair of gretap, ping each other and create neighbour cache. Then delete and recreate one side. We will never be able to ping6 to the new created gretap. The reason is when we ping6 remote via gretap, we will call like gre_tap_xmit() - ip_tunnel_xmit() - tnl_update_pmtu() - skb_dst_update_pmtu() - ip6_rt_update_pmtu() - __ip6_rt_update_pmtu() - dst_confirm_neigh() - ip6_confirm_neigh() - __ipv6_confirm_neigh() - n->confirmed = now As the confirmed time updated, in neigh_timer_handler() the check for NUD_DELAY confirm time will pass and the neigh state will back to NUD_REACHABLE. So the old/wrong mac address will be used again. If we do not update the confirmed time, the neigh state will go to neigh->nud_state = NUD_PROBE; then go to NUD_FAILED and re-create the neigh later, which is what IPv4 does. We couldn't remove the ip6_confirm_neigh() directly as we still need it for TCP flows. To fix it, we have to pass a bool parameter to dst_ops.update_pmtu() and only disable neighbor update for tunnels. v5: No code change, upate some commits description v4: No code change, upate some commits description v3: Do not remove dst_confirm_neigh, but add a new bool parameter in dst_ops.update_pmtu to control whether we should do neighbor confirm. Also split the big patch to small ones for each area. v2: Remove dst_confirm_neigh in __ip6_rt_update_pmtu. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390/net/qeth_core_main.c')
0 files changed, 0 insertions, 0 deletions