HomeFreeBSD

Implement PLPMTUD blackhole detection (RFC 4821), inspired by code

Description

Implement PLPMTUD blackhole detection (RFC 4821), inspired by code
from xnu sources. If we encounter a network where ICMP is blocked
the Needs Frag indicator may not propagate back to us. Attempt to
downshift the mss once to a preconfigured value.

Default this feature to off for now while we do not have a full PLPMTUD
implementation in our stack.

Adds the following new sysctl's for control:
net.inet.tcp.pmtud_blackhole_detection -- turns on/off this feature
net.inet.tcp.pmtud_blackhole_mss -- mss to try for ipv4
net.inet.tcp.v6pmtud_blackhole_mss -- mss to try for ipv6

Adds the following new sysctl's for monitoring:

  • Number of times the code was activated to attempt a mss downshift

net.inet.tcp.pmtud_blackhole_activated

  • Number of times the blackhole mss was used in an attempt to downshift

net.inet.tcp.pmtud_blackhole_min_activated

  • Number of times that we failed to connect after we downshifted the mss

net.inet.tcp.pmtud_blackhole_failed

Phabricator: https://reviews.freebsd.org/D506
Reviewed by: rpaulo bz
MFC after: 2 weeks
Relnotes: yes
Sponsored by: Limelight Networks

Details

Provenance
sbrunoAuthored on
Reviewer
rpaulo
Parents
rS272719: cxgbe/tom: don't leak resources tied to an active open request that
Branches
Unknown
Tags
Unknown

Event Timeline