Skip to content

Commit 540cda7

Browse files
dhowellskuba-moo
authored andcommitted
rxrpc: Fix ipv6 path MTU discovery
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: eeaedc5 ("rxrpc: Implement path-MTU probing using padded PING ACKs (RFC8899)") Signed-off-by: David Howells <[email protected]> cc: Marc Dionne <[email protected]> cc: Simon Horman <[email protected]> cc: [email protected] Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 82c260c commit 540cda7

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

net/rxrpc/peer_event.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,13 @@ void rxrpc_input_error(struct rxrpc_local *local, struct sk_buff *skb)
169169
goto out;
170170
}
171171

172+
if ((serr->ee.ee_origin == SO_EE_ORIGIN_ICMP6 &&
173+
serr->ee.ee_type == ICMPV6_PKT_TOOBIG &&
174+
serr->ee.ee_code == 0)) {
175+
rxrpc_adjust_mtu(peer, serr->ee.ee_info);
176+
goto out;
177+
}
178+
172179
rxrpc_store_error(peer, skb);
173180
out:
174181
rxrpc_put_peer(peer, rxrpc_peer_put_input_error);

0 commit comments

Comments
 (0)