From: Jakub Kicinski <kuba@kernel.org>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com,
Jakub Kicinski <kuba@kernel.org>,
vladimir.oltean@nxp.com, shuah@kernel.org, petrm@nvidia.com,
liuhangbin@gmail.com, bpoirier@nvidia.com,
linux-kselftest@vger.kernel.org
Subject: [PATCH net-next] selftests: net: local_termination: annotate the expected failures
Date: Thu, 9 May 2024 16:55:53 -0700 [thread overview]
Message-ID: <20240509235553.5740-1-kuba@kernel.org> (raw)
Vladimir said when adding this test:
The bridge driver fares particularly badly [...] mainly because
it does not implement IFF_UNICAST_FLT.
See commit 90b9566aa5cd ("selftests: forwarding: add a test for
local_termination.sh").
We don't want to hide the known gaps, but having a test which
always fails prevents us from catching regressions. Report
the cases we know may fail as XFAIL.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
CC: vladimir.oltean@nxp.com
CC: shuah@kernel.org
CC: petrm@nvidia.com
CC: liuhangbin@gmail.com
CC: bpoirier@nvidia.com
CC: linux-kselftest@vger.kernel.org
---
tools/testing/selftests/net/forwarding/lib.sh | 9 ++++++++
.../net/forwarding/local_termination.sh | 21 ++++++++++++++-----
2 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh
index 3353a1745946..4fe28ab5d8b9 100644
--- a/tools/testing/selftests/net/forwarding/lib.sh
+++ b/tools/testing/selftests/net/forwarding/lib.sh
@@ -605,6 +605,15 @@ log_test_xfail()
RET=$ksft_xfail retmsg= log_test "$@"
}
+log_test_xfail()
+{
+ local test_name=$1
+ local opt_str=$2
+
+ printf "TEST: %-60s [XFAIL]\n" "$test_name $opt_str"
+ return 0
+}
+
log_info()
{
local msg=$1
diff --git a/tools/testing/selftests/net/forwarding/local_termination.sh b/tools/testing/selftests/net/forwarding/local_termination.sh
index c5b0cbc85b3e..4bba9c78db3e 100755
--- a/tools/testing/selftests/net/forwarding/local_termination.sh
+++ b/tools/testing/selftests/net/forwarding/local_termination.sh
@@ -73,6 +73,10 @@ check_rcv()
local pattern=$3
local should_receive=$4
local should_fail=
+ local xfail_sw=$5
+
+ local kind=$(ip -j -d link show dev $if_name |
+ jq -r '.[].linkinfo.info_kind')
[ $should_receive = true ] && should_fail=0 || should_fail=1
RET=0
@@ -81,7 +85,14 @@ check_rcv()
check_err_fail "$should_fail" "$?" "reception"
- log_test "$if_name: $type"
+ # If not a SW interface, ignore the XFAIL allowance
+ [ "$kind" != veth ] && [ "$kind" != bridge ] && xfail_sw=
+
+ if [ $RET -ne 0 ] && [ "$xfail_sw" == true ]; then
+ log_test_xfail "$if_name: $type"
+ else
+ log_test "$if_name: $type"
+ fi
}
mc_route_prepare()
@@ -157,7 +168,7 @@ run_test()
check_rcv $rcv_if_name "Unicast IPv4 to unknown MAC address" \
"$smac > $UNKNOWN_UC_ADDR1, ethertype IPv4 (0x0800)" \
- false
+ false true
check_rcv $rcv_if_name "Unicast IPv4 to unknown MAC address, promisc" \
"$smac > $UNKNOWN_UC_ADDR2, ethertype IPv4 (0x0800)" \
@@ -165,7 +176,7 @@ run_test()
check_rcv $rcv_if_name "Unicast IPv4 to unknown MAC address, allmulti" \
"$smac > $UNKNOWN_UC_ADDR3, ethertype IPv4 (0x0800)" \
- false
+ false true
check_rcv $rcv_if_name "Multicast IPv4 to joined group" \
"$smac > $JOINED_MACV4_MC_ADDR, ethertype IPv4 (0x0800)" \
@@ -173,7 +184,7 @@ run_test()
check_rcv $rcv_if_name "Multicast IPv4 to unknown group" \
"$smac > $UNKNOWN_MACV4_MC_ADDR1, ethertype IPv4 (0x0800)" \
- false
+ false true
check_rcv $rcv_if_name "Multicast IPv4 to unknown group, promisc" \
"$smac > $UNKNOWN_MACV4_MC_ADDR2, ethertype IPv4 (0x0800)" \
@@ -189,7 +200,7 @@ run_test()
check_rcv $rcv_if_name "Multicast IPv6 to unknown group" \
"$smac > $UNKNOWN_MACV6_MC_ADDR1, ethertype IPv6 (0x86dd)" \
- false
+ false true
check_rcv $rcv_if_name "Multicast IPv6 to unknown group, promisc" \
"$smac > $UNKNOWN_MACV6_MC_ADDR2, ethertype IPv6 (0x86dd)" \
--
2.45.0
next reply other threads:[~2024-05-09 23:55 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-09 23:55 Jakub Kicinski [this message]
2024-05-10 3:15 ` [PATCH net-next] selftests: net: local_termination: annotate the expected failures Hangbin Liu
2024-05-10 3:47 ` Jakub Kicinski
2024-05-10 10:58 ` Vladimir Oltean
2024-05-13 13:25 ` Petr Machata
2024-05-15 0:43 ` Jakub Kicinski
2024-05-15 9:02 ` Petr Machata
2024-05-15 23:21 ` Jakub Kicinski
2024-05-16 8:42 ` Petr Machata
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240509235553.5740-1-kuba@kernel.org \
--to=kuba@kernel.org \
--cc=bpoirier@nvidia.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=linux-kselftest@vger.kernel.org \
--cc=liuhangbin@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=petrm@nvidia.com \
--cc=shuah@kernel.org \
--cc=vladimir.oltean@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.