| .. | .. |
|---|
| 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" |
|---|