Page MenuHomeFreeBSD

iflib: Introduce v2 of TX Queue Select Functionality
ClosedPublic

Authored by erj on Apr 1 2022, 11:08 PM.
Tags
None
Referenced Files
Unknown Object (File)
Jan 2 2024, 2:13 AM
Unknown Object (File)
Dec 22 2023, 10:38 PM
Unknown Object (File)
Dec 12 2023, 3:06 PM
Unknown Object (File)
Nov 4 2023, 6:07 AM
Unknown Object (File)
Nov 4 2023, 6:07 AM
Unknown Object (File)
Nov 4 2023, 6:04 AM
Unknown Object (File)
Nov 4 2023, 6:04 AM
Unknown Object (File)
Nov 4 2023, 6:04 AM

Details

Summary

For v2, iflib will parse packet headers before queueing a packet.

(This is not a well-thought out idea; just a way to queue a packet based
on information inside its headers.)

This commit also adds a new field in the structure that holds parsed
header information from packets; it stores the IP ToS/ traffic class
field found in the IPv4/IPv6 header.

To help, it will only partially parse header packets before queueing
them by using a new header parsing function that does less than the
current parsing header function; for our purposes we only need up to the
minimal IP header in order to get the IP ToS infromation and don't need
to pull up more data.

For now, v1 and v2 co-exist in this patch; this might not be an
acceptable solution for inclusion upstream, but it should be good enough
for testing. (We may just replace the old function and force drivers to
compat with that based on FreeBSD_version).

Signed-off-by: Eric Joyner <erj@FreeBSD.org>

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 46467
Build 43356: arc lint + arc unit

Event Timeline

erj requested review of this revision.Apr 1 2022, 11:08 PM

Remove read-only mbuf check/fixup in iflib_parse_header_partial()

iflib: Re-add M_WRITABLE check, but keep removal of IFLIB_NEEDS_SCRATCH check

  • iflib: Refine comments and separate out ethernet header parsing
This revision was not accepted when it landed; it landed in state Needs Review.Oct 17 2022, 10:01 PM
This revision was automatically updated to reflect the committed changes.