Documentation/pktgen: Clearify how-to use pktgen samples
o Change process name in ps output: looks like, these days the process is named kpktgend_<cpu>, rather than pktgen/<cpu>. o Use pg_ctrl for start/stop as it can work well with pgset without changes to $(PGDEV) variable. o Clarify a bit needed $(PGDEV) definition for sample scripts and that one needs to `source functions.sh`. o Document how-to unset a behaviour flag, note about history expansion. o Fix pgset spi parameter value. Cc: Jonathan Corbet <corbet@lwn.net> Cc: linux-doc@vger.kernel.org Signed-off-by: Dmitry Safonov <dima@arista.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
969ade4086
commit
d2ee7973c3
1 changed files with 14 additions and 5 deletions
|
@ -12,8 +12,8 @@ suitable sample script and configure that.
|
||||||
On a dual CPU:
|
On a dual CPU:
|
||||||
|
|
||||||
ps aux | grep pkt
|
ps aux | grep pkt
|
||||||
root 129 0.3 0.0 0 0 ? SW 2003 523:20 [pktgen/0]
|
root 129 0.3 0.0 0 0 ? SW 2003 523:20 [kpktgend_0]
|
||||||
root 130 0.3 0.0 0 0 ? SW 2003 509:50 [pktgen/1]
|
root 130 0.3 0.0 0 0 ? SW 2003 509:50 [kpktgend_1]
|
||||||
|
|
||||||
|
|
||||||
For monitoring and control pktgen creates:
|
For monitoring and control pktgen creates:
|
||||||
|
@ -113,9 +113,16 @@ Configuring devices
|
||||||
===================
|
===================
|
||||||
This is done via the /proc interface, and most easily done via pgset
|
This is done via the /proc interface, and most easily done via pgset
|
||||||
as defined in the sample scripts.
|
as defined in the sample scripts.
|
||||||
|
You need to specify PGDEV environment variable to use functions from sample
|
||||||
|
scripts, i.e.:
|
||||||
|
export PGDEV=/proc/net/pktgen/eth4@0
|
||||||
|
source samples/pktgen/functions.sh
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
|
pg_ctrl start starts injection.
|
||||||
|
pg_ctrl stop aborts injection. Also, ^C aborts generator.
|
||||||
|
|
||||||
pgset "clone_skb 1" sets the number of copies of the same packet
|
pgset "clone_skb 1" sets the number of copies of the same packet
|
||||||
pgset "clone_skb 0" use single SKB for all transmits
|
pgset "clone_skb 0" use single SKB for all transmits
|
||||||
pgset "burst 8" uses xmit_more API to queue 8 copies of the same
|
pgset "burst 8" uses xmit_more API to queue 8 copies of the same
|
||||||
|
@ -165,8 +172,12 @@ Examples:
|
||||||
IPSEC # IPsec encapsulation (needs CONFIG_XFRM)
|
IPSEC # IPsec encapsulation (needs CONFIG_XFRM)
|
||||||
NODE_ALLOC # node specific memory allocation
|
NODE_ALLOC # node specific memory allocation
|
||||||
NO_TIMESTAMP # disable timestamping
|
NO_TIMESTAMP # disable timestamping
|
||||||
|
pgset 'flag ![name]' Clear a flag to determine behaviour.
|
||||||
|
Note that you might need to use single quote in
|
||||||
|
interactive mode, so that your shell wouldn't expand
|
||||||
|
the specified flag as a history command.
|
||||||
|
|
||||||
pgset spi SPI_VALUE Set specific SA used to transform packet.
|
pgset "spi [SPI_VALUE]" Set specific SA used to transform packet.
|
||||||
|
|
||||||
pgset "udp_src_min 9" set UDP source port min, If < udp_src_max, then
|
pgset "udp_src_min 9" set UDP source port min, If < udp_src_max, then
|
||||||
cycle through the port range.
|
cycle through the port range.
|
||||||
|
@ -207,8 +218,6 @@ Examples:
|
||||||
pgset "tos XX" set former IPv4 TOS field (e.g. "tos 28" for AF11 no ECN, default 00)
|
pgset "tos XX" set former IPv4 TOS field (e.g. "tos 28" for AF11 no ECN, default 00)
|
||||||
pgset "traffic_class XX" set former IPv6 TRAFFIC CLASS (e.g. "traffic_class B8" for EF no ECN, default 00)
|
pgset "traffic_class XX" set former IPv6 TRAFFIC CLASS (e.g. "traffic_class B8" for EF no ECN, default 00)
|
||||||
|
|
||||||
pgset stop aborts injection. Also, ^C aborts generator.
|
|
||||||
|
|
||||||
pgset "rate 300M" set rate to 300 Mb/s
|
pgset "rate 300M" set rate to 300 Mb/s
|
||||||
pgset "ratep 1000000" set rate to 1Mpps
|
pgset "ratep 1000000" set rate to 1Mpps
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue