mirror of
https://github.com/torvalds/linux.git
synced 2024-12-31 23:31:29 +00:00
selftests/mptcp: add diag listen tests
Check dumping of mptcp listener sockets: 1. filter by dport should not return any results 2. filter by sport should return listen sk 3. filter by saddr+sport should return listen sk 4. no filter should return listen sk Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4fa39b701c
commit
f2ae0fa68e
@ -71,6 +71,43 @@ chk_msk_remote_key_nr()
|
||||
__chk_nr "grep -c remote_key" $*
|
||||
}
|
||||
|
||||
__chk_listen()
|
||||
{
|
||||
local filter="$1"
|
||||
local expected=$2
|
||||
|
||||
shift 2
|
||||
msg=$*
|
||||
|
||||
nr=$(ss -N $ns -Ml "$filter" | grep -c LISTEN)
|
||||
printf "%-50s" "$msg"
|
||||
|
||||
if [ $nr != $expected ]; then
|
||||
echo "[ fail ] expected $expected found $nr"
|
||||
ret=$test_cnt
|
||||
else
|
||||
echo "[ ok ]"
|
||||
fi
|
||||
}
|
||||
|
||||
chk_msk_listen()
|
||||
{
|
||||
lport=$1
|
||||
local msg="check for listen socket"
|
||||
|
||||
# destination port search should always return empty list
|
||||
__chk_listen "dport $lport" 0 "listen match for dport $lport"
|
||||
|
||||
# should return 'our' mptcp listen socket
|
||||
__chk_listen "sport $lport" 1 "listen match for sport $lport"
|
||||
|
||||
__chk_listen "src inet:0.0.0.0:$lport" 1 "listen match for saddr and sport"
|
||||
|
||||
__chk_listen "" 1 "all listen sockets"
|
||||
|
||||
nr=$(ss -Ml $filter | wc -l)
|
||||
}
|
||||
|
||||
# $1: ns, $2: port
|
||||
wait_local_port_listen()
|
||||
{
|
||||
@ -113,6 +150,7 @@ echo "a" | \
|
||||
0.0.0.0 >/dev/null &
|
||||
wait_local_port_listen $ns 10000
|
||||
chk_msk_nr 0 "no msk on netns creation"
|
||||
chk_msk_listen 10000
|
||||
|
||||
echo "b" | \
|
||||
timeout ${timeout_test} \
|
||||
|
Loading…
Reference in New Issue
Block a user