You've already forked linux-rockchip
mirror of
https://github.com/armbian/linux-rockchip.git
synced 2026-01-06 11:08:10 -08:00
selftests: mptcp: add inq test case
client & server use a unix socket connection to communicate outside of the mptcp connection. This allows the consumer to know in advance how many bytes have been (or will be) sent by the peer. This allows stricter checks on the bytecounts reported by TCP_INQ cmsg. Suggested-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
644807e3e4
commit
b51880568f
1
tools/testing/selftests/net/mptcp/.gitignore
vendored
1
tools/testing/selftests/net/mptcp/.gitignore
vendored
@@ -1,5 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
mptcp_connect
|
||||
mptcp_inq
|
||||
mptcp_sockopt
|
||||
pm_nl_ctl
|
||||
*.pcap
|
||||
|
||||
@@ -8,7 +8,7 @@ CFLAGS = -Wall -Wl,--no-as-needed -O2 -g -I$(top_srcdir)/usr/include
|
||||
TEST_PROGS := mptcp_connect.sh pm_netlink.sh mptcp_join.sh diag.sh \
|
||||
simult_flows.sh mptcp_sockopt.sh
|
||||
|
||||
TEST_GEN_FILES = mptcp_connect pm_nl_ctl mptcp_sockopt
|
||||
TEST_GEN_FILES = mptcp_connect pm_nl_ctl mptcp_sockopt mptcp_inq
|
||||
|
||||
TEST_FILES := settings
|
||||
|
||||
|
||||
603
tools/testing/selftests/net/mptcp/mptcp_inq.c
Normal file
603
tools/testing/selftests/net/mptcp/mptcp_inq.c
Normal file
File diff suppressed because it is too large
Load Diff
@@ -279,6 +279,45 @@ run_tests()
|
||||
fi
|
||||
}
|
||||
|
||||
do_tcpinq_test()
|
||||
{
|
||||
ip netns exec "$ns1" ./mptcp_inq "$@"
|
||||
lret=$?
|
||||
if [ $lret -ne 0 ];then
|
||||
ret=$lret
|
||||
echo "FAIL: mptcp_inq $@" 1>&2
|
||||
return $lret
|
||||
fi
|
||||
|
||||
echo "PASS: TCP_INQ cmsg/ioctl $@"
|
||||
return $lret
|
||||
}
|
||||
|
||||
do_tcpinq_tests()
|
||||
{
|
||||
local lret=0
|
||||
|
||||
ip netns exec "$ns1" iptables -F
|
||||
ip netns exec "$ns1" ip6tables -F
|
||||
|
||||
for args in "-t tcp" "-r tcp"; do
|
||||
do_tcpinq_test $args
|
||||
lret=$?
|
||||
if [ $lret -ne 0 ] ; then
|
||||
return $lret
|
||||
fi
|
||||
do_tcpinq_test -6 $args
|
||||
lret=$?
|
||||
if [ $lret -ne 0 ] ; then
|
||||
return $lret
|
||||
fi
|
||||
done
|
||||
|
||||
do_tcpinq_test -r tcp -t tcp
|
||||
|
||||
return $?
|
||||
}
|
||||
|
||||
sin=$(mktemp)
|
||||
sout=$(mktemp)
|
||||
cin=$(mktemp)
|
||||
@@ -300,4 +339,5 @@ if [ $ret -eq 0 ];then
|
||||
echo "PASS: SOL_MPTCP getsockopt has expected information"
|
||||
fi
|
||||
|
||||
do_tcpinq_tests
|
||||
exit $ret
|
||||
|
||||
Reference in New Issue
Block a user