Commit 460a9aa2 authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Jakub Kicinski
Browse files

samples: pktgen: add UDP tx checksum support



Introduce k parameter in pktgen samples in order to toggle UDP tx
checksum

Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Acked-by: default avatarJesper Dangaard Brouer <brouer@redhat.com>
Link: https://lore.kernel.org/r/cf16417902062c6ea2fd3c79e00510e36a40c31a.1622210713.git.lorenzo@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 38e9673c
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -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"
@@ -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
@@ -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!!!"
+2 −0
Original line number Diff line number Diff line
@@ -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"
+2 −0
Original line number Diff line number Diff line
@@ -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"
+2 −0
Original line number Diff line number Diff line
@@ -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
+2 −0
Original line number Diff line number Diff line
@@ -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"
Loading