Page MenuHomeFreeBSD

sys/netinet: handle IPv4 PMTU Discovery
Needs ReviewPublic

Authored by wma on Jul 2 2021, 4:37 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 16, 11:15 AM
Unknown Object (File)
Thu, Apr 16, 2:20 AM
Unknown Object (File)
Wed, Apr 15, 8:44 AM
Unknown Object (File)
Tue, Apr 14, 10:43 PM
Unknown Object (File)
Tue, Apr 14, 3:56 AM
Unknown Object (File)
Fri, Apr 10, 10:23 PM
Unknown Object (File)
Mar 18 2026, 12:17 PM
Unknown Object (File)
Mar 14 2026, 5:47 PM
Subscribers

Details

Reviewers
mw
imp
np
tuexen
Summary

On input ICMP handler is updating tcp_hostcache with the PMTU value.
On output calculate MTU based on the route/interface and hostcache.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

wma requested review of this revision.Jul 2 2021, 4:37 AM

SCTP and TCP do a similar handling, but only after performing some checks (port numbers and vtag in case of SCTP, port numbers and sequence number in case of TCP) to make it non-trivial for an off-path attacker to generate an ICMP message, which will be accepted and the corresponding MTU will be cached.

How is such an check done in this context?

Good point. I removed all *input processing and left only *output check, which might be worth to have it in one place as we don't update mtu here anyway. Also pushed some changes to UDP ctlinput to match https://reviews.freebsd.org/D30992