ALTQ

Network scheduler for Berkeley Software Distribution
pf.conf, and from the original ALTQ webpage.

ALTQ (ALTernate Queueing) is the network scheduler for Berkeley Software Distribution. ALTQ provides queueing disciplines, and other components related to quality of service (QoS), required to realize resource sharing. It is most commonly implemented on BSD-based routers. ALTQ is included in the base distribution of FreeBSD, NetBSD, and DragonFly BSD, and was integrated into the pf packet filter of OpenBSD but later replaced by a new queueing subsystem (it was deprecated with OpenBSD 5.5 release, and completely removed with 5.6 in 2014).[1]

With ALTQ, packets can be assigned to queues for the purpose of bandwidth control. The scheduler defines the algorithm used to decide which packets get delayed, dropped or sent out immediately. There are five schedulers currently supported in the FreeBSD implementation of ALTQ:

  • cbq — Class-based Queueing. Queues attached to an interface build a tree, thus each queue can have further child queues. Each queue can have a priority and a bandwidth assigned. Priority mainly controls the time packets take to get sent out, while bandwidth has primarily effects on throughput.
  • CoDel — Controlled Delay. Attempts to combat bufferbloat.
  • fairq — Fair Queuing. Attempts to fairly distribute bandwidth among all connections.
  • hfscHierarchical Fair Service Curve. Queues attached to an interface build a tree, thus each queue can have further child queues. Each queue can have a priority and a bandwidth assigned. Priority mainly controls the time packets take to get sent out, while bandwidth has primarily effects on throughput.
  • PRIQ — Priority Queueing. Queues are flat attached to the interface, thus, queues cannot have further child queues. Each queue has a unique priority assigned, ranging from 0 to 15. Packets in the queue with the highest priority are processed first.

See also

  • Free and open-source software portal
  • Traffic shaping
  • KAME project

References

  1. ^ "ALTQ removed from -current". OpenBSD Journal. 2014-04-19.

External links

  • ALTQ home Archived 2007-09-27 at the Wayback Machine
  • Configuring ALTQ in OpenBSD 5.4 and earlier
  • PF and ALTQ documentation by the FreeBSD project
  • pfSense Documentation ALTQ Scheduler Types on pfSense Firewall
  • /sys/net/altq/altq.h in FreeBSD
  • /sys/altq/altq.h in NetBSD
  • /sys/net/altq/altq.h in DragonFly
  • altqstat(1)
  • altq(4)
  • altq.conf(5)
  • altqd(8)
  • tbrconfig(8)
  • altq(9)
  • v
  • t
  • e
The FreeBSD Project
FreeBSDSubsystems
Scheduling
Virtualisation
Storage
Networking
Other
PeopleDerivatives
open-source
proprietary
  • v
  • t
  • e
The NetBSD Project
Operating system
Related projects
Notable subsystems
File systems and storage
Firewalls and networking
  • v
  • t
  • e
Operating system
OS-level virtualisation
File systems, storage
Firewalls, networking
Subsystems
People