.. | .. |
---|
13 | 13 | # Parameter parsing via include |
---|
14 | 14 | source ${basedir}/parameters.sh |
---|
15 | 15 | # Set some default params, if they didn't get set |
---|
16 | | -[ -z "$DEST_IP" ] && DEST_IP="198.18.0.42" |
---|
| 16 | +if [ -z "$DEST_IP" ]; then |
---|
| 17 | + [ -z "$IP6" ] && DEST_IP="198.18.0.42" || DEST_IP="FD00::1" |
---|
| 18 | +fi |
---|
17 | 19 | [ -z "$DST_MAC" ] && DST_MAC="90:e2:ba:ff:ff:ff" |
---|
18 | 20 | [ -z "$CLONE_SKB" ] && CLONE_SKB="0" |
---|
19 | 21 | [ -z "$COUNT" ] && COUNT="0" # Zero means indefinitely |
---|
| 22 | +if [ -n "$DEST_IP" ]; then |
---|
| 23 | + validate_addr${IP6} $DEST_IP |
---|
| 24 | + read -r DST_MIN DST_MAX <<< $(parse_addr${IP6} $DEST_IP) |
---|
| 25 | +fi |
---|
| 26 | +if [ -n "$DST_PORT" ]; then |
---|
| 27 | + read -r UDP_DST_MIN UDP_DST_MAX <<< $(parse_ports $DST_PORT) |
---|
| 28 | + validate_ports $UDP_DST_MIN $UDP_DST_MAX |
---|
| 29 | +fi |
---|
20 | 30 | |
---|
21 | 31 | # NOTICE: Script specific settings |
---|
22 | 32 | # ======= |
---|
.. | .. |
---|
32 | 42 | if [[ -n "$BURST" ]]; then |
---|
33 | 43 | err 1 "Bursting not supported for this mode" |
---|
34 | 44 | fi |
---|
| 45 | + |
---|
| 46 | +# 198.18.0.0 / 198.19.255.255 |
---|
| 47 | +read -r SRC_MIN SRC_MAX <<< $(parse_addr 198.18.0.0/15) |
---|
35 | 48 | |
---|
36 | 49 | # General cleanup everything since last run |
---|
37 | 50 | pg_ctrl "reset" |
---|
.. | .. |
---|
54 | 67 | |
---|
55 | 68 | # Single destination |
---|
56 | 69 | pg_set $dev "dst_mac $DST_MAC" |
---|
57 | | - pg_set $dev "dst $DEST_IP" |
---|
| 70 | + pg_set $dev "dst${IP6}_min $DST_MIN" |
---|
| 71 | + pg_set $dev "dst${IP6}_max $DST_MAX" |
---|
| 72 | + |
---|
| 73 | + if [ -n "$DST_PORT" ]; then |
---|
| 74 | + # Single destination port or random port range |
---|
| 75 | + pg_set $dev "flag UDPDST_RND" |
---|
| 76 | + pg_set $dev "udp_dst_min $UDP_DST_MIN" |
---|
| 77 | + pg_set $dev "udp_dst_max $UDP_DST_MAX" |
---|
| 78 | + fi |
---|
58 | 79 | |
---|
59 | 80 | # Randomize source IP-addresses |
---|
60 | 81 | pg_set $dev "flag IPSRC_RND" |
---|
61 | | - pg_set $dev "src_min 198.18.0.0" |
---|
62 | | - pg_set $dev "src_max 198.19.255.255" |
---|
| 82 | + pg_set $dev "src_min $SRC_MIN" |
---|
| 83 | + pg_set $dev "src_max $SRC_MAX" |
---|
63 | 84 | |
---|
64 | 85 | # Limit number of flows (max 65535) |
---|
65 | 86 | pg_set $dev "flows $FLOWS" |
---|