Page MenuHomeFreeBSD

LRO code should deal with all 12 TCP header flags
ClosedPublic

Authored by rscheff on Feb 1 2022, 2:44 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sep 23 2024, 2:29 AM
Unknown Object (File)
Sep 23 2024, 2:29 AM
Unknown Object (File)
Sep 23 2024, 2:29 AM
Unknown Object (File)
Sep 23 2024, 2:29 AM
Unknown Object (File)
Sep 23 2024, 2:17 AM
Unknown Object (File)
Sep 9 2024, 1:27 PM
Unknown Object (File)
Sep 5 2024, 4:54 PM
Unknown Object (File)
Sep 5 2024, 6:24 AM
Subscribers

Details

Summary

RFC793 has 4 reserved flag bits for future use. One of those
bits used to be assigned to ECN Nonce (now historic), and
may be reused for AccurateECN.

This patch is to include these bits in the LRO code to ease
the extensibility if/when these bits are used.

Diff Detail

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

Event Timeline

sys/netinet/tcp_lro.h
151

Maybe you should add a "reserved : 2", so that the bitfields fill the 16- bits available.

  • add comments and reserve remainder of bitfield
sys/netinet/tcp_lro.c
924

Maybe a macro to do exactly this would be at its place?

#define TCP_GET_FLAGS(th) (((th)->th_x2 << 8) | ((th)->th_flags))

--HPS

sys/netinet/tcp_lro.c
924

A good idea. But I would do that as a separate Diff, as there are (already) a couple places scattered across the base stack, where this would come in handy...

This looks good but I want to pull it down and see if it will compile ;)

This revision is now accepted and ready to land.Feb 1 2022, 3:38 PM