Skip to content

Commit

Permalink
samples: pktgen: add UDP tx checksum support
Browse files Browse the repository at this point in the history
Introduce k parameter in pktgen samples in order to toggle UDP tx
checksum

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
Link: https://lore.kernel.org/r/cf16417902062c6ea2fd3c79e00510e36a40c31a.1622210713.git.lorenzo@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
LorenzoBianconi authored and kuba-moo committed May 28, 2021
1 parent 38e9673 commit 460a9aa
Show file tree
Hide file tree
Showing 7 changed files with 18 additions and 1 deletion.
7 changes: 6 additions & 1 deletion samples/pktgen/parameters.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ function usage() {
echo " -d : (\$DEST_IP) destination IP. CIDR (e.g. 198.18.0.0/15) is also allowed"
echo " -m : (\$DST_MAC) destination MAC-addr"
echo " -p : (\$DST_PORT) destination PORT range (e.g. 433-444) is also allowed"
echo " -k : (\$UDP_CSUM) enable UDP tx checksum"
echo " -t : (\$THREADS) threads to start"
echo " -f : (\$F_THREAD) index of first thread (zero indexed CPU number)"
echo " -c : (\$SKB_CLONE) SKB clones send before alloc new SKB"
Expand All @@ -26,7 +27,7 @@ function usage() {

## --- Parse command line arguments / parameters ---
## echo "Commandline options:"
while getopts "s:i:d:m:p:f:t:c:n:b:w:vxh6a" option; do
while getopts "s:i:d:m:p:f:t:c:n:b:w:vxh6ak" option; do
case $option in
i) # interface
export DEV=$OPTARG
Expand Down Expand Up @@ -88,6 +89,10 @@ while getopts "s:i:d:m:p:f:t:c:n:b:w:vxh6a" option; do
export APPEND=yes
info "Append mode: APPEND=$APPEND"
;;
k)
export UDP_CSUM=yes
info "UDP tx checksum: UDP_CSUM=$UDP_CSUM"
;;
h|?|*)
usage;
err 2 "[ERROR] Unknown parameters!!!"
Expand Down
2 changes: 2 additions & 0 deletions samples/pktgen/pktgen_sample01_simple.sh
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ if [ -n "$DST_PORT" ]; then
pg_set $DEV "udp_dst_max $UDP_DST_MAX"
fi

[ ! -z "$UDP_CSUM" ] && pg_set $dev "flag UDPCSUM"

# Setup random UDP port src range
pg_set $DEV "flag UDPSRC_RND"
pg_set $DEV "udp_src_min $UDP_SRC_MIN"
Expand Down
2 changes: 2 additions & 0 deletions samples/pktgen/pktgen_sample02_multiqueue.sh
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ for ((thread = $F_THREAD; thread <= $L_THREAD; thread++)); do
pg_set $dev "udp_dst_max $UDP_DST_MAX"
fi

[ ! -z "$UDP_CSUM" ] && pg_set $dev "flag UDPCSUM"

# Setup random UDP port src range
pg_set $dev "flag UDPSRC_RND"
pg_set $dev "udp_src_min $UDP_SRC_MIN"
Expand Down
2 changes: 2 additions & 0 deletions samples/pktgen/pktgen_sample03_burst_single_flow.sh
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ for ((thread = $F_THREAD; thread <= $L_THREAD; thread++)); do
pg_set $dev "udp_dst_max $UDP_DST_MAX"
fi

[ ! -z "$UDP_CSUM" ] && pg_set $dev "flag UDPCSUM"

# Setup burst, for easy testing -b 0 disable bursting
# (internally in pktgen default and minimum burst=1)
if [[ ${BURST} -ne 0 ]]; then
Expand Down
2 changes: 2 additions & 0 deletions samples/pktgen/pktgen_sample04_many_flows.sh
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ for ((thread = $F_THREAD; thread <= $L_THREAD; thread++)); do
pg_set $dev "udp_dst_max $UDP_DST_MAX"
fi

[ ! -z "$UDP_CSUM" ] && pg_set $dev "flag UDPCSUM"

# Randomize source IP-addresses
pg_set $dev "flag IPSRC_RND"
pg_set $dev "src_min $SRC_MIN"
Expand Down
2 changes: 2 additions & 0 deletions samples/pktgen/pktgen_sample05_flow_per_thread.sh
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ for ((thread = $F_THREAD; thread <= $L_THREAD; thread++)); do
pg_set $dev "udp_dst_max $UDP_DST_MAX"
fi

[ ! -z "$UDP_CSUM" ] && pg_set $dev "flag UDPCSUM"

# Setup source IP-addresses based on thread number
pg_set $dev "src_min 198.18.$((thread+1)).1"
pg_set $dev "src_max 198.18.$((thread+1)).1"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ for ((i = 0; i < $THREADS; i++)); do
pg_set $dev "udp_dst_max $UDP_DST_MAX"
fi

[ ! -z "$UDP_CSUM" ] && pg_set $dev "flag UDPCSUM"

# Setup random UDP port src range
pg_set $dev "flag UDPSRC_RND"
pg_set $dev "udp_src_min $UDP_SRC_MIN"
Expand Down

0 comments on commit 460a9aa

Please sign in to comment.