Blame man/man8/tc-bfifo.8

Packit Service 3880ab
.TH PBFIFO 8 "10 January 2002" "iproute2" "Linux"
Packit Service 3880ab
.SH NAME
Packit Service 3880ab
pfifo \- Packet limited First In, First Out queue
Packit Service 3880ab
.P
Packit Service 3880ab
bfifo \- Byte limited First In, First Out queue
Packit Service 3880ab
Packit Service 3880ab
.SH SYNOPSIS
Packit Service 3880ab
.B tc qdisc ... add pfifo
Packit Service 3880ab
.B [ limit
Packit Service 3880ab
packets
Packit Service 3880ab
.B ]
Packit Service 3880ab
.P
Packit Service 3880ab
.B tc qdisc ... add bfifo
Packit Service 3880ab
.B [ limit
Packit Service 3880ab
bytes
Packit Service 3880ab
.B ]
Packit Service 3880ab
Packit Service 3880ab
.SH DESCRIPTION
Packit Service 3880ab
The pfifo and bfifo qdiscs are unadorned First In, First Out queues. They are the
Packit Service 3880ab
simplest queues possible and therefore have no overhead.
Packit Service 3880ab
.B pfifo
Packit Service 3880ab
constrains the queue size as measured in packets.
Packit Service 3880ab
.B bfifo
Packit Service 3880ab
does so as measured in bytes.
Packit Service 3880ab
Packit Service 3880ab
Like all non-default qdiscs, they maintain statistics. This might be a reason to prefer
Packit Service 3880ab
pfifo or bfifo over the default.
Packit Service 3880ab
Packit Service 3880ab
.SH ALGORITHM
Packit Service 3880ab
A list of packets is maintained, when a packet is enqueued it gets inserted at the tail of
Packit Service 3880ab
a list. When a packet needs to be sent out to the network, it is taken from the head of the list.
Packit Service 3880ab
Packit Service 3880ab
If the list is too long, no further packets are allowed on. This is called 'tail drop'.
Packit Service 3880ab
Packit Service 3880ab
.SH PARAMETERS
Packit Service 3880ab
.TP
Packit Service 3880ab
limit
Packit Service 3880ab
Maximum queue size. Specified in bytes for bfifo, in packets for pfifo. For pfifo, defaults
Packit Service 3880ab
to the interface txqueuelen, as specified with
Packit Service 3880ab
.BR ifconfig (8)
Packit Service 3880ab
or
Packit Service 3880ab
.BR ip (8).
Packit Service 3880ab
The range for this parameter is [0, UINT32_MAX].
Packit Service 3880ab
Packit Service 3880ab
For bfifo, it defaults to the txqueuelen multiplied by the interface MTU.
Packit Service 3880ab
The range for this parameter is [0, UINT32_MAX] bytes.
Packit Service 3880ab
Packit Service 3880ab
Note: The link layer header was considered when counting packets length.
Packit Service 3880ab
Packit Service 3880ab
.SH OUTPUT
Packit Service 3880ab
The output of
Packit Service 3880ab
.B tc -s qdisc ls
Packit Service 3880ab
contains the limit, either in packets or in bytes, and the number of bytes
Packit Service 3880ab
and packets actually sent. An unsent and dropped packet only appears between braces
Packit Service 3880ab
and is not counted as 'Sent'.
Packit Service 3880ab
Packit Service 3880ab
In this example, the queue length is 100 packets, 45894 bytes were sent over 681 packets.
Packit Service 3880ab
No packets were dropped, and as the pfifo queue does not slow down packets, there were also no
Packit Service 3880ab
overlimits:
Packit Service 3880ab
.P
Packit Service 3880ab
.nf
Packit Service 3880ab
# tc -s qdisc ls dev eth0
Packit Service 3880ab
qdisc pfifo 8001: dev eth0 limit 100p
Packit Service 3880ab
 Sent 45894 bytes 681 pkts (dropped 0, overlimits 0)
Packit Service 3880ab
.fi
Packit Service 3880ab
Packit Service 3880ab
If a backlog occurs, this is displayed as well.
Packit Service 3880ab
.SH SEE ALSO
Packit Service 3880ab
.BR tc (8)
Packit Service 3880ab
Packit Service 3880ab
.SH AUTHORS
Packit Service 3880ab
Alexey N. Kuznetsov, <kuznet@ms2.inr.ac.ru>
Packit Service 3880ab
Packit Service 3880ab
This manpage maintained by bert hubert <ahu@ds9a.nl>