aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Kerrisk <mtk.manpages@gmail.com>2015-03-27 12:59:12 +0100
committerMichael Kerrisk <mtk.manpages@gmail.com>2015-03-27 13:00:42 +0100
commit2205c2929041bdb22a8dcb88a364997d45266b87 (patch)
tree93ce1eb7d5fb5f63f8d762854024a497f5b6633e
parentab8ff64cb91c45839bcb0074c882af757d7601a7 (diff)
downloadman-pages-2205c2929041bdb22a8dcb88a364997d45266b87.tar.gz
packet.7: Rework description of fanout algorithms as list
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
-rw-r--r--man7/packet.713
1 files changed, 11 insertions, 2 deletions
diff --git a/man7/packet.7 b/man7/packet.7
index 0191e0bdfa..18a5521b41 100644
--- a/man7/packet.7
+++ b/man7/packet.7
@@ -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.