mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/3] ipv4/ipv6: Cache pmtu on all paths of a multipath route
@ 2026-11-10  9:59 Vladimir Vdovin
  2026-11-10  9:59 ` [PATCH net-next v2 1/3] ipv4: Don't raise a cached pmtu from another path's Packet Too Big Vladimir Vdovin
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Vladimir Vdovin @ 2026-11-10  9:59 UTC (permalink / raw)
  To: David Ahern, Ido Schimmel, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Simon Horman, Shuah Khan
  Cc: netdev, linux-kernel, linux-kselftest, Vladimir Vdovin

IPv6 counterpart of commit 7d3f3b4367f3 ("net: ipv4: Cache pmtu for
all packet paths if multipath enabled"), deferred back then:
https://lore.kernel.org/netdev/ad29493c-9e48-4a94-b327-e47af3a9d137@kernel.org/

Patch 1 keeps the IPv4 fan-out from raising a pmtu a path already has,
patch 2 creates or updates the PMTU exception on every path of an IPv6
multipath route, patch 3 adds the IPv6 variant of the pmtu.sh multipath
test and multipath tests with paths of different MTU for both families.
The IPv6 tests fail without patch 2.

Changes in v2, after the Sashiko review of v1:
- Update the PMTU exception a path already has instead of replacing
  it, so a lower pmtu or a gateway learned from a redirect on another
  path is kept. The pmtu is now propagated to the other paths on every
  Packet Too Big, not only on the first one, when the looked up dst is
  still a plain route and not a cached exception yet.
- Don't walk the siblings of a fib6_info that is no longer in the
  tree: after NLM_F_REPLACE the old route and its siblings are freed
  with the sibling list still linked.
- Describe the real mechanism in the commit message: ip6_update_pmtu()
  looks the destination up without the protocol and ports of the
  offending packet, so the multipath hash may pick another path than
  the one that packet took.
- New patch 1: the same "a cached pmtu never goes up" rule for the IPv4
  fan-out in update_or_create_fnhe().
- Add selftests with a different MTU behind each router, so a second,
  lower Packet Too Big is covered as well.
- Rebased on net-next.
v1: https://lore.kernel.org/netdev/20261017210508.71849-1-deliran@verdict.gg/

Vladimir Vdovin (3):
  ipv4: Don't raise a cached pmtu from another path's Packet Too Big
  ipv6: Cache pmtu for all paths of a multipath route
  selftests: net: pmtu: Add IPv6 and asymmetric multipath tests

 net/ipv4/route.c                    |   8 +
 net/ipv6/route.c                    | 124 ++++++++-----
 tools/testing/selftests/net/pmtu.sh | 276 ++++++++++++++++++++++++----
 3 files changed, 328 insertions(+), 80 deletions(-)


base-commit: d26955e57475434b59d43ba372b2a50d33d5e0ed
-- 
2.56.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-11-10 10:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-10  9:59 [PATCH net-next v2 0/3] ipv4/ipv6: Cache pmtu on all paths of a multipath route Vladimir Vdovin
2026-11-10  9:59 ` [PATCH net-next v2 1/3] ipv4: Don't raise a cached pmtu from another path's Packet Too Big Vladimir Vdovin
2026-11-10  9:59 ` [PATCH net-next v2 2/3] ipv6: Cache pmtu for all paths of a multipath route Vladimir Vdovin
2026-11-10  9:59 ` [PATCH net-next v2 3/3] selftests: net: pmtu: Add IPv6 and asymmetric multipath tests Vladimir Vdovin
2026-11-10 10:06 ` [PATCH net-next v2 0/3] ipv4/ipv6: Cache pmtu on all paths of a multipath route netdev-bot+sinfo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®