Page MenuHomeFreeBSD

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

Authored by tuexen on Mar 6 2024, 9:32 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Oct 31, 4:03 PM
Unknown Object (File)
Sep 27 2024, 10:26 AM
Unknown Object (File)
Sep 25 2024, 5:25 PM
Unknown Object (File)
Sep 14 2024, 6:31 AM
Unknown Object (File)
Sep 9 2024, 12:11 PM
Unknown Object (File)
Sep 9 2024, 12:11 PM
Unknown Object (File)
Sep 9 2024, 12:11 PM
Unknown Object (File)
Sep 5 2024, 10:21 PM
Subscribers

Details

Reviewers
rscheff
rrs
kbowling
erj
Group Reviewers
Restricted Owners Package(Owns No Changed Paths)
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 Skipped
Unit
Tests Skipped

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
4951

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
4951

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
4951

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