samples: pktgen: add some helper functions for port parsing
authorDaniel T. Lee <danieltimlee@gmail.com>
Sat, 29 Jun 2019 13:33:57 +0000 (22:33 +0900)
committerDavid S. Miller <davem@davemloft.net>
Mon, 1 Jul 2019 18:02:20 +0000 (11:02 -0700)
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>
samples/pktgen/functions.sh

index f8bb3cd0f4ce6faf324515bd5168fcfcc6e20423..4af4046d71be4bb4527dd230c8d25a7d7d24be37 100644 (file)
@@ -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"
+}