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.
Details
Details
- Reviewers
rscheff rrs kbowling erj - Group Reviewers
Restricted Owners Package (Owns No Changed Paths) - Commits
- rG90853dfac851: e1000: sysctl for TCP flag handling during TSO
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
Comment Actions
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? |
Comment Actions
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. |