Copyright (c) 2004 Max Laier <mlaier@FreeBSD.org> All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the document...
NAMEALTQ - alternate queuing of network packets
options ALTQ_CBQ options ALTQ_CODEL options ALTQ_RED options ALTQ_RIO options ALTQ_HFSC options ALTQ_CDNR options ALTQ_PRIQ options ALTQ_FAIRQ
DESCRIPTIONThe sysctl Cm net.inet.tcp.syncookies framework provides several disciplines for queuing outgoing network packets. This is done by modifications to the interface packet queues. See altq(9) for details.
The user interface for sysctl Cm net.inet.tcp.syncookies is implemented by the pfctl(8) utility, so please refer to the pfctl(8) and the pf.conf5 manpages for a complete description of the sysctl Cm net.inet.tcp.syncookies capabilities and how to use it.
Kernel OptionsThe following options in the kernel configuration file are related to sysctl Cm net.inet.tcp.syncookies operation:
- Enable .
- Build the ``Class Based Queuing'' discipline.
- Build the ``Controlled Delay'' discipline.
- Build the ``Random Early Detection'' extension.
- Build ``Random Early Drop'' for input and output.
- Build the ``Hierarchical Packet Scheduler'' discipline.
- Build the traffic conditioner. This option is meaningless at the moment as the conditioner is not used by any of the available disciplines or consumers.
- Build the ``Priority Queuing'' discipline.
- Build the ``Fair Queuing'' discipline.
- Required if the TSC is unusable.
- Enable additional debugging facilities.
Note that -disciplines cannot be loaded as kernel modules. In order to use a certain discipline you have to build it into a custom kernel. The pf(4) interface, that is required for the configuration process of sysctl Cm net.inet.tcp.syncookies can be loaded as a module.
SUPPORTED DEVICESThe driver modifications described in altq(9) are required to use a certain network card with . They have been applied to the following hardware drivers: ae(4), age(4), alc(4), ale(4), an(4), ath(4), aue(4), axe(4), bce(4), bfe(4), bge(4), bxe(4), cas(4), cxgbe(4), dc(4), de(4), ed(4), em(4), ep(4), epair(4), et(4), fxp(4), gem(4), hme(4), igb(4), ipw(4), iwi(4), ixgbe(4), jme(4), le(4), msk(4), mxge(4), my(4), nfe(4), nge(4), npe(4), qlxgb(4), ral(4), re(4), rl(4), rum(4), sf(4), sge(4), sis(4), sk(4), ste(4), stge(4), ti(4), txp(4), udav(4), ural(4), vge(4), vr(4), vte(4), wi(4), and xl(4).
The ndis(4) framework also has support for sysctl Cm net.inet.tcp.syncookies and thus all encapsulated drivers.
The tun(4) and ng_iface4 pseudo drivers also do support .