Page MenuHomeFreeBSD

Add ALTQ support to iflib
ClosedPublic

Authored by pkelsey on Jul 24 2018, 8:04 PM.

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
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

pkelsey created this revision.Jul 24 2018, 8:04 PM
mmacy accepted this revision.Jul 24 2018, 9:34 PM

LGTM

This revision is now accepted and ready to land.Jul 24 2018, 9:34 PM
jmallett accepted this revision.Jul 25 2018, 3:06 AM
This revision was automatically updated to reflect the committed changes.