Page MenuHomeFreeBSD

Let the RACK stack take IP options into account when computing the space for user data in TCP segments
ClosedPublic

Authored by tuexen on Sep 15 2019, 5:53 PM.
Tags
None
Referenced Files
F132422680: D21666.id62304.diff
Thu, Oct 16, 7:35 PM
F132422673: D21666.id62129.diff
Thu, Oct 16, 7:35 PM
F132422671: D21666.id.diff
Thu, Oct 16, 7:35 PM
F132379464: D21666.diff
Thu, Oct 16, 9:37 AM
Unknown Object (File)
Tue, Oct 14, 3:13 AM
Unknown Object (File)
Mon, Oct 13, 8:55 PM
Unknown Object (File)
Tue, Sep 30, 6:32 AM
Unknown Object (File)
Sep 16 2025, 8:19 PM
Subscribers

Details

Summary

When the RACK stack computes the space for user data in a TCP segment, it wasn't taking the IP level options into account. This patch fixes this. It also corrects a KASSERT and adds the protection code missing also from the default stack and to be added in D21665 .
Without this fix, IP level fragmentation would occur.

Test Plan

Check with the following test program that no IP level fragmentation occurs (use RACK as the default stack):

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable