mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
selftests: mptcp: add wrapper for setting flags
This patch implemented a new function named pm_nl_set_endpoint(), wrapped the PM netlink commands 'ip mptcp endpoint change flags' and 'pm_nl_ctl set flags' in it, and used a new argument 'ip_mptcp' to choose which one to use to set the flags of the PM endpoint. 'ip mptcp' used the ID number argument to find out the address to change flags, while 'pm_nl_ctl' used the address and port number arguments. So we need to parse the address ID from the PM dump output as well as the address and port number. Used this wrapper in do_transfer() instead of using the pm_nl_ctl command directly. Signed-off-by: Geliang Tang <geliang.tang@suse.com> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
dda61b3dbe
commit
f014038625
1 changed files with 21 additions and 3 deletions
|
@ -376,6 +376,22 @@ pm_nl_show_endpoints()
|
|||
fi
|
||||
}
|
||||
|
||||
pm_nl_change_endpoint()
|
||||
{
|
||||
local ns=$1
|
||||
local flags=$2
|
||||
local id=$3
|
||||
local addr=$4
|
||||
local port=""
|
||||
|
||||
if [ $ip_mptcp -eq 1 ]; then
|
||||
ip -n $ns mptcp endpoint change id $id ${flags//","/" "}
|
||||
else
|
||||
if [ $5 -ne 0 ]; then port="port $5"; fi
|
||||
ip netns exec $ns ./pm_nl_ctl set $addr flags $flags $port
|
||||
fi
|
||||
}
|
||||
|
||||
do_transfer()
|
||||
{
|
||||
listener_ns="$1"
|
||||
|
@ -577,7 +593,7 @@ do_transfer()
|
|||
local arr=($line)
|
||||
local addr
|
||||
local port=0
|
||||
local _port=""
|
||||
local id
|
||||
|
||||
for i in ${arr[@]}; do
|
||||
if is_addr $i; then
|
||||
|
@ -586,11 +602,13 @@ do_transfer()
|
|||
# The minimum expected port number is 10000
|
||||
if [ $i -gt 10000 ]; then
|
||||
port=$i
|
||||
# The maximum id number is 255
|
||||
elif [ $i -lt 255 ]; then
|
||||
id=$i
|
||||
fi
|
||||
fi
|
||||
done
|
||||
if [ $port -ne 0 ]; then _port="port $port"; fi
|
||||
ip netns exec $netns ./pm_nl_ctl set $addr flags $sflags $_port
|
||||
pm_nl_change_endpoint $netns $sflags $id $addr $port
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
|
Loading…
Add table
Reference in a new issue