Skip to content

net: improve the process of redirect and toobig for ipv6 tunnels

Xin Long netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5ip6_gre: add the process for redirect in ip6gre_errnet/ipv6/ip6_gre.c+5 -00 replies
2/5ip6_gre: process toobig in a better waynet/ipv6/ip6_gre.c+2 -130 replies
3/5ip6_tunnel: add the process for redirect in ip6_tnl_errnet/ipv6/ip6_tunnel.c+10 -50 replies
4/5ip6_tunnel: process toobig in a better waynet/ipv6/ip6_tunnel.c+3 -40 replies
5/5ip6_tunnel: clean up ip4ip6 and ip6ip6's err_handlersnet/ipv6/ip6_tunnel.c+14 -280 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH net-next 0/5] net: improve the process of redirect and toobig for ipv6 tunnels

Now let's say there are 3 kinds of icmp packets to process for tunnels, toobig(needfrag), redirect, others, their process should be:

- toobig(needfrag)
update the lower dst's pmtu by route cache, also update sk dst's pmtu if possible, or it will be fine if sk dst pmtu will get updated on tx path.

- redirect
update the lower dst's gw by route cache and return, no need to send this redirect packet to user sk.

- others
send the packet to user's sk, or it will also be fine to use err_count to count it and report fail link on tx path.

All ipv4 tunnels basically follow this while some of ipv6 tunnels are doing in different ways, like ip6gre and ip6_tunnels update tnl dev's mtu instead of updating lower dst pmtu, no redirect process on their err_handlers, which doesn't make any sense and even causes performance problems.

This patchset is to improve the process of redirect and toobig for ip6gre ip4ip6, ip6ip6 tunnels, as in ipv4 tunnels.

Xin Long (5):
ip6_gre: add the process for redirect in ip6gre_err
ip6_gre: process toobig in a better way
ip6_tunnel: add the process for redirect in ip6_tnl_err
ip6_tunnel: process toobig in a better way
ip6_tunnel: clean up ip4ip6 and ip6ip6's err_handlers

 net/ipv6/ip6_gre.c    | 20 ++++++----------
 net/ipv6/ip6_tunnel.c | 64 ++++++++++++++++++++++-----------------------------
 2 files changed, 34 insertions(+), 50 deletions(-)
Signature · 1 line
2.1.0