Page MenuHomeFreeBSD

Removal of M_FLOWID flag from m_flags
AbandonedPublic

Authored by hselasky on Nov 28 2014, 6:57 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Apr 21, 12:44 AM
Unknown Object (File)
Sun, Apr 20, 12:44 PM
Unknown Object (File)
Sun, Apr 20, 5:28 AM
Unknown Object (File)
Mon, Apr 14, 11:22 PM
Unknown Object (File)
Mon, Apr 14, 8:00 PM
Unknown Object (File)
Mon, Apr 14, 7:34 PM
Unknown Object (File)
Fri, Apr 4, 11:27 PM
Unknown Object (File)
Mar 12 2025, 5:13 AM
Subscribers

Details

Reviewers
None
Group Reviewers
network
Summary

The M_FLOWID flag is marked as deprecated in the FreeBSD kernel code and the patch below completely removes it. I suggest we will now be using the "m_pkthdr.rsstype" also known as "M_HASHTYPE" to decide if the flowid value is valid or not. When the "rsstype" is set to "M_HASHTYPE_NONE" the "m_pkthdr.flowid" field is not valid. Else this field contains valid data for both TX and RX direction.

Background:

The network drivers today use the "rsstype" field only when receiving traffic. After my patch it is also used when sending traffic, and probably we should rename it.

The reason for using the rsstype field for transmit, is to avoid introducing another field in the MBUF's packet header in order to steer outgoing traffic into special multiple purpose hardware FIFOs. This new feature should coexist with the existing flowid mechanism, and this is achieved by introducing a new hash type which I've named "M_HASHTYPE_HWRING" in my patch. This type can be selected by upper layers when generating traffic for lower layers, to indicate that the traffic is of a special kind and should have special treatment by the hardware, like rate-limiting. Hardware which doesn't support M_HASHTYPE_HWRING will send out the packets like usual.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

hselasky retitled this revision from to Removal of M_FLOWID flag from m_flags.
hselasky updated this object.
hselasky edited the test plan for this revision. (Show Details)
hselasky added a reviewer: network.

I believe this was committed but perhaps the commit didn't include the phabricator URL and so didn't autoclose?

Committed to FreeBSD-head in r276982.