Page MenuHomeFreeBSD

virtio-network: no bail-out on CWR even without host support
Needs ReviewPublic

Authored by rscheff on Dec 22 2023, 12:18 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, May 9, 10:42 AM
Unknown Object (File)
Thu, May 9, 4:05 AM
Unknown Object (File)
Apr 22 2024, 11:55 AM
Unknown Object (File)
Apr 22 2024, 7:24 AM
Unknown Object (File)
Feb 23 2024, 9:03 AM
Unknown Object (File)
Jan 14 2024, 6:40 AM
Unknown Object (File)
Jan 11 2024, 6:55 AM
Unknown Object (File)
Dec 27 2023, 6:55 PM
Subscribers
None

Details

Summary

Support for RFC3168 ECN with TSO is variably broken.

Worst scenario is to bail-out on encountering a CWR flag when
processing TSO on "unsupporting" host hardware. Expected
semantic changes alleviate the need to deal with CWR in any
special way in the TSO path (AccECN), while claimed RFC3168 ECN
support is frequently incorrect too.

See D43166 where dealing with RFC3168 CWR is moved entirely
to the tcp_output() function, bypassing TSO. Preparing
virtio to handle TSO with AccECN properly.

MFC after: 2 weeks

Test Plan

The TSO codepath should copy over all 12 TCP header flags,
with the exception of PSH and FIN, to all individual packets.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 55090
Build 51979: arc lint + arc unit