=== Dummynet support for pf

Links: +
link:https://github.com/kprovost/freebsd-src/tree/netgate/dummynet[dummynet in-progress tree] URL: link:https://github.com/kprovost/freebsd-src/tree/netgate/dummynet[https://github.com/kprovost/freebsd-src/tree/netgate/dummynet]

Contact: Kristof Provost <kp@FreeBSD.org>

The pf firewall currently relies on ALTQ for traffic shaping. ALTQ is not enabled in default kernel builds, and is not compatible with all network drivers (only drivers which implement if_start()).

Work is in progress to add support for dummynet traffic shaping to pf. Dummynet is already used by ipfw for traffic shaping.

As part of this work, automated tests are being added to dummynet, for both ipfw and pf. This requires extending dummynet to add vnet support, which was contributed by Tom Jones <thj@FreeBSD.org>.

While this work is incomplete feedback on architecture and functionality is welcomed.

TODO:

* Additional test cases
* Debug failure of the IPv6 queue test case
* Fix panic on vnet shutdown if there are still IPv6 packets queued. (These eventually get sent to ip6_input() with a now freed rcvif pointer. Badness ensues.)

Sponsor: Rubicon Communications, LLC ("Netgate")
