Message ID | 3517283.1739359284@warthog.procyon.org.uk (mailing list archive) |
---|---|
State | Accepted |
Commit | 540cda75884a6ba4c289980c84392261b1f61a9c |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] rxrpc: Fix ipv6 path MTU discovery | expand |
Hello: This patch was applied to netdev/net.git (main) by Jakub Kicinski <kuba@kernel.org>: On Wed, 12 Feb 2025 11:21:24 +0000 you wrote: > rxrpc path MTU discovery currently only makes use of ICMPv4, but not > ICMPv6, which means that pmtud for IPv6 doesn't work correctly. Fix it to > check for ICMPv6 messages also. > > Fixes: eeaedc5449d9 ("rxrpc: Implement path-MTU probing using padded PING ACKs (RFC8899)") > Signed-off-by: David Howells <dhowells@redhat.com> > cc: Marc Dionne <marc.dionne@auristor.com> > cc: Jakub Kicinski <kuba@kernel.org> > cc: "David S. Miller" <davem@davemloft.net> > cc: Eric Dumazet <edumazet@google.com> > cc: Paolo Abeni <pabeni@redhat.com> > cc: Simon Horman <horms@kernel.org> > cc: linux-afs@lists.infradead.org > cc: netdev@vger.kernel.org > > [...] Here is the summary with links: - [net] rxrpc: Fix ipv6 path MTU discovery https://git.kernel.org/netdev/net/c/540cda75884a You are awesome, thank you!
diff --git a/net/rxrpc/peer_event.c b/net/rxrpc/peer_event.c index e874c31fa901..bc283da9ee40 100644 --- a/net/rxrpc/peer_event.c +++ b/net/rxrpc/peer_event.c @@ -169,6 +169,13 @@ void rxrpc_input_error(struct rxrpc_local *local, struct sk_buff *skb) goto out; } + if ((serr->ee.ee_origin == SO_EE_ORIGIN_ICMP6 && + serr->ee.ee_type == ICMPV6_PKT_TOOBIG && + serr->ee.ee_code == 0)) { + rxrpc_adjust_mtu(peer, serr->ee.ee_info); + goto out; + } + rxrpc_store_error(peer, skb); out: rxrpc_put_peer(peer, rxrpc_peer_put_input_error);
rxrpc path MTU discovery currently only makes use of ICMPv4, but not ICMPv6, which means that pmtud for IPv6 doesn't work correctly. Fix it to check for ICMPv6 messages also. Fixes: eeaedc5449d9 ("rxrpc: Implement path-MTU probing using padded PING ACKs (RFC8899)") Signed-off-by: David Howells <dhowells@redhat.com> cc: Marc Dionne <marc.dionne@auristor.com> cc: Jakub Kicinski <kuba@kernel.org> cc: "David S. Miller" <davem@davemloft.net> cc: Eric Dumazet <edumazet@google.com> cc: Paolo Abeni <pabeni@redhat.com> cc: Simon Horman <horms@kernel.org> cc: linux-afs@lists.infradead.org cc: netdev@vger.kernel.org --- net/rxrpc/peer_event.c | 7 +++++++ 1 file changed, 7 insertions(+)