Page MenuHomeFreeBSD

e1000: Make masks for TCP flag handling during TSO sysctl'able
ClosedPublic

Authored by tuexen on Mar 6 2024, 9:32 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Jan 22, 11:16 AM
Unknown Object (File)
Wed, Jan 22, 11:13 AM
Unknown Object (File)
Fri, Jan 10, 12:29 AM
Unknown Object (File)
Dec 3 2024, 4:35 PM
Unknown Object (File)
Nov 24 2024, 3:15 AM
Unknown Object (File)
Nov 23 2024, 8:17 AM
Unknown Object (File)
Nov 21 2024, 2:25 AM
Unknown Object (File)
Nov 21 2024, 2:21 AM
Subscribers

Details

Summary

Add tso_tcp_flags_mask_first_segment, tso_tcp_flags_mask_middle_segment, and tso_tcp_flags_mask_last_segment sysctl-variables to control the handling of TCP flags during TSO.
This allows in particular to change the handling appropriate for classical ECN to an appropriate handling for accurate ECN.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Owners added a reviewer: Restricted Owners Package.Mar 6 2024, 9:32 PM
tuexen requested review of this revision.Mar 6 2024, 9:32 PM
tuexen updated this revision to Diff 135474.

Include context.

Are you sure this can't be dealt with dynamically in em_txrx and igb_txrx? Admittedly I have no reason to spend a lot of time digging into this but my intuition is you can stuff the offsets into if_pkt_info_t in iflib.c and make the right decisions when constructing the TSO packet descriptor.

sys/dev/e1000/if_em.c
5237

The handler will run any time the sysctl tree is queried. I would gate the write to only apply on changes.

sys/dev/e1000/if_em.c
5237

Isnt' the check for req->newptr already does that?

For implementation of manipulating the registers I think this is fine. I would still like to understand the usecase before it is committed.

sys/dev/e1000/if_em.c
5237

Yes you are right. I see no issues with the patch.

This revision was not accepted when it landed; it landed in state Needs Review.Nov 21 2024, 2:25 AM
This revision was automatically updated to reflect the committed changes.