Page MenuHomeFreeBSD

Add ALTQ support to iflib
ClosedPublic

Authored by pkelsey on Jul 24 2018, 8:04 PM.
Tags
None
Referenced Files
F81971303: D16433.id45809.diff
Sun, Dec 15, 1:39 AM
F81971237: D16433.id45850.diff
Sun, Dec 15, 12:34 AM
F81970957: D16433.diff
Sat, Dec 14, 10:42 PM
Unknown Object (File)
Apr 7 2024, 8:38 AM
Unknown Object (File)
Dec 30 2023, 3:10 AM
Unknown Object (File)
Dec 23 2023, 6:07 PM
Unknown Object (File)
Dec 20 2023, 2:33 AM
Unknown Object (File)
Dec 11 2023, 11:53 PM
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

Lint
Lint Skipped
Unit
Tests Skipped