[RFC] Add support for hardware transmit rate limiting queues [WAS: Add support for changing the flow ID of TCP connections]

Hans Petter Selasky hps at selasky.org
Wed Aug 20 07:34:28 UTC 2014


A month has passed since the last e-mail on this topic, and in the 
meanwhile some new patches have been created and tested:

Basically the approach has been changed a little bit:

- The creation of hardware transmit rings has been made independent of 
the TCP stack. This allows firewall applications to forward traffic into 
hardware transmit rings aswell, and not only native TCP applications. 
This should be one more reason to get the feature into the kernel.

- A hardware transmit ring basically can have two modes: FIXED-RATE or 
AUTOMATIC-RATE. In the fixed rate mode all traffic is sent at a fixed 
bytes per second rate. In the automatic mode you can configure a time 
after which the TX queue must be empty. The hardware driver uses this to 
configure the actual rate. In automatic mode you can also set an upper 
and lower transmit rate limit.

- The MBUF has got a new field in the packet header: "txringid"

- IOCTLs for TCP v4 and v6 sockets has been updated to allow setting of 
the "txringid" field in the mbuf.

The current patch [see attachment] should be much simpler and less 
intrusive than the previous one.

Any comments ?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: net_ratectl.diff
Type: text/x-diff
Size: 6106 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20140820/2cf08cce/attachment.diff>

More information about the freebsd-current mailing list