hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/samples/pktgen/pktgen_sample04_many_flows.sh
....@@ -13,10 +13,20 @@
1313 # Parameter parsing via include
1414 source ${basedir}/parameters.sh
1515 # 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
1719 [ -z "$DST_MAC" ] && DST_MAC="90:e2:ba:ff:ff:ff"
1820 [ -z "$CLONE_SKB" ] && CLONE_SKB="0"
1921 [ -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
2030
2131 # NOTICE: Script specific settings
2232 # =======
....@@ -32,6 +42,9 @@
3242 if [[ -n "$BURST" ]]; then
3343 err 1 "Bursting not supported for this mode"
3444 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)
3548
3649 # General cleanup everything since last run
3750 pg_ctrl "reset"
....@@ -54,12 +67,20 @@
5467
5568 # Single destination
5669 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
5879
5980 # Randomize source IP-addresses
6081 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"
6384
6485 # Limit number of flows (max 65535)
6586 pg_set $dev "flows $FLOWS"