Merge branch 'pktgen-samples'
samples: pktgen: enhance the usability of pktgen samples This patchset improves the usability of pktgen samples by adding an option for propagating the environment variable of normal user to sudo. And also adds the missing IPv6 option to pktgen scripts. Currently, all pktgen samples are able to use the environment variable instead of optional parameters. However, it doesn't work appropriately when running samples as normal user. This is results of running sample as root and user: // running as root # DEV=eth0 DEST_IP=10.1.0.1 DST_MAC=00:11:22:33:44:55 ./pktgen_sample01_simple.sh -v -n 1 Running... ctrl^C to stop // running as normal user $ DEV=eth0 DEST_IP=10.1.0.1 DST_MAC=00:11:22:33:44:55 ./pktgen_sample01_simple.sh -v -n 1 [...] ERROR: Please specify output device The reason why passing the environment varaible doesn't work properly when running samples as normal user is that the environment variable of normal user doesn't propagate to sudo (root_check_run_with_sudo)). So the first commit solves this issue by using "-E" (--preserve-env) option of "sudo", which passes normal user's existing environment variables. Also, "sample04" and "sample05" are not working properly when running with IPv6 option parameter("-6"). Because the commit 0f06a6787e05 ("samples: Add an IPv6 "-6" option to the pktgen scripts") has omitted the addition of this option at these samples. So the second commit adds missing IPv6 option to pktgen scripts. ==================== Fixes: 0f06a6787e05 ("samples: Add an IPv6 "-6" option to the pktgen scripts") Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
5fa5fb8b3b
@ -123,7 +123,7 @@ function root_check_run_with_sudo() {
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
if [ -x $0 ]; then # Directly executable use sudo
|
||||
info "Not root, running with sudo"
|
||||
sudo "$0" "$@"
|
||||
sudo -E "$0" "$@"
|
||||
exit $?
|
||||
fi
|
||||
err 4 "cannot perform sudo run of $0"
|
||||
|
@ -13,13 +13,15 @@ root_check_run_with_sudo "$@"
|
||||
# Parameter parsing via include
|
||||
source ${basedir}/parameters.sh
|
||||
# Set some default params, if they didn't get set
|
||||
[ -z "$DEST_IP" ] && DEST_IP="198.18.0.42"
|
||||
if [ -z "$DEST_IP" ]; then
|
||||
[ -z "$IP6" ] && DEST_IP="198.18.0.42" || DEST_IP="FD00::1"
|
||||
fi
|
||||
[ -z "$DST_MAC" ] && DST_MAC="90:e2:ba:ff:ff:ff"
|
||||
[ -z "$CLONE_SKB" ] && CLONE_SKB="0"
|
||||
[ -z "$COUNT" ] && COUNT="0" # Zero means indefinitely
|
||||
if [ -n "$DEST_IP" ]; then
|
||||
validate_addr $DEST_IP
|
||||
read -r DST_MIN DST_MAX <<< $(parse_addr $DEST_IP)
|
||||
validate_addr${IP6} $DEST_IP
|
||||
read -r DST_MIN DST_MAX <<< $(parse_addr${IP6} $DEST_IP)
|
||||
fi
|
||||
if [ -n "$DST_PORT" ]; then
|
||||
read -r UDP_DST_MIN UDP_DST_MAX <<< $(parse_ports $DST_PORT)
|
||||
@ -62,8 +64,8 @@ for ((thread = $F_THREAD; thread <= $L_THREAD; thread++)); do
|
||||
|
||||
# Single destination
|
||||
pg_set $dev "dst_mac $DST_MAC"
|
||||
pg_set $dev "dst_min $DST_MIN"
|
||||
pg_set $dev "dst_max $DST_MAX"
|
||||
pg_set $dev "dst${IP6}_min $DST_MIN"
|
||||
pg_set $dev "dst${IP6}_max $DST_MAX"
|
||||
|
||||
if [ -n "$DST_PORT" ]; then
|
||||
# Single destination port or random port range
|
||||
|
@ -17,14 +17,16 @@ root_check_run_with_sudo "$@"
|
||||
# Parameter parsing via include
|
||||
source ${basedir}/parameters.sh
|
||||
# Set some default params, if they didn't get set
|
||||
[ -z "$DEST_IP" ] && DEST_IP="198.18.0.42"
|
||||
if [ -z "$DEST_IP" ]; then
|
||||
[ -z "$IP6" ] && DEST_IP="198.18.0.42" || DEST_IP="FD00::1"
|
||||
fi
|
||||
[ -z "$DST_MAC" ] && DST_MAC="90:e2:ba:ff:ff:ff"
|
||||
[ -z "$CLONE_SKB" ] && CLONE_SKB="0"
|
||||
[ -z "$BURST" ] && BURST=32
|
||||
[ -z "$COUNT" ] && COUNT="0" # Zero means indefinitely
|
||||
if [ -n "$DEST_IP" ]; then
|
||||
validate_addr $DEST_IP
|
||||
read -r DST_MIN DST_MAX <<< $(parse_addr $DEST_IP)
|
||||
validate_addr${IP6} $DEST_IP
|
||||
read -r DST_MIN DST_MAX <<< $(parse_addr${IP6} $DEST_IP)
|
||||
fi
|
||||
if [ -n "$DST_PORT" ]; then
|
||||
read -r UDP_DST_MIN UDP_DST_MAX <<< $(parse_ports $DST_PORT)
|
||||
@ -52,8 +54,8 @@ for ((thread = $F_THREAD; thread <= $L_THREAD; thread++)); do
|
||||
|
||||
# Single destination
|
||||
pg_set $dev "dst_mac $DST_MAC"
|
||||
pg_set $dev "dst_min $DST_MIN"
|
||||
pg_set $dev "dst_max $DST_MAX"
|
||||
pg_set $dev "dst${IP6}_min $DST_MIN"
|
||||
pg_set $dev "dst${IP6}_max $DST_MAX"
|
||||
|
||||
if [ -n "$DST_PORT" ]; then
|
||||
# Single destination port or random port range
|
||||
|
Loading…
x
Reference in New Issue
Block a user