Lines Matching +full:1 +full:- +full:9 +full:a +full:- +full:e

1 .. SPDX-License-Identifier: GPL-2.0
7 Enable CONFIG_NET_PKTGEN to compile and build pktgen either in-kernel
8 or as a module. A module is preferred; modprobe pktgen if needed. Once
9 running, pktgen creates a thread for each CPU with affinity to that CPU.
10 Monitoring and controlling is done via /proc. It is easiest to select a
13 On a dual CPU::
31 overload type of benchmarking, as this could hurt the normal use-case.
35 # ethtool -G ethX tx 1024
37 A larger TX ring can improve pktgen's performance, while it can hurt
38 in the general case, 1) because the TX ring buffer might get larger
44 ring-buffers for various performance reasons, and packets stalling
49 and the cleanup interval is affected by the ethtool --coalesce setting
50 of parameter "rx-usecs".
52 For ixgbe use e.g. "30" resulting in approx 33K interrupts/sec (1/30*10^6)::
54 # ethtool -C ethX rx-usecs 30
59 Pktgen creates a thread for each CPU with affinity to that CPU.
72 * add_device DEVICE@NAME -- adds a single device
73 * rem_device_all -- remove all associated devices
75 When adding a device to a thread, a corresponding procfile is created
90 holds running statistics. The Result is printed after a run or after
101 src_mac: 90:e2:ba:0a:56:b4 dst_mac: 00:1b:21:3c:9d:f8
102 udp_src_min: 9 udp_src_max: 109 udp_dst_min: 9 udp_dst_max: 9
106 pkts-sofar: 100000 errors: 0
110 cur_udp_dst: 9 cur_udp_src: 42
122 scripts, i.e.::
132 pgset "clone_skb 1" sets the number of copies of the same packet
136 "burst 1" is the default
151 pgset "dst6 fec0::1" IPV6 destination address
158 To select queue 1 of a given device,
159 use queue_map_min=1 and queue_map_max=1
161 pgset "src_mac_count 1" Sets the number of MACs we'll range through.
164 pgset "dst_mac_count 1" Sets the number of MACs we'll range through.
167 pgset "flag [name]" Set a flag to determine behaviour. Current flags
182 pgset 'flag ![name]' Clear a flag to determine behaviour.
185 the specified flag as a history command.
189 pgset "udp_src_min 9" set UDP source port min, If < udp_src_max, then
192 pgset "udp_src_max 9" set UDP source port max.
193 pgset "udp_dst_min 9" set UDP destination port min, If < udp_dst_max, then
195 pgset "udp_dst_max 9" set UDP destination port max.
197 pgset "mpls 0001000a,0002000a,0000000a" set MPLS labels (in this example
213 pgset "vlan_id 77" set VLAN ID 0-4095
214 pgset "vlan_p 3" set priority bit 0-7 (default 0)
215 pgset "vlan_cfi 0" set canonical format identifier 0-1 (default 0)
217 pgset "svlan_id 22" set SVLAN ID 0-4095
218 pgset "svlan_p 3" set priority bit 0-7 (default 0)
219 pgset "svlan_cfi 0" set canonical format identifier 0-1 (default 0)
225 pgset "tos XX" set former IPv4 TOS field (e.g. "tos 28" for AF11 no ECN, default 00)
226 …pgset "traffic_class XX" set former IPv6 TRAFFIC CLASS (e.g. "traffic_class B8" for EF no ECN, def…
229 pgset "ratep 1000000" set rate to 1Mpps
238 A collection of tutorial scripts and helpers for pktgen is in the
244 ./pktgen_sample01_simple.sh -i eth4 -m 00:1B:21:3C:9D:F8 -d 192.168.8.2
248 ./pktgen_sample01_simple.sh [-vx] -i ethX
250 -i : ($DEV) output interface/device (required)
251 -s : ($PKT_SIZE) packet size
252 -d : ($DEST_IP) destination IP. CIDR (e.g. 198.18.0.0/15) is also allowed
253 -m : ($DST_MAC) destination MAC-addr
254 -p : ($DST_PORT) destination PORT range (e.g. 433-444) is also allowed
255 -t : ($THREADS) threads to start
256 -f : ($F_THREAD) index of first thread (zero indexed CPU number)
257 -c : ($SKB_CLONE) SKB clones send before alloc new SKB
258 -n : ($COUNT) num messages to send per thread, 0 means indefinitely
259 -b : ($BURST) HW level bursting of SKBs
260 -v : ($VERBOSE) verbose
261 -x : ($DEBUG) debug
262 -6 : ($IP6) IPv6
263 -w : ($DELAY) Tx Delay value (ns)
264 -a : ($APPEND) Script will not reset generator's state, but will append its config
266 The global variables being set are also listed. E.g. the required
267 interface/device parameter "-i" sets variable $DEV. Copy the
273 Note that when adding devices to a specific CPU it is a good idea to
286 pgset "flows 1"
294 By default, SKBs sent by pktgen are shared (user count > 1).
295 To test with non-shared SKBs, remove the "SHARED" flag by simply setting::
410 - ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/
411 - ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/examples/
413 Paper from Linux-Kongress in Erlangen 2004.
414 - ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/pktgen_paper.pdf
418 Grant Grundler for testing on IA-64 and parisc, Harald Welte, Lennert Buytenhek
422 Good luck with the linux net-development.