mirror of https://github.com/mkerrisk/man-pages
packet.7: Rework description of fanout algorithms as list
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
ab8ff64cb9
commit
2205c29290
|
@ -287,7 +287,10 @@ flags (see below).
|
|||
Packet sockets can leave a fanout group only by closing the socket.
|
||||
The group is deleted when the last socket is closed.
|
||||
|
||||
Fanout supports multiple algorithms to spread traffic between sockets.
|
||||
Fanout supports multiple algorithms to spread traffic between sockets,
|
||||
as follows:
|
||||
.RS
|
||||
.IP * 3
|
||||
The default mode,
|
||||
.BR PACKET_FANOUT_HASH ,
|
||||
sends packets from the same flow to the same socket to maintain
|
||||
|
@ -295,21 +298,27 @@ per-flow ordering.
|
|||
For each packet, it chooses a socket by taking the packet flow hash
|
||||
modulo the number of sockets in the group, where a flow hash is a hash
|
||||
over network-layer address and optional transport-layer port fields.
|
||||
.IP *
|
||||
The load-balance mode
|
||||
.BR PACKET_FANOUT_LB
|
||||
implements a round-robin algorithm.
|
||||
.IP *
|
||||
.BR PACKET_FANOUT_CPU
|
||||
selects the socket based on the CPU that the packet arrived on.
|
||||
.IP *
|
||||
.BR PACKET_FANOUT_ROLLOVER
|
||||
processes all data on a single socket, moving to the next when one
|
||||
becomes backlogged.
|
||||
.IP *
|
||||
.BR PACKET_FANOUT_RND
|
||||
selects the socket using a pseudo-random number generator.
|
||||
.IP *
|
||||
.BR PACKET_FANOUT_QM
|
||||
.\" commit 2d36097d26b5991d71a2cf4a20c1a158f0f1bfcd
|
||||
(available since Linux 3.14)
|
||||
selects the socket using the recorded queue_mapping of the received skb.
|
||||
|
||||
.RE
|
||||
.IP
|
||||
Fanout modes can take additional options.
|
||||
IP fragmentation causes packets from the same flow to have different
|
||||
flow hashes.
|
||||
|
|
Loading…
Reference in New Issue