Improved MTU detection to work in both direction. #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Since a connection's MTU is not guaranteed to be the same in both directions, fragmentation at the IP layer might still occur. This can be simply fixed by responding the MTU-sized connection request message with an MTU-sized connection reply message (and setting the DoNotFragment flag).
It's easy to test this by connecting to a Windows machine with a lower MTU (e.g. netsh interface ipv4 set subinterface "Local Area Connection" mtu=1200). The configured MTU will only be enforced on outgoing messages causing the wrong MTU to be detected, which will cause outgoing messages to be fragmented at the IP layer.