tc-bfifo
Limit packet queue size by bytes
SYNOPSIS
tc qdisc add dev DEVICE parent qdisc-id bfifo limit BYTES
PARAMETERS
dev DEVICE
Specifies the network device (interface) the queueing discipline will be attached to.
parent qdisc-id
Specifies the parent qdisc or class the bfifo qdisc will be attached to. qdisc-id can be 'root', 'handle:,' or a previously defined class id.
limit BYTES
Sets the maximum number of BYTES the queue can hold. Once this limit is reached, incoming packets are dropped.
DESCRIPTION
tc-bfifo is a Traffic Control (tc) queuing discipline that implements a simple Byte First-In First-Out queue.
It is a basic FIFO queue that limits the number of bytes it can hold. When the queue is full, incoming packets are dropped (tail drop).
It is useful for very basic bandwidth limiting on network interfaces. Because of its simplicity, it's typically more performant than more complex queueing disciplines like pfifo_fast, especially under heavy load, but lacks sophisticated features for fairness or priority management. It's configured using the `tc qdisc add ... bfifo ...` command syntax. It does not have many configuration options other than the limit.
CAVEATS
bfifo does not provide any Quality of Service (QoS) features such as prioritization or fairness. It only provides basic byte-based queue limiting. Tail drop can be unfair to certain flows.
It's generally not suitable for complex traffic management scenarios.
<B>USAGE EXAMPLES</B>
Example 1: Add a bfifo queue to interface eth0 with a limit of 10 kilobytes:
tc qdisc add dev eth0 root bfifo limit 10k
Example 2: Attach a bfifo to a classid:
tc qdisc add dev eth0 parent 1:1 bfifo limit 20k
HISTORY
bfifo has been a part of the Linux Traffic Control system for a long time, providing a very basic FIFO queueing mechanism.
Its primary purpose has always been to offer a simple and lightweight queueing discipline, primarily focused on bandwidth limiting.
It pre-dates more sophisticated queueing disciplines and is still used in situations where minimal overhead and simple configuration are desired.
SEE ALSO
tc(8), pfifo(7), pfifo_fast(8)