selftests: net: local_termination: annotate the expected failures
authorJakub Kicinski <kuba@kernel.org>
Thu, 16 May 2024 15:25:13 +0000 (08:25 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 17 May 2024 19:26:35 +0000 (12:26 -0700)
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.

Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Hangbin Liu <liuhangbin@gmail.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Link: https://lore.kernel.org/r/20240516152513.1115270-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/forwarding/local_termination.sh

index c5b0cbc85b3e0b34afbdcb461ec822f0728c261c..4b364cdf3ef0cfe25388485297d46a7152ccbfaf 100755 (executable)
@@ -155,25 +155,30 @@ run_test()
                "$smac > $MACVLAN_ADDR, ethertype IPv4 (0x0800)" \
                true
 
-       check_rcv $rcv_if_name "Unicast IPv4 to unknown MAC address" \
-               "$smac > $UNKNOWN_UC_ADDR1, ethertype IPv4 (0x0800)" \
-               false
+       xfail_on_veth $h1 \
+               check_rcv $rcv_if_name "Unicast IPv4 to unknown MAC address" \
+                       "$smac > $UNKNOWN_UC_ADDR1, ethertype IPv4 (0x0800)" \
+                       false
 
        check_rcv $rcv_if_name "Unicast IPv4 to unknown MAC address, promisc" \
                "$smac > $UNKNOWN_UC_ADDR2, ethertype IPv4 (0x0800)" \
                true
 
-       check_rcv $rcv_if_name "Unicast IPv4 to unknown MAC address, allmulti" \
-               "$smac > $UNKNOWN_UC_ADDR3, ethertype IPv4 (0x0800)" \
-               false
+       xfail_on_veth $h1 \
+               check_rcv $rcv_if_name \
+                       "Unicast IPv4 to unknown MAC address, allmulti" \
+                       "$smac > $UNKNOWN_UC_ADDR3, ethertype IPv4 (0x0800)" \
+                       false
 
        check_rcv $rcv_if_name "Multicast IPv4 to joined group" \
                "$smac > $JOINED_MACV4_MC_ADDR, ethertype IPv4 (0x0800)" \
                true
 
-       check_rcv $rcv_if_name "Multicast IPv4 to unknown group" \
-               "$smac > $UNKNOWN_MACV4_MC_ADDR1, ethertype IPv4 (0x0800)" \
-               false
+       xfail_on_veth $h1 \
+               check_rcv $rcv_if_name \
+                       "Multicast IPv4 to unknown group" \
+                       "$smac > $UNKNOWN_MACV4_MC_ADDR1, ethertype IPv4 (0x0800)" \
+                       false
 
        check_rcv $rcv_if_name "Multicast IPv4 to unknown group, promisc" \
                "$smac > $UNKNOWN_MACV4_MC_ADDR2, ethertype IPv4 (0x0800)" \
@@ -187,9 +192,10 @@ run_test()
                "$smac > $JOINED_MACV6_MC_ADDR, ethertype IPv6 (0x86dd)" \
                true
 
-       check_rcv $rcv_if_name "Multicast IPv6 to unknown group" \
-               "$smac > $UNKNOWN_MACV6_MC_ADDR1, ethertype IPv6 (0x86dd)" \
-               false
+       xfail_on_veth $h1 \
+               check_rcv $rcv_if_name "Multicast IPv6 to unknown group" \
+                       "$smac > $UNKNOWN_MACV6_MC_ADDR1, ethertype IPv6 (0x86dd)" \
+                       false
 
        check_rcv $rcv_if_name "Multicast IPv6 to unknown group, promisc" \
                "$smac > $UNKNOWN_MACV6_MC_ADDR2, ethertype IPv6 (0x86dd)" \