A qdisc (“queueing discipline”) is a traffic controller / scheduler that determines how packets are queued to transmitted. The default qdisc is fq_codel
.
There are two types of qdiscs (see Arch Wiki):
- A classful qdisc (e.g.
cbq
) is a qdisc with classes defined by filters, allowing different types of packets to be queued and transmitted differently. You can then attach a qdisc to each class to configure how packets in each class are queued. - A classless qdisc just doesn’t support classes.
A network interface have both the ingress (filter incoming traffic) and the root (queue outgoing traffic) qdisc. If the root qdisc happens to be classful, it can have a child qdisc under each class.