On Thu, 12 Sep 2019 03:48:07 +0900 "Daniel T. Lee" <danieltim...@gmail.com> wrote:
> diff --git a/samples/pktgen/pktgen_sample01_simple.sh > b/samples/pktgen/pktgen_sample01_simple.sh > index 063ec0998906..08995fa70025 100755 > --- a/samples/pktgen/pktgen_sample01_simple.sh > +++ b/samples/pktgen/pktgen_sample01_simple.sh > @@ -22,6 +22,7 @@ fi > # Example enforce param "-m" for dst_mac > [ -z "$DST_MAC" ] && usage && err 2 "Must specify -m dst_mac" > [ -z "$COUNT" ] && COUNT="100000" # Zero means indefinitely > +[ -n "$DEST_IP" ] && read -r DST_MIN DST_MAX <<< $(parse_addr${IP6} $DEST_IP) The way the function "parse_addr" is called, in case of errors the 'err()' function is called inside, but it will not stop the program flow. Instead that function will "only" echo the "ERROR", but program flow continues (even-thought 'err()' uses exit $exitcode). Maybe it is not solveable to get the exit/$?/status out? (I've tried different options, but didn't find a way). Alternatively we can just add one extra line to validate result: [ -z "$DST_MIN" ] && err 5 "Stop: Invalid IP${IP6} address input" As if it fails then $DST_MIN isn't set. > if [ -n "$DST_PORT" ]; then > read -r UDP_DST_MIN UDP_DST_MAX <<< $(parse_ports $DST_PORT) > validate_ports $UDP_DST_MIN $UDP_DST_MAX > @@ -61,7 +62,8 @@ pg_set $DEV "flag NO_TIMESTAMP" > > # Destination > pg_set $DEV "dst_mac $DST_MAC" > -pg_set $DEV "dst$IP6 $DEST_IP" > +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 -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer