]> git.baikalelectronics.ru Git - kernel.git/commitdiff
selftests: net: tsn_lib: allow multiple isochron receivers
authorVladimir Oltean <vladimir.oltean@nxp.com>
Fri, 23 Sep 2022 21:00:14 +0000 (00:00 +0300)
committerJakub Kicinski <kuba@kernel.org>
Mon, 26 Sep 2022 20:22:00 +0000 (13:22 -0700)
Move the PID variable for the isochron receiver into a separate
namespace per stats port, to allow multiple receivers (and/or
orchestration daemons) to be instantiated by the same script.

Preserve the existing behavior by making isochron_do() use the default
stats TCP port of 5000.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Kurt Kanzenbach <kurt@linutronix.de>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/forwarding/tsn_lib.sh

index ace9c4f068053eec1da82e696d90729ac55555a0..20c2b411ba36b9185da1839f147d05c882f20eeb 100644 (file)
@@ -147,7 +147,9 @@ isochron_recv_start()
 {
        local if_name=$1
        local uds=$2
-       local extra_args=$3
+       local stats_port=$3
+       local extra_args=$4
+       local pid="isochron_pid_${stats_port}"
 
        if ! [ -z "${uds}" ]; then
                extra_args="${extra_args} --unix-domain-socket ${uds}"
@@ -158,16 +160,20 @@ isochron_recv_start()
                --sched-priority 98 \
                --sched-fifo \
                --utc-tai-offset ${UTC_TAI_OFFSET} \
+               --stats-port ${stats_port} \
                --quiet \
                ${extra_args} & \
-       isochron_pid=$!
+       declare -g "${pid}=$!"
 
        sleep 1
 }
 
 isochron_recv_stop()
 {
-       { kill ${isochron_pid} && wait ${isochron_pid}; } 2> /dev/null
+       local stats_port=$1
+       local pid="isochron_pid_${stats_port}"
+
+       { kill ${!pid} && wait ${!pid}; } 2> /dev/null
 }
 
 isochron_do()
@@ -219,7 +225,7 @@ isochron_do()
 
        cpufreq_max ${ISOCHRON_CPU}
 
-       isochron_recv_start "${h2}" "${receiver_uds}" "${receiver_extra_args}"
+       isochron_recv_start "${h2}" "${receiver_uds}" 5000 "${receiver_extra_args}"
 
        isochron send \
                --interface ${sender_if_name} \
@@ -240,7 +246,7 @@ isochron_do()
                ${extra_args} \
                --quiet
 
-       isochron_recv_stop
+       isochron_recv_stop 5000
 
        cpufreq_restore ${ISOCHRON_CPU}
 }