LinuxCommandLibrary

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)

Copied to clipboard