summaryrefslogtreecommitdiff
path: root/samples/pktgen
diff options
context:
space:
mode:
authorDaniel T. Lee <danieltimlee@gmail.com>2019-06-29 22:33:57 +0900
committerDavid S. Miller <davem@davemloft.net>2019-07-01 11:02:20 -0700
commit226b96c25d84ab32abeb6a000166a755db3ebfa9 (patch)
treef5f2a568f6d3899e0d622b166777743e46e8f9ea /samples/pktgen
parenta346abe051bd2bd0d5d0140b2da9ec95639acad7 (diff)
downloadlwn-226b96c25d84ab32abeb6a000166a755db3ebfa9.tar.gz
lwn-226b96c25d84ab32abeb6a000166a755db3ebfa9.zip
samples: pktgen: add some helper functions for port parsing
This commit adds port parsing and port validate helper function to parse single or range of port(s) from a given string. (e.g. 1234, 443-444) Helpers will be used in prior to set target port(s) in samples/pktgen. Signed-off-by: Daniel T. Lee <danieltimlee@gmail.com> Acked-by: Jesper Dangaard Brouer <brouer@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'samples/pktgen')
-rw-r--r--samples/pktgen/functions.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/samples/pktgen/functions.sh b/samples/pktgen/functions.sh
index f8bb3cd0f4ce..4af4046d71be 100644
--- a/samples/pktgen/functions.sh
+++ b/samples/pktgen/functions.sh
@@ -162,3 +162,37 @@ function get_node_cpus()
echo $node_cpu_list
}
+
+# Given a single or range of port(s), return minimum and maximum port number.
+function parse_ports()
+{
+ local port_str=$1
+ local port_list
+ local min_port
+ local max_port
+
+ IFS="-" read -ra port_list <<< $port_str
+
+ min_port=${port_list[0]}
+ max_port=${port_list[1]:-$min_port}
+
+ echo $min_port $max_port
+}
+
+# Given a minimum and maximum port, verify port number.
+function validate_ports()
+{
+ local min_port=$1
+ local max_port=$2
+
+ # 0 < port < 65536
+ if [[ $min_port -gt 0 && $min_port -lt 65536 ]]; then
+ if [[ $max_port -gt 0 && $max_port -lt 65536 ]]; then
+ if [[ $min_port -le $max_port ]]; then
+ return 0
+ fi
+ fi
+ fi
+
+ err 5 "Invalid port(s): $min_port-$max_port"
+}