Page MenuHomeFreeBSD

Add ALTQ support to iflib
ClosedPublic

Authored by pkelsey on Jul 24 2018, 8:04 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Nov 21, 6:01 PM
Unknown Object (File)
Mon, Nov 4, 6:16 PM
Unknown Object (File)
Oct 20 2024, 5:17 AM
Unknown Object (File)
Oct 1 2024, 12:25 AM
Unknown Object (File)
Sep 21 2024, 4:58 AM
Unknown Object (File)
Sep 17 2024, 10:18 AM
Unknown Object (File)
Sep 16 2024, 7:42 PM
Unknown Object (File)
Sep 14 2024, 7:39 AM
Subscribers

Details

Summary

There are fielded products that use ALTQ, that are actively developed using near-HEAD FreeBSD sources, and that use NIC hardware whose drivers have been or are being converted to iflib, so there is a need for ALTQ support in iflib.

This patch adds such support. The implementation prioritizes having a minimum code footprint in iflib.c and zero presence when ALTQ-related kernel options are not defined. See the comment on iflib.c:iflib_altq_if_start() in the diff for further details regarding the approach taken. There is the usual limitation that when ALTQ is enabled on an interface with multiple hardware queues, only a single queue (queue 0) is used for transmit.

Test Plan

Tested with a pf config that directs TCP traffic to one of several HFSC queues with distinct bandwidth limits based on port number, with verification of expected bandwidth at the receiver.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable