netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net v2 00/17] selftests: forwarding: Various fixes
@ 2023-08-08 14:14 Ido Schimmel
  2023-08-08 14:14 ` [PATCH net v2 01/17] selftests: forwarding: Skip test when no interfaces are specified Ido Schimmel
                   ` (19 more replies)
  0 siblings, 20 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:14 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel

Fix various problems with forwarding selftests. See individual patches
for problem description and solution.

v2:
* Patch #10: Probe for MAC Merge support.

Ido Schimmel (17):
  selftests: forwarding: Skip test when no interfaces are specified
  selftests: forwarding: Switch off timeout
  selftests: forwarding: bridge_mdb: Check iproute2 version
  selftests: forwarding: bridge_mdb_max: Check iproute2 version
  selftests: forwarding: Set default IPv6 traceroute utility
  selftests: forwarding: Add a helper to skip test when using veth pairs
  selftests: forwarding: ethtool: Skip when using veth pairs
  selftests: forwarding: ethtool_extended_state: Skip when using veth
    pairs
  selftests: forwarding: hw_stats_l3_gre: Skip when using veth pairs
  selftests: forwarding: ethtool_mm: Skip when MAC Merge is not
    supported
  selftests: forwarding: tc_actions: Use ncat instead of nc
  selftests: forwarding: tc_flower: Relax success criterion
  selftests: forwarding: tc_tunnel_key: Make filters more specific
  selftests: forwarding: tc_flower_l2_miss: Fix failing test with old
    libnet
  selftests: forwarding: bridge_mdb: Fix failing test with old libnet
  selftests: forwarding: bridge_mdb_max: Fix failing test with old
    libnet
  selftests: forwarding: bridge_mdb: Make test more robust

 .../selftests/net/forwarding/bridge_mdb.sh    | 59 +++++++++++--------
 .../net/forwarding/bridge_mdb_max.sh          | 19 ++++--
 .../selftests/net/forwarding/ethtool.sh       |  2 +
 .../net/forwarding/ethtool_extended_state.sh  |  2 +
 .../selftests/net/forwarding/ethtool_mm.sh    | 18 ++++--
 .../net/forwarding/hw_stats_l3_gre.sh         |  2 +
 .../net/forwarding/ip6_forward_instats_vrf.sh |  2 +
 tools/testing/selftests/net/forwarding/lib.sh | 17 ++++++
 .../testing/selftests/net/forwarding/settings |  1 +
 .../selftests/net/forwarding/tc_actions.sh    |  6 +-
 .../selftests/net/forwarding/tc_flower.sh     |  8 +--
 .../net/forwarding/tc_flower_l2_miss.sh       | 13 ++--
 .../selftests/net/forwarding/tc_tunnel_key.sh |  9 ++-
 13 files changed, 109 insertions(+), 49 deletions(-)
 create mode 100644 tools/testing/selftests/net/forwarding/settings

-- 
2.40.1


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH net v2 01/17] selftests: forwarding: Skip test when no interfaces are specified
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
@ 2023-08-08 14:14 ` Ido Schimmel
  2023-08-08 14:14 ` [PATCH net v2 02/17] selftests: forwarding: Switch off timeout Ido Schimmel
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:14 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel

As explained in [1], the forwarding selftests are meant to be run with
either physical loopbacks or veth pairs. The interfaces are expected to
be specified in a user-provided forwarding.config file or as command
line arguments. By default, this file is not present and the tests fail:

 # make -C tools/testing/selftests TARGETS=net/forwarding run_tests
 [...]
 TAP version 13
 1..102
 # timeout set to 45
 # selftests: net/forwarding: bridge_igmp.sh
 # Command line is not complete. Try option "help"
 # Failed to create netif
 not ok 1 selftests: net/forwarding: bridge_igmp.sh # exit=1
 [...]

Fix by skipping a test if interfaces are not provided either via the
configuration file or command line arguments.

 # make -C tools/testing/selftests TARGETS=net/forwarding run_tests
 [...]
 TAP version 13
 1..102
 # timeout set to 45
 # selftests: net/forwarding: bridge_igmp.sh
 # SKIP: Cannot create interface. Name not specified
 ok 1 selftests: net/forwarding: bridge_igmp.sh # SKIP

[1] tools/testing/selftests/net/forwarding/README

Fixes: 81573b18f26d ("selftests/net/forwarding: add Makefile to install tests")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/856d454e-f83c-20cf-e166-6dc06cbc1543@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
 tools/testing/selftests/net/forwarding/lib.sh | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh
index 9ddb68dd6a08..975fc5168c63 100755
--- a/tools/testing/selftests/net/forwarding/lib.sh
+++ b/tools/testing/selftests/net/forwarding/lib.sh
@@ -225,6 +225,11 @@ create_netif_veth()
 	for ((i = 1; i <= NUM_NETIFS; ++i)); do
 		local j=$((i+1))
 
+		if [ -z ${NETIFS[p$i]} ]; then
+			echo "SKIP: Cannot create interface. Name not specified"
+			exit $ksft_skip
+		fi
+
 		ip link show dev ${NETIFS[p$i]} &> /dev/null
 		if [[ $? -ne 0 ]]; then
 			ip link add ${NETIFS[p$i]} type veth \
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 02/17] selftests: forwarding: Switch off timeout
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
  2023-08-08 14:14 ` [PATCH net v2 01/17] selftests: forwarding: Skip test when no interfaces are specified Ido Schimmel
@ 2023-08-08 14:14 ` Ido Schimmel
  2023-08-08 14:14 ` [PATCH net v2 03/17] selftests: forwarding: bridge_mdb: Check iproute2 version Ido Schimmel
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:14 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel

The default timeout for selftests is 45 seconds, but it is not enough
for forwarding selftests which can takes minutes to finish depending on
the number of tests cases:

 # make -C tools/testing/selftests TARGETS=net/forwarding run_tests
 TAP version 13
 1..102
 # timeout set to 45
 # selftests: net/forwarding: bridge_igmp.sh
 # TEST: IGMPv2 report 239.10.10.10                                    [ OK ]
 # TEST: IGMPv2 leave 239.10.10.10                                     [ OK ]
 # TEST: IGMPv3 report 239.10.10.10 is_include                         [ OK ]
 # TEST: IGMPv3 report 239.10.10.10 include -> allow                   [ OK ]
 #
 not ok 1 selftests: net/forwarding: bridge_igmp.sh # TIMEOUT 45 seconds

Fix by switching off the timeout and setting it to 0. A similar change
was done for BPF selftests in commit 6fc5916cc256 ("selftests: bpf:
Switch off timeout").

Fixes: 81573b18f26d ("selftests/net/forwarding: add Makefile to install tests")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/8d149f8c-818e-d141-a0ce-a6bae606bc22@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
 tools/testing/selftests/net/forwarding/settings | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 tools/testing/selftests/net/forwarding/settings

diff --git a/tools/testing/selftests/net/forwarding/settings b/tools/testing/selftests/net/forwarding/settings
new file mode 100644
index 000000000000..e7b9417537fb
--- /dev/null
+++ b/tools/testing/selftests/net/forwarding/settings
@@ -0,0 +1 @@
+timeout=0
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 03/17] selftests: forwarding: bridge_mdb: Check iproute2 version
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
  2023-08-08 14:14 ` [PATCH net v2 01/17] selftests: forwarding: Skip test when no interfaces are specified Ido Schimmel
  2023-08-08 14:14 ` [PATCH net v2 02/17] selftests: forwarding: Switch off timeout Ido Schimmel
@ 2023-08-08 14:14 ` Ido Schimmel
  2023-08-08 14:14 ` [PATCH net v2 04/17] selftests: forwarding: bridge_mdb_max: " Ido Schimmel
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:14 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel

The selftest relies on iproute2 changes present in version 6.3, but the
test does not check for it, resulting in error:

 # ./bridge_mdb.sh

 INFO: # Host entries configuration tests
 TEST: Common host entries configuration tests (IPv4)                [FAIL]
         Managed to add IPv4 host entry with a filter mode
 TEST: Common host entries configuration tests (IPv6)                [FAIL]
         Managed to add IPv6 host entry with a filter mode
 TEST: Common host entries configuration tests (L2)                  [FAIL]
         Managed to add L2 host entry with a filter mode

 INFO: # Port group entries configuration tests - (*, G)
 Command "replace" is unknown, try "bridge mdb help".
 [...]

Fix by skipping the test if iproute2 is too old.

Fixes: b6d00da08610 ("selftests: forwarding: Add bridge MDB test")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/6b04b2ba-2372-6f6b-3ac8-b7cba1cfae83@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
 tools/testing/selftests/net/forwarding/bridge_mdb.sh | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/testing/selftests/net/forwarding/bridge_mdb.sh b/tools/testing/selftests/net/forwarding/bridge_mdb.sh
index ae3f9462a2b6..6f830b5f03c9 100755
--- a/tools/testing/selftests/net/forwarding/bridge_mdb.sh
+++ b/tools/testing/selftests/net/forwarding/bridge_mdb.sh
@@ -1206,6 +1206,11 @@ ctrl_test()
 	ctrl_mldv2_is_in_test
 }
 
+if ! bridge mdb help 2>&1 | grep -q "replace"; then
+	echo "SKIP: iproute2 too old, missing bridge mdb replace support"
+	exit $ksft_skip
+fi
+
 trap cleanup EXIT
 
 setup_prepare
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 04/17] selftests: forwarding: bridge_mdb_max: Check iproute2 version
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (2 preceding siblings ...)
  2023-08-08 14:14 ` [PATCH net v2 03/17] selftests: forwarding: bridge_mdb: Check iproute2 version Ido Schimmel
@ 2023-08-08 14:14 ` Ido Schimmel
  2023-08-08 14:14 ` [PATCH net v2 05/17] selftests: forwarding: Set default IPv6 traceroute utility Ido Schimmel
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:14 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel

The selftest relies on iproute2 changes present in version 6.3, but the
test does not check for it, resulting in errors:

 # ./bridge_mdb_max.sh
  INFO: 802.1d tests
  TEST: cfg4: port: ngroups reporting                                 [FAIL]
          Number of groups was null, now is null, but 5 expected
  TEST: ctl4: port: ngroups reporting                                 [FAIL]
          Number of groups was null, now is null, but 5 expected
  TEST: cfg6: port: ngroups reporting                                 [FAIL]
          Number of groups was null, now is null, but 5 expected
  [...]

Fix by skipping the test if iproute2 is too old.

Fixes: 3446dcd7df05 ("selftests: forwarding: bridge_mdb_max: Add a new selftest")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/6b04b2ba-2372-6f6b-3ac8-b7cba1cfae83@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
 tools/testing/selftests/net/forwarding/bridge_mdb_max.sh | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/testing/selftests/net/forwarding/bridge_mdb_max.sh b/tools/testing/selftests/net/forwarding/bridge_mdb_max.sh
index ae255b662ba3..fa762b716288 100755
--- a/tools/testing/selftests/net/forwarding/bridge_mdb_max.sh
+++ b/tools/testing/selftests/net/forwarding/bridge_mdb_max.sh
@@ -1328,6 +1328,11 @@ test_8021qvs()
 	switch_destroy
 }
 
+if ! bridge link help 2>&1 | grep -q "mcast_max_groups"; then
+	echo "SKIP: iproute2 too old, missing bridge \"mcast_max_groups\" support"
+	exit $ksft_skip
+fi
+
 trap cleanup EXIT
 
 setup_prepare
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 05/17] selftests: forwarding: Set default IPv6 traceroute utility
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (3 preceding siblings ...)
  2023-08-08 14:14 ` [PATCH net v2 04/17] selftests: forwarding: bridge_mdb_max: " Ido Schimmel
@ 2023-08-08 14:14 ` Ido Schimmel
  2023-08-08 14:14 ` [PATCH net v2 06/17] selftests: forwarding: Add a helper to skip test when using veth pairs Ido Schimmel
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:14 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel, ssuryaextr

The test uses the 'TROUTE6' environment variable to encode the name of
the IPv6 traceroute utility. By default (without a configuration file),
this variable is not set, resulting in failures:

 # ./ip6_forward_instats_vrf.sh
 TEST: ping6                                                         [ OK ]
 TEST: Ip6InTooBigErrors                                             [ OK ]
 TEST: Ip6InHdrErrors                                                [FAIL]
 TEST: Ip6InAddrErrors                                               [ OK ]
 TEST: Ip6InDiscards                                                 [ OK ]

Fix by setting a default utility name and skip the test if the utility
is not present.

Fixes: 0857d6f8c759 ("ipv6: When forwarding count rx stats on the orig netdev")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
Cc: ssuryaextr@gmail.com
---
 .../testing/selftests/net/forwarding/ip6_forward_instats_vrf.sh | 2 ++
 tools/testing/selftests/net/forwarding/lib.sh                   | 1 +
 2 files changed, 3 insertions(+)

diff --git a/tools/testing/selftests/net/forwarding/ip6_forward_instats_vrf.sh b/tools/testing/selftests/net/forwarding/ip6_forward_instats_vrf.sh
index 9f5b3e2e5e95..49fa94b53a1c 100755
--- a/tools/testing/selftests/net/forwarding/ip6_forward_instats_vrf.sh
+++ b/tools/testing/selftests/net/forwarding/ip6_forward_instats_vrf.sh
@@ -14,6 +14,8 @@ ALL_TESTS="
 NUM_NETIFS=4
 source lib.sh
 
+require_command $TROUTE6
+
 h1_create()
 {
 	simple_if_init $h1 2001:1:1::2/64
diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh
index 975fc5168c63..40a8c1541b7f 100755
--- a/tools/testing/selftests/net/forwarding/lib.sh
+++ b/tools/testing/selftests/net/forwarding/lib.sh
@@ -30,6 +30,7 @@ REQUIRE_MZ=${REQUIRE_MZ:=yes}
 REQUIRE_MTOOLS=${REQUIRE_MTOOLS:=no}
 STABLE_MAC_ADDRS=${STABLE_MAC_ADDRS:=no}
 TCPDUMP_EXTRA_FLAGS=${TCPDUMP_EXTRA_FLAGS:=}
+TROUTE6=${TROUTE6:=traceroute6}
 
 relative_path="${BASH_SOURCE%/*}"
 if [[ "$relative_path" == "${BASH_SOURCE}" ]]; then
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 06/17] selftests: forwarding: Add a helper to skip test when using veth pairs
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (4 preceding siblings ...)
  2023-08-08 14:14 ` [PATCH net v2 05/17] selftests: forwarding: Set default IPv6 traceroute utility Ido Schimmel
@ 2023-08-08 14:14 ` Ido Schimmel
  2023-08-09  1:55   ` Hangbin Liu
  2023-08-08 14:14 ` [PATCH net v2 07/17] selftests: forwarding: ethtool: Skip " Ido Schimmel
                   ` (13 subsequent siblings)
  19 siblings, 1 reply; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:14 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel

A handful of tests require physical loopbacks to be used instead of veth
pairs. Add a helper that these tests will invoke in order to be skipped
when executed with veth pairs.

Fixes: 64916b57c0b1 ("selftests: forwarding: Add speed and auto-negotiation test")
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
 tools/testing/selftests/net/forwarding/lib.sh | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh
index 40a8c1541b7f..f69015bf2dea 100755
--- a/tools/testing/selftests/net/forwarding/lib.sh
+++ b/tools/testing/selftests/net/forwarding/lib.sh
@@ -164,6 +164,17 @@ check_port_mab_support()
 	fi
 }
 
+skip_on_veth()
+{
+	local kind=$(ip -j -d link show dev ${NETIFS[p1]} |
+		jq -r '.[].linkinfo.info_kind')
+
+	if [[ $kind == veth ]]; then
+		echo "SKIP: Test cannot be run with veth pairs"
+		exit $ksft_skip
+	fi
+}
+
 if [[ "$(id -u)" -ne 0 ]]; then
 	echo "SKIP: need root privileges"
 	exit $ksft_skip
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 07/17] selftests: forwarding: ethtool: Skip when using veth pairs
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (5 preceding siblings ...)
  2023-08-08 14:14 ` [PATCH net v2 06/17] selftests: forwarding: Add a helper to skip test when using veth pairs Ido Schimmel
@ 2023-08-08 14:14 ` Ido Schimmel
  2023-08-08 14:14 ` [PATCH net v2 08/17] selftests: forwarding: ethtool_extended_state: " Ido Schimmel
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:14 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel

Auto-negotiation cannot be tested with veth pairs, resulting in
failures:

 # ./ethtool.sh
 TEST: force of same speed autoneg off                               [FAIL]
         error in configuration. swp1 speed Not autoneg off
 [...]

Fix by skipping the test when used with veth pairs.

Fixes: 64916b57c0b1 ("selftests: forwarding: Add speed and auto-negotiation test")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
 tools/testing/selftests/net/forwarding/ethtool.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/testing/selftests/net/forwarding/ethtool.sh b/tools/testing/selftests/net/forwarding/ethtool.sh
index dbb9fcf759e0..aa2eafb7b243 100755
--- a/tools/testing/selftests/net/forwarding/ethtool.sh
+++ b/tools/testing/selftests/net/forwarding/ethtool.sh
@@ -286,6 +286,8 @@ different_speeds_autoneg_on()
 	ethtool -s $h1 autoneg on
 }
 
+skip_on_veth
+
 trap cleanup EXIT
 
 setup_prepare
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 08/17] selftests: forwarding: ethtool_extended_state: Skip when using veth pairs
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (6 preceding siblings ...)
  2023-08-08 14:14 ` [PATCH net v2 07/17] selftests: forwarding: ethtool: Skip " Ido Schimmel
@ 2023-08-08 14:14 ` Ido Schimmel
  2023-08-08 14:14 ` [PATCH net v2 09/17] selftests: forwarding: hw_stats_l3_gre: " Ido Schimmel
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:14 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel

Ethtool extended state cannot be tested with veth pairs, resulting in
failures:

 # ./ethtool_extended_state.sh
 TEST: Autoneg, No partner detected                                  [FAIL]
         Expected "Autoneg", got "Link detected: no"
 [...]

Fix by skipping the test when used with veth pairs.

Fixes: 7d10bcce98cd ("selftests: forwarding: Add tests for ethtool extended state")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
 .../testing/selftests/net/forwarding/ethtool_extended_state.sh  | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/testing/selftests/net/forwarding/ethtool_extended_state.sh b/tools/testing/selftests/net/forwarding/ethtool_extended_state.sh
index 072faa77f53b..17f89c3b7c02 100755
--- a/tools/testing/selftests/net/forwarding/ethtool_extended_state.sh
+++ b/tools/testing/selftests/net/forwarding/ethtool_extended_state.sh
@@ -108,6 +108,8 @@ no_cable()
 	ip link set dev $swp3 down
 }
 
+skip_on_veth
+
 setup_prepare
 
 tests_run
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 09/17] selftests: forwarding: hw_stats_l3_gre: Skip when using veth pairs
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (7 preceding siblings ...)
  2023-08-08 14:14 ` [PATCH net v2 08/17] selftests: forwarding: ethtool_extended_state: " Ido Schimmel
@ 2023-08-08 14:14 ` Ido Schimmel
  2023-08-09  2:02   ` Hangbin Liu
  2023-08-08 14:14 ` [PATCH net v2 10/17] selftests: forwarding: ethtool_mm: Skip when MAC Merge is not supported Ido Schimmel
                   ` (10 subsequent siblings)
  19 siblings, 1 reply; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:14 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel

Layer 3 hardware stats cannot be used when the underlying interfaces are
veth pairs, resulting in failures:

 # ./hw_stats_l3_gre.sh
 TEST: ping gre flat                                                 [ OK ]
 TEST: Test rx packets:                                              [FAIL]
         Traffic not reflected in the counter: 0 -> 0
 TEST: Test tx packets:                                              [FAIL]
         Traffic not reflected in the counter: 0 -> 0

Fix by skipping the test when used with veth pairs.

Fixes: 813f97a26860 ("selftests: forwarding: Add a tunnel-based test for L3 HW stats")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
 tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh b/tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh
index eb9ec4a68f84..7594bbb49029 100755
--- a/tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh
+++ b/tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh
@@ -99,6 +99,8 @@ test_stats_rx()
 	test_stats g2a rx
 }
 
+skip_on_veth
+
 trap cleanup EXIT
 
 setup_prepare
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 10/17] selftests: forwarding: ethtool_mm: Skip when MAC Merge is not supported
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (8 preceding siblings ...)
  2023-08-08 14:14 ` [PATCH net v2 09/17] selftests: forwarding: hw_stats_l3_gre: " Ido Schimmel
@ 2023-08-08 14:14 ` Ido Schimmel
  2023-08-10 17:28   ` Vladimir Oltean
  2023-08-08 14:14 ` [PATCH net v2 11/17] selftests: forwarding: tc_actions: Use ncat instead of nc Ido Schimmel
                   ` (9 subsequent siblings)
  19 siblings, 1 reply; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:14 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel, vladimir.oltean

MAC Merge cannot be tested with veth pairs, resulting in failures:

 # ./ethtool_mm.sh
 [...]
 TEST: Manual configuration with verification: swp1 to swp2          [FAIL]
         Verification did not succeed

Fix by skipping the test when the interfaces do not support MAC Merge.

Fixes: e6991384ace5 ("selftests: forwarding: add a test for MAC Merge layer")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
---
Cc: vladimir.oltean@nxp.com
v2:
Probe for MAC Merge support.
---
 .../selftests/net/forwarding/ethtool_mm.sh     | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/net/forwarding/ethtool_mm.sh b/tools/testing/selftests/net/forwarding/ethtool_mm.sh
index c580ad623848..39e736f30322 100755
--- a/tools/testing/selftests/net/forwarding/ethtool_mm.sh
+++ b/tools/testing/selftests/net/forwarding/ethtool_mm.sh
@@ -258,11 +258,6 @@ h2_destroy()
 
 setup_prepare()
 {
-	check_ethtool_mm_support
-	check_tc_fp_support
-	require_command lldptool
-	bail_on_lldpad "autoconfigure the MAC Merge layer" "configure it manually"
-
 	h1=${NETIFS[p1]}
 	h2=${NETIFS[p2]}
 
@@ -278,6 +273,19 @@ cleanup()
 	h1_destroy
 }
 
+check_ethtool_mm_support
+check_tc_fp_support
+require_command lldptool
+bail_on_lldpad "autoconfigure the MAC Merge layer" "configure it manually"
+
+for netif in ${NETIFS[@]}; do
+	ethtool --show-mm $netif 2>&1 &> /dev/null
+	if [[ $? -ne 0 ]]; then
+		echo "SKIP: $netif does not support MAC Merge"
+		exit $ksft_skip
+	fi
+done
+
 trap cleanup EXIT
 
 setup_prepare
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 11/17] selftests: forwarding: tc_actions: Use ncat instead of nc
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (9 preceding siblings ...)
  2023-08-08 14:14 ` [PATCH net v2 10/17] selftests: forwarding: ethtool_mm: Skip when MAC Merge is not supported Ido Schimmel
@ 2023-08-08 14:14 ` Ido Schimmel
  2023-08-08 14:14 ` [PATCH net v2 12/17] selftests: forwarding: tc_flower: Relax success criterion Ido Schimmel
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:14 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel, dcaratti

The test relies on 'nc' being the netcat version from the nmap project.
While this seems to be the case on Fedora, it is not the case on Ubuntu,
resulting in failures such as [1].

Fix by explicitly using the 'ncat' utility from the nmap project and the
skip the test in case it is not installed.

[1]
 # timeout set to 0
 # selftests: net/forwarding: tc_actions.sh
 # TEST: gact drop and ok (skip_hw)                                    [ OK ]
 # TEST: mirred egress flower redirect (skip_hw)                       [ OK ]
 # TEST: mirred egress flower mirror (skip_hw)                         [ OK ]
 # TEST: mirred egress matchall mirror (skip_hw)                       [ OK ]
 # TEST: mirred_egress_to_ingress (skip_hw)                            [ OK ]
 # nc: invalid option -- '-'
 # usage: nc [-46CDdFhklNnrStUuvZz] [-I length] [-i interval] [-M ttl]
 #         [-m minttl] [-O length] [-P proxy_username] [-p source_port]
 #         [-q seconds] [-s sourceaddr] [-T keyword] [-V rtable] [-W recvlimit]
 #         [-w timeout] [-X proxy_protocol] [-x proxy_address[:port]]
 #         [destination] [port]
 # nc: invalid option -- '-'
 # usage: nc [-46CDdFhklNnrStUuvZz] [-I length] [-i interval] [-M ttl]
 #         [-m minttl] [-O length] [-P proxy_username] [-p source_port]
 #         [-q seconds] [-s sourceaddr] [-T keyword] [-V rtable] [-W recvlimit]
 #         [-w timeout] [-X proxy_protocol] [-x proxy_address[:port]]
 #         [destination] [port]
 # TEST: mirred_egress_to_ingress_tcp (skip_hw)                        [FAIL]
 #       server output check failed
 # INFO: Could not test offloaded functionality
 not ok 80 selftests: net/forwarding: tc_actions.sh # exit=1

Fixes: ca22da2fbd69 ("act_mirred: use the backlog for nested calls to mirred ingress")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
Cc: dcaratti@redhat.com
---
 tools/testing/selftests/net/forwarding/tc_actions.sh | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/net/forwarding/tc_actions.sh b/tools/testing/selftests/net/forwarding/tc_actions.sh
index a96cff8e7219..b0f5e55d2d0b 100755
--- a/tools/testing/selftests/net/forwarding/tc_actions.sh
+++ b/tools/testing/selftests/net/forwarding/tc_actions.sh
@@ -9,6 +9,8 @@ NUM_NETIFS=4
 source tc_common.sh
 source lib.sh
 
+require_command ncat
+
 tcflags="skip_hw"
 
 h1_create()
@@ -220,9 +222,9 @@ mirred_egress_to_ingress_tcp_test()
 		ip_proto icmp \
 			action drop
 
-	ip vrf exec v$h1 nc --recv-only -w10 -l -p 12345 -o $mirred_e2i_tf2  &
+	ip vrf exec v$h1 ncat --recv-only -w10 -l -p 12345 -o $mirred_e2i_tf2 &
 	local rpid=$!
-	ip vrf exec v$h1 nc -w1 --send-only 192.0.2.2 12345 <$mirred_e2i_tf1
+	ip vrf exec v$h1 ncat -w1 --send-only 192.0.2.2 12345 <$mirred_e2i_tf1
 	wait -n $rpid
 	cmp -s $mirred_e2i_tf1 $mirred_e2i_tf2
 	check_err $? "server output check failed"
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 12/17] selftests: forwarding: tc_flower: Relax success criterion
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (10 preceding siblings ...)
  2023-08-08 14:14 ` [PATCH net v2 11/17] selftests: forwarding: tc_actions: Use ncat instead of nc Ido Schimmel
@ 2023-08-08 14:14 ` Ido Schimmel
  2023-08-08 14:14 ` [PATCH net v2 13/17] selftests: forwarding: tc_tunnel_key: Make filters more specific Ido Schimmel
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:14 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel

The test checks that filters that match on source or destination MAC
were only hit once. A host can send more than one packet with a given
source or destination MAC, resulting in failures.

Fix by relaxing the success criterion and instead check that the filters
were not hit zero times. Using tc_check_at_least_x_packets() is also an
option, but it is not available in older kernels.

Fixes: 07e5c75184a1 ("selftests: forwarding: Introduce tc flower matching tests")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
 tools/testing/selftests/net/forwarding/tc_flower.sh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/net/forwarding/tc_flower.sh b/tools/testing/selftests/net/forwarding/tc_flower.sh
index 683711f41aa9..b1daad19b01e 100755
--- a/tools/testing/selftests/net/forwarding/tc_flower.sh
+++ b/tools/testing/selftests/net/forwarding/tc_flower.sh
@@ -52,8 +52,8 @@ match_dst_mac_test()
 	tc_check_packets "dev $h2 ingress" 101 1
 	check_fail $? "Matched on a wrong filter"
 
-	tc_check_packets "dev $h2 ingress" 102 1
-	check_err $? "Did not match on correct filter"
+	tc_check_packets "dev $h2 ingress" 102 0
+	check_fail $? "Did not match on correct filter"
 
 	tc filter del dev $h2 ingress protocol ip pref 1 handle 101 flower
 	tc filter del dev $h2 ingress protocol ip pref 2 handle 102 flower
@@ -78,8 +78,8 @@ match_src_mac_test()
 	tc_check_packets "dev $h2 ingress" 101 1
 	check_fail $? "Matched on a wrong filter"
 
-	tc_check_packets "dev $h2 ingress" 102 1
-	check_err $? "Did not match on correct filter"
+	tc_check_packets "dev $h2 ingress" 102 0
+	check_fail $? "Did not match on correct filter"
 
 	tc filter del dev $h2 ingress protocol ip pref 1 handle 101 flower
 	tc filter del dev $h2 ingress protocol ip pref 2 handle 102 flower
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 13/17] selftests: forwarding: tc_tunnel_key: Make filters more specific
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (11 preceding siblings ...)
  2023-08-08 14:14 ` [PATCH net v2 12/17] selftests: forwarding: tc_flower: Relax success criterion Ido Schimmel
@ 2023-08-08 14:14 ` Ido Schimmel
  2023-08-08 14:15 ` [PATCH net v2 14/17] selftests: forwarding: tc_flower_l2_miss: Fix failing test with old libnet Ido Schimmel
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:14 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel, dcaratti

The test installs filters that match on various IP fragments (e.g., no
fragment, first fragment) and expects a certain amount of packets to hit
each filter. This is problematic as the filters are not specific enough
and can match IP packets (e.g., IGMP) generated by the stack, resulting
in failures [1].

Fix by making the filters more specific and match on more fields in the
IP header: Source IP, destination IP and protocol.

[1]
 # timeout set to 0
 # selftests: net/forwarding: tc_tunnel_key.sh
 # TEST: tunnel_key nofrag (skip_hw)                                   [FAIL]
 #       packet smaller than MTU was not tunneled
 # INFO: Could not test offloaded functionality
 not ok 89 selftests: net/forwarding: tc_tunnel_key.sh # exit=1

Fixes: 533a89b1940f ("selftests: forwarding: add tunnel_key "nofrag" test case")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Acked-by: Davide Caratti <dcaratti@redhat.com>
---
Cc: dcaratti@redhat.com
---
 tools/testing/selftests/net/forwarding/tc_tunnel_key.sh | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/net/forwarding/tc_tunnel_key.sh b/tools/testing/selftests/net/forwarding/tc_tunnel_key.sh
index 5ac184d51809..5a5dd9034819 100755
--- a/tools/testing/selftests/net/forwarding/tc_tunnel_key.sh
+++ b/tools/testing/selftests/net/forwarding/tc_tunnel_key.sh
@@ -104,11 +104,14 @@ tunnel_key_nofrag_test()
 	local i
 
 	tc filter add dev $swp1 ingress protocol ip pref 100 handle 100 \
-		flower ip_flags nofrag action drop
+		flower src_ip 192.0.2.1 dst_ip 192.0.2.2 ip_proto udp \
+		ip_flags nofrag action drop
 	tc filter add dev $swp1 ingress protocol ip pref 101 handle 101 \
-		flower ip_flags firstfrag action drop
+		flower src_ip 192.0.2.1 dst_ip 192.0.2.2 ip_proto udp \
+		ip_flags firstfrag action drop
 	tc filter add dev $swp1 ingress protocol ip pref 102 handle 102 \
-		flower ip_flags nofirstfrag action drop
+		flower src_ip 192.0.2.1 dst_ip 192.0.2.2 ip_proto udp \
+		ip_flags nofirstfrag action drop
 
 	# test 'nofrag' set
 	tc filter add dev h1-et egress protocol all pref 1 handle 1 matchall $tcflags \
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 14/17] selftests: forwarding: tc_flower_l2_miss: Fix failing test with old libnet
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (12 preceding siblings ...)
  2023-08-08 14:14 ` [PATCH net v2 13/17] selftests: forwarding: tc_tunnel_key: Make filters more specific Ido Schimmel
@ 2023-08-08 14:15 ` Ido Schimmel
  2023-08-08 14:15 ` [PATCH net v2 15/17] selftests: forwarding: bridge_mdb: " Ido Schimmel
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:15 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel

As explained in commit 8bcfb4ae4d97 ("selftests: forwarding: Fix failing
tests with old libnet"), old versions of libnet (used by mausezahn) do
not use the "SO_BINDTODEVICE" socket option. For IP unicast packets,
this can be solved by prefixing mausezahn invocations with "ip vrf
exec". However, IP multicast packets do not perform routing and simply
egress the bound device, which does not exist in this case.

Fix by specifying the source and destination MAC of the packet which
will cause mausezahn to use a packet socket instead of an IP socket.

Fixes: 8c33266ae26a ("selftests: forwarding: Add layer 2 miss test cases")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
 .../selftests/net/forwarding/tc_flower_l2_miss.sh   | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/net/forwarding/tc_flower_l2_miss.sh b/tools/testing/selftests/net/forwarding/tc_flower_l2_miss.sh
index e22c2d28b6eb..20a7cb7222b8 100755
--- a/tools/testing/selftests/net/forwarding/tc_flower_l2_miss.sh
+++ b/tools/testing/selftests/net/forwarding/tc_flower_l2_miss.sh
@@ -127,6 +127,7 @@ test_l2_miss_multicast_common()
 	local proto=$1; shift
 	local sip=$1; shift
 	local dip=$1; shift
+	local dmac=$1; shift
 	local mode=$1; shift
 	local name=$1; shift
 
@@ -142,7 +143,7 @@ test_l2_miss_multicast_common()
 	   action pass
 
 	# Before adding MDB entry.
-	$MZ $mode $h1 -t ip -A $sip -B $dip -c 1 -p 100 -q
+	$MZ $mode $h1 -a own -b $dmac -t ip -A $sip -B $dip -c 1 -p 100 -q
 
 	tc_check_packets "dev $swp2 egress" 101 1
 	check_err $? "Unregistered multicast filter was not hit before adding MDB entry"
@@ -153,7 +154,7 @@ test_l2_miss_multicast_common()
 	# Adding MDB entry.
 	bridge mdb replace dev br1 port $swp2 grp $dip permanent
 
-	$MZ $mode $h1 -t ip -A $sip -B $dip -c 1 -p 100 -q
+	$MZ $mode $h1 -a own -b $dmac -t ip -A $sip -B $dip -c 1 -p 100 -q
 
 	tc_check_packets "dev $swp2 egress" 101 1
 	check_err $? "Unregistered multicast filter was hit after adding MDB entry"
@@ -164,7 +165,7 @@ test_l2_miss_multicast_common()
 	# Deleting MDB entry.
 	bridge mdb del dev br1 port $swp2 grp $dip
 
-	$MZ $mode $h1 -t ip -A $sip -B $dip -c 1 -p 100 -q
+	$MZ $mode $h1 -a own -b $dmac -t ip -A $sip -B $dip -c 1 -p 100 -q
 
 	tc_check_packets "dev $swp2 egress" 101 2
 	check_err $? "Unregistered multicast filter was not hit after deleting MDB entry"
@@ -183,10 +184,11 @@ test_l2_miss_multicast_ipv4()
 	local proto="ipv4"
 	local sip=192.0.2.1
 	local dip=239.1.1.1
+	local dmac=01:00:5e:01:01:01
 	local mode="-4"
 	local name="IPv4"
 
-	test_l2_miss_multicast_common $proto $sip $dip $mode $name
+	test_l2_miss_multicast_common $proto $sip $dip $dmac $mode $name
 }
 
 test_l2_miss_multicast_ipv6()
@@ -194,10 +196,11 @@ test_l2_miss_multicast_ipv6()
 	local proto="ipv6"
 	local sip=2001:db8:1::1
 	local dip=ff0e::1
+	local dmac=33:33:00:00:00:01
 	local mode="-6"
 	local name="IPv6"
 
-	test_l2_miss_multicast_common $proto $sip $dip $mode $name
+	test_l2_miss_multicast_common $proto $sip $dip $dmac $mode $name
 }
 
 test_l2_miss_multicast()
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 15/17] selftests: forwarding: bridge_mdb: Fix failing test with old libnet
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (13 preceding siblings ...)
  2023-08-08 14:15 ` [PATCH net v2 14/17] selftests: forwarding: tc_flower_l2_miss: Fix failing test with old libnet Ido Schimmel
@ 2023-08-08 14:15 ` Ido Schimmel
  2023-08-08 14:15 ` [PATCH net v2 16/17] selftests: forwarding: bridge_mdb_max: " Ido Schimmel
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:15 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel

As explained in commit 8bcfb4ae4d97 ("selftests: forwarding: Fix failing
tests with old libnet"), old versions of libnet (used by mausezahn) do
not use the "SO_BINDTODEVICE" socket option. For IP unicast packets,
this can be solved by prefixing mausezahn invocations with "ip vrf
exec". However, IP multicast packets do not perform routing and simply
egress the bound device, which does not exist in this case.

Fix by specifying the source and destination MAC of the packet which
will cause mausezahn to use a packet socket instead of an IP socket.

Fixes: b6d00da08610 ("selftests: forwarding: Add bridge MDB test")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
 .../selftests/net/forwarding/bridge_mdb.sh    | 46 ++++++++++---------
 1 file changed, 24 insertions(+), 22 deletions(-)

diff --git a/tools/testing/selftests/net/forwarding/bridge_mdb.sh b/tools/testing/selftests/net/forwarding/bridge_mdb.sh
index 6f830b5f03c9..4853b8e4f8d3 100755
--- a/tools/testing/selftests/net/forwarding/bridge_mdb.sh
+++ b/tools/testing/selftests/net/forwarding/bridge_mdb.sh
@@ -850,6 +850,7 @@ cfg_test()
 __fwd_test_host_ip()
 {
 	local grp=$1; shift
+	local dmac=$1; shift
 	local src=$1; shift
 	local mode=$1; shift
 	local name
@@ -872,27 +873,27 @@ __fwd_test_host_ip()
 	# Packet should only be flooded to multicast router ports when there is
 	# no matching MDB entry. The bridge is not configured as a multicast
 	# router port.
-	$MZ $mode $h1.10 -c 1 -p 128 -A $src -B $grp -t udp -q
+	$MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $src -B $grp -t udp -q
 	tc_check_packets "dev br0 ingress" 1 0
 	check_err $? "Packet locally received after flood"
 
 	# Install a regular port group entry and expect the packet to not be
 	# locally received.
 	bridge mdb add dev br0 port $swp2 grp $grp temp vid 10
-	$MZ $mode $h1.10 -c 1 -p 128 -A $src -B $grp -t udp -q
+	$MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $src -B $grp -t udp -q
 	tc_check_packets "dev br0 ingress" 1 0
 	check_err $? "Packet locally received after installing a regular entry"
 
 	# Add a host entry and expect the packet to be locally received.
 	bridge mdb add dev br0 port br0 grp $grp temp vid 10
-	$MZ $mode $h1.10 -c 1 -p 128 -A $src -B $grp -t udp -q
+	$MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $src -B $grp -t udp -q
 	tc_check_packets "dev br0 ingress" 1 1
 	check_err $? "Packet not locally received after adding a host entry"
 
 	# Remove the host entry and expect the packet to not be locally
 	# received.
 	bridge mdb del dev br0 port br0 grp $grp vid 10
-	$MZ $mode $h1.10 -c 1 -p 128 -A $src -B $grp -t udp -q
+	$MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $src -B $grp -t udp -q
 	tc_check_packets "dev br0 ingress" 1 1
 	check_err $? "Packet locally received after removing a host entry"
 
@@ -905,8 +906,8 @@ __fwd_test_host_ip()
 
 fwd_test_host_ip()
 {
-	__fwd_test_host_ip "239.1.1.1" "192.0.2.1" "-4"
-	__fwd_test_host_ip "ff0e::1" "2001:db8:1::1" "-6"
+	__fwd_test_host_ip "239.1.1.1" "01:00:5e:01:01:01" "192.0.2.1" "-4"
+	__fwd_test_host_ip "ff0e::1" "33:33:00:00:00:01" "2001:db8:1::1" "-6"
 }
 
 fwd_test_host_l2()
@@ -966,6 +967,7 @@ fwd_test_host()
 __fwd_test_port_ip()
 {
 	local grp=$1; shift
+	local dmac=$1; shift
 	local valid_src=$1; shift
 	local invalid_src=$1; shift
 	local mode=$1; shift
@@ -999,43 +1001,43 @@ __fwd_test_port_ip()
 		vlan_ethtype $eth_type vlan_id 10 dst_ip $grp \
 		src_ip $invalid_src action drop
 
-	$MZ $mode $h1.10 -c 1 -p 128 -A $valid_src -B $grp -t udp -q
+	$MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $valid_src -B $grp -t udp -q
 	tc_check_packets "dev $h2 ingress" 1 0
 	check_err $? "Packet from valid source received on H2 before adding entry"
 
-	$MZ $mode $h1.10 -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
+	$MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
 	tc_check_packets "dev $h2 ingress" 2 0
 	check_err $? "Packet from invalid source received on H2 before adding entry"
 
 	bridge mdb add dev br0 port $swp2 grp $grp vid 10 \
 		filter_mode $filter_mode source_list $src_list
 
-	$MZ $mode $h1.10 -c 1 -p 128 -A $valid_src -B $grp -t udp -q
+	$MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $valid_src -B $grp -t udp -q
 	tc_check_packets "dev $h2 ingress" 1 1
 	check_err $? "Packet from valid source not received on H2 after adding entry"
 
-	$MZ $mode $h1.10 -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
+	$MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
 	tc_check_packets "dev $h2 ingress" 2 0
 	check_err $? "Packet from invalid source received on H2 after adding entry"
 
 	bridge mdb replace dev br0 port $swp2 grp $grp vid 10 \
 		filter_mode exclude
 
-	$MZ $mode $h1.10 -c 1 -p 128 -A $valid_src -B $grp -t udp -q
+	$MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $valid_src -B $grp -t udp -q
 	tc_check_packets "dev $h2 ingress" 1 2
 	check_err $? "Packet from valid source not received on H2 after allowing all sources"
 
-	$MZ $mode $h1.10 -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
+	$MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
 	tc_check_packets "dev $h2 ingress" 2 1
 	check_err $? "Packet from invalid source not received on H2 after allowing all sources"
 
 	bridge mdb del dev br0 port $swp2 grp $grp vid 10
 
-	$MZ $mode $h1.10 -c 1 -p 128 -A $valid_src -B $grp -t udp -q
+	$MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $valid_src -B $grp -t udp -q
 	tc_check_packets "dev $h2 ingress" 1 2
 	check_err $? "Packet from valid source received on H2 after deleting entry"
 
-	$MZ $mode $h1.10 -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
+	$MZ $mode $h1.10 -a own -b $dmac -c 1 -p 128 -A $invalid_src -B $grp -t udp -q
 	tc_check_packets "dev $h2 ingress" 2 1
 	check_err $? "Packet from invalid source received on H2 after deleting entry"
 
@@ -1047,11 +1049,11 @@ __fwd_test_port_ip()
 
 fwd_test_port_ip()
 {
-	__fwd_test_port_ip "239.1.1.1" "192.0.2.1" "192.0.2.2" "-4" "exclude"
-	__fwd_test_port_ip "ff0e::1" "2001:db8:1::1" "2001:db8:1::2" "-6" \
+	__fwd_test_port_ip "239.1.1.1" "01:00:5e:01:01:01" "192.0.2.1" "192.0.2.2" "-4" "exclude"
+	__fwd_test_port_ip "ff0e::1" "33:33:00:00:00:01" "2001:db8:1::1" "2001:db8:1::2" "-6" \
 		"exclude"
-	__fwd_test_port_ip "239.1.1.1" "192.0.2.1" "192.0.2.2" "-4" "include"
-	__fwd_test_port_ip "ff0e::1" "2001:db8:1::1" "2001:db8:1::2" "-6" \
+	__fwd_test_port_ip "239.1.1.1" "01:00:5e:01:01:01" "192.0.2.1" "192.0.2.2" "-4" "include"
+	__fwd_test_port_ip "ff0e::1" "33:33:00:00:00:01" "2001:db8:1::1" "2001:db8:1::2" "-6" \
 		"include"
 }
 
@@ -1127,7 +1129,7 @@ ctrl_igmpv3_is_in_test()
 		filter_mode include source_list 192.0.2.1
 
 	# IS_IN ( 192.0.2.2 )
-	$MZ $h1.10 -c 1 -A 192.0.2.1 -B 239.1.1.1 \
+	$MZ $h1.10 -c 1 -a own -b 01:00:5e:01:01:01 -A 192.0.2.1 -B 239.1.1.1 \
 		-t ip proto=2,p=$(igmpv3_is_in_get 239.1.1.1 192.0.2.2) -q
 
 	bridge -d mdb show dev br0 vid 10 | grep 239.1.1.1 | grep -q 192.0.2.2
@@ -1140,7 +1142,7 @@ ctrl_igmpv3_is_in_test()
 		filter_mode include source_list 192.0.2.1
 
 	# IS_IN ( 192.0.2.2 )
-	$MZ $h1.10 -c 1 -A 192.0.2.1 -B 239.1.1.1 \
+	$MZ $h1.10 -a own -b 01:00:5e:01:01:01 -c 1 -A 192.0.2.1 -B 239.1.1.1 \
 		-t ip proto=2,p=$(igmpv3_is_in_get 239.1.1.1 192.0.2.2) -q
 
 	bridge -d mdb show dev br0 vid 10 | grep 239.1.1.1 | grep -v "src" | \
@@ -1167,7 +1169,7 @@ ctrl_mldv2_is_in_test()
 
 	# IS_IN ( 2001:db8:1::2 )
 	local p=$(mldv2_is_in_get fe80::1 ff0e::1 2001:db8:1::2)
-	$MZ -6 $h1.10 -c 1 -A fe80::1 -B ff0e::1 \
+	$MZ -6 $h1.10 -a own -b 33:33:00:00:00:01 -c 1 -A fe80::1 -B ff0e::1 \
 		-t ip hop=1,next=0,p="$p" -q
 
 	bridge -d mdb show dev br0 vid 10 | grep ff0e::1 | \
@@ -1181,7 +1183,7 @@ ctrl_mldv2_is_in_test()
 		filter_mode include source_list 2001:db8:1::1
 
 	# IS_IN ( 2001:db8:1::2 )
-	$MZ -6 $h1.10 -c 1 -A fe80::1 -B ff0e::1 \
+	$MZ -6 $h1.10 -a own -b 33:33:00:00:00:01 -c 1 -A fe80::1 -B ff0e::1 \
 		-t ip hop=1,next=0,p="$p" -q
 
 	bridge -d mdb show dev br0 vid 10 | grep ff0e::1 | grep -v "src" | \
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 16/17] selftests: forwarding: bridge_mdb_max: Fix failing test with old libnet
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (14 preceding siblings ...)
  2023-08-08 14:15 ` [PATCH net v2 15/17] selftests: forwarding: bridge_mdb: " Ido Schimmel
@ 2023-08-08 14:15 ` Ido Schimmel
  2023-08-08 14:15 ` [PATCH net v2 17/17] selftests: forwarding: bridge_mdb: Make test more robust Ido Schimmel
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:15 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel

As explained in commit 8bcfb4ae4d97 ("selftests: forwarding: Fix failing
tests with old libnet"), old versions of libnet (used by mausezahn) do
not use the "SO_BINDTODEVICE" socket option. For IP unicast packets,
this can be solved by prefixing mausezahn invocations with "ip vrf
exec". However, IP multicast packets do not perform routing and simply
egress the bound device, which does not exist in this case.

Fix by specifying the source and destination MAC of the packet which
will cause mausezahn to use a packet socket instead of an IP socket.

Fixes: 3446dcd7df05 ("selftests: forwarding: bridge_mdb_max: Add a new selftest")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
 .../selftests/net/forwarding/bridge_mdb_max.sh     | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/net/forwarding/bridge_mdb_max.sh b/tools/testing/selftests/net/forwarding/bridge_mdb_max.sh
index fa762b716288..3da9d93ab36f 100755
--- a/tools/testing/selftests/net/forwarding/bridge_mdb_max.sh
+++ b/tools/testing/selftests/net/forwarding/bridge_mdb_max.sh
@@ -252,7 +252,8 @@ ctl4_entries_add()
 	local IPs=$(seq -f 192.0.2.%g 1 $((n - 1)))
 	local peer=$(locus_dev_peer $locus)
 	local GRP=239.1.1.${grp}
-	$MZ $peer -c 1 -A 192.0.2.1 -B $GRP \
+	local dmac=01:00:5e:01:01:$(printf "%02x" $grp)
+	$MZ $peer -a own -b $dmac -c 1 -A 192.0.2.1 -B $GRP \
 		-t ip proto=2,p=$(igmpv3_is_in_get $GRP $IPs) -q
 	sleep 1
 
@@ -272,7 +273,8 @@ ctl4_entries_del()
 
 	local peer=$(locus_dev_peer $locus)
 	local GRP=239.1.1.${grp}
-	$MZ $peer -c 1 -A 192.0.2.1 -B 224.0.0.2 \
+	local dmac=01:00:5e:00:00:02
+	$MZ $peer -a own -b $dmac -c 1 -A 192.0.2.1 -B 224.0.0.2 \
 		-t ip proto=2,p=$(igmpv2_leave_get $GRP) -q
 	sleep 1
 	! bridge mdb show dev br0 | grep -q $GRP
@@ -289,8 +291,10 @@ ctl6_entries_add()
 	local peer=$(locus_dev_peer $locus)
 	local SIP=fe80::1
 	local GRP=ff0e::${grp}
+	local dmac=33:33:00:00:00:$(printf "%02x" $grp)
 	local p=$(mldv2_is_in_get $SIP $GRP $IPs)
-	$MZ -6 $peer -c 1 -A $SIP -B $GRP -t ip hop=1,next=0,p="$p" -q
+	$MZ -6 $peer -a own -b $dmac -c 1 -A $SIP -B $GRP \
+		-t ip hop=1,next=0,p="$p" -q
 	sleep 1
 
 	local nn=$(bridge mdb show dev br0 | grep $GRP | wc -l)
@@ -310,8 +314,10 @@ ctl6_entries_del()
 	local peer=$(locus_dev_peer $locus)
 	local SIP=fe80::1
 	local GRP=ff0e::${grp}
+	local dmac=33:33:00:00:00:$(printf "%02x" $grp)
 	local p=$(mldv1_done_get $SIP $GRP)
-	$MZ -6 $peer -c 1 -A $SIP -B $GRP -t ip hop=1,next=0,p="$p" -q
+	$MZ -6 $peer -a own -b $dmac -c 1 -A $SIP -B $GRP \
+		-t ip hop=1,next=0,p="$p" -q
 	sleep 1
 	! bridge mdb show dev br0 | grep -q $GRP
 }
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH net v2 17/17] selftests: forwarding: bridge_mdb: Make test more robust
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (15 preceding siblings ...)
  2023-08-08 14:15 ` [PATCH net v2 16/17] selftests: forwarding: bridge_mdb_max: " Ido Schimmel
@ 2023-08-08 14:15 ` Ido Schimmel
  2023-08-09  6:47 ` [PATCH net v2 00/17] selftests: forwarding: Various fixes Hangbin Liu
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-08 14:15 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, razor, mirsad.todorovac,
	Ido Schimmel

Some test cases check that the group timer is (or isn't) 0. Instead of
grepping for "0.00" grep for " 0.00" as the former can also match
"260.00" which is the default group membership interval.

Fixes: b6d00da08610 ("selftests: forwarding: Add bridge MDB test")
Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
---
 tools/testing/selftests/net/forwarding/bridge_mdb.sh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/net/forwarding/bridge_mdb.sh b/tools/testing/selftests/net/forwarding/bridge_mdb.sh
index 4853b8e4f8d3..d0c6c499d5da 100755
--- a/tools/testing/selftests/net/forwarding/bridge_mdb.sh
+++ b/tools/testing/selftests/net/forwarding/bridge_mdb.sh
@@ -617,7 +617,7 @@ __cfg_test_port_ip_sg()
 		grep -q "permanent"
 	check_err $? "Entry not added as \"permanent\" when should"
 	bridge -d -s mdb show dev br0 vid 10 | grep "$grp_key" | \
-		grep -q "0.00"
+		grep -q " 0.00"
 	check_err $? "\"permanent\" entry has a pending group timer"
 	bridge mdb del dev br0 port $swp1 $grp_key vid 10
 
@@ -626,7 +626,7 @@ __cfg_test_port_ip_sg()
 		grep -q "temp"
 	check_err $? "Entry not added as \"temp\" when should"
 	bridge -d -s mdb show dev br0 vid 10 | grep "$grp_key" | \
-		grep -q "0.00"
+		grep -q " 0.00"
 	check_fail $? "\"temp\" entry has an unpending group timer"
 	bridge mdb del dev br0 port $swp1 $grp_key vid 10
 
@@ -659,7 +659,7 @@ __cfg_test_port_ip_sg()
 		grep -q "permanent"
 	check_err $? "Entry not marked as \"permanent\" after replace"
 	bridge -d -s mdb show dev br0 vid 10 | grep "$grp_key" | \
-		grep -q "0.00"
+		grep -q " 0.00"
 	check_err $? "Entry has a pending group timer after replace"
 
 	bridge mdb replace dev br0 port $swp1 $grp_key vid 10 temp
@@ -667,7 +667,7 @@ __cfg_test_port_ip_sg()
 		grep -q "temp"
 	check_err $? "Entry not marked as \"temp\" after replace"
 	bridge -d -s mdb show dev br0 vid 10 | grep "$grp_key" | \
-		grep -q "0.00"
+		grep -q " 0.00"
 	check_fail $? "Entry has an unpending group timer after replace"
 	bridge mdb del dev br0 port $swp1 $grp_key vid 10
 
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH net v2 06/17] selftests: forwarding: Add a helper to skip test when using veth pairs
  2023-08-08 14:14 ` [PATCH net v2 06/17] selftests: forwarding: Add a helper to skip test when using veth pairs Ido Schimmel
@ 2023-08-09  1:55   ` Hangbin Liu
  2023-08-09  5:47     ` Ido Schimmel
  0 siblings, 1 reply; 27+ messages in thread
From: Hangbin Liu @ 2023-08-09  1:55 UTC (permalink / raw)
  To: Ido Schimmel
  Cc: netdev, davem, kuba, pabeni, edumazet, petrm, razor,
	mirsad.todorovac

On Tue, Aug 08, 2023 at 05:14:52PM +0300, Ido Schimmel wrote:
> A handful of tests require physical loopbacks to be used instead of veth
> pairs. Add a helper that these tests will invoke in order to be skipped
> when executed with veth pairs.

Hi Ido,

How to create physical loopbacks?

Thanks
Hangbin

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH net v2 09/17] selftests: forwarding: hw_stats_l3_gre: Skip when using veth pairs
  2023-08-08 14:14 ` [PATCH net v2 09/17] selftests: forwarding: hw_stats_l3_gre: " Ido Schimmel
@ 2023-08-09  2:02   ` Hangbin Liu
  2023-08-09  5:45     ` Ido Schimmel
  0 siblings, 1 reply; 27+ messages in thread
From: Hangbin Liu @ 2023-08-09  2:02 UTC (permalink / raw)
  To: Ido Schimmel
  Cc: netdev, davem, kuba, pabeni, edumazet, petrm, razor,
	mirsad.todorovac

On Tue, Aug 08, 2023 at 05:14:55PM +0300, Ido Schimmel wrote:
> Layer 3 hardware stats cannot be used when the underlying interfaces are
> veth pairs, resulting in failures:
> 
>  # ./hw_stats_l3_gre.sh
>  TEST: ping gre flat                                                 [ OK ]
>  TEST: Test rx packets:                                              [FAIL]
>          Traffic not reflected in the counter: 0 -> 0
>  TEST: Test tx packets:                                              [FAIL]
>          Traffic not reflected in the counter: 0 -> 0
> 
> Fix by skipping the test when used with veth pairs.
> 
> Fixes: 813f97a26860 ("selftests: forwarding: Add a tunnel-based test for L3 HW stats")
> Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
> Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
> Signed-off-by: Ido Schimmel <idosch@nvidia.com>
> Reviewed-by: Petr Machata <petrm@nvidia.com>
> Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
> ---
>  tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh b/tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh
> index eb9ec4a68f84..7594bbb49029 100755
> --- a/tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh
> +++ b/tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh
> @@ -99,6 +99,8 @@ test_stats_rx()
>  	test_stats g2a rx
>  }
>  
> +skip_on_veth
> +
>  trap cleanup EXIT
>  
>  setup_prepare

Petr has been add a veth check for this script in a9fda7a0b033 ("selftests:
forwarding: hw_stats_l3: Detect failure to install counters"). I think we can
remove it with your patch?

Thanks
Hangbin

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH net v2 09/17] selftests: forwarding: hw_stats_l3_gre: Skip when using veth pairs
  2023-08-09  2:02   ` Hangbin Liu
@ 2023-08-09  5:45     ` Ido Schimmel
  0 siblings, 0 replies; 27+ messages in thread
From: Ido Schimmel @ 2023-08-09  5:45 UTC (permalink / raw)
  To: Hangbin Liu
  Cc: Ido Schimmel, netdev, davem, kuba, pabeni, edumazet, petrm, razor,
	mirsad.todorovac

On Wed, Aug 09, 2023 at 10:02:22AM +0800, Hangbin Liu wrote:
> On Tue, Aug 08, 2023 at 05:14:55PM +0300, Ido Schimmel wrote:
> > Layer 3 hardware stats cannot be used when the underlying interfaces are
> > veth pairs, resulting in failures:
> > 
> >  # ./hw_stats_l3_gre.sh
> >  TEST: ping gre flat                                                 [ OK ]
> >  TEST: Test rx packets:                                              [FAIL]
> >          Traffic not reflected in the counter: 0 -> 0
> >  TEST: Test tx packets:                                              [FAIL]
> >          Traffic not reflected in the counter: 0 -> 0
> > 
> > Fix by skipping the test when used with veth pairs.
> > 
> > Fixes: 813f97a26860 ("selftests: forwarding: Add a tunnel-based test for L3 HW stats")
> > Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
> > Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
> > Signed-off-by: Ido Schimmel <idosch@nvidia.com>
> > Reviewed-by: Petr Machata <petrm@nvidia.com>
> > Tested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
> > ---
> >  tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh b/tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh
> > index eb9ec4a68f84..7594bbb49029 100755
> > --- a/tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh
> > +++ b/tools/testing/selftests/net/forwarding/hw_stats_l3_gre.sh
> > @@ -99,6 +99,8 @@ test_stats_rx()
> >  	test_stats g2a rx
> >  }
> >  
> > +skip_on_veth
> > +
> >  trap cleanup EXIT
> >  
> >  setup_prepare
> 
> Petr has been add a veth check for this script in a9fda7a0b033 ("selftests:
> forwarding: hw_stats_l3: Detect failure to install counters"). I think we can
> remove it with your patch?

Yes, I plan to remove it in net-next.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH net v2 06/17] selftests: forwarding: Add a helper to skip test when using veth pairs
  2023-08-09  1:55   ` Hangbin Liu
@ 2023-08-09  5:47     ` Ido Schimmel
  2023-08-09  6:46       ` Hangbin Liu
  0 siblings, 1 reply; 27+ messages in thread
From: Ido Schimmel @ 2023-08-09  5:47 UTC (permalink / raw)
  To: Hangbin Liu
  Cc: Ido Schimmel, netdev, davem, kuba, pabeni, edumazet, petrm, razor,
	mirsad.todorovac

On Wed, Aug 09, 2023 at 09:55:25AM +0800, Hangbin Liu wrote:
> On Tue, Aug 08, 2023 at 05:14:52PM +0300, Ido Schimmel wrote:
> > A handful of tests require physical loopbacks to be used instead of veth
> > pairs. Add a helper that these tests will invoke in order to be skipped
> > when executed with veth pairs.
> 
> Hi Ido,
> 
> How to create physical loopbacks?

It's the same concept as veth. Take two physical ports and connect them
with a cable.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH net v2 06/17] selftests: forwarding: Add a helper to skip test when using veth pairs
  2023-08-09  5:47     ` Ido Schimmel
@ 2023-08-09  6:46       ` Hangbin Liu
  0 siblings, 0 replies; 27+ messages in thread
From: Hangbin Liu @ 2023-08-09  6:46 UTC (permalink / raw)
  To: Ido Schimmel; +Cc: netdev

On Wed, Aug 09, 2023 at 08:47:45AM +0300, Ido Schimmel wrote:
> On Wed, Aug 09, 2023 at 09:55:25AM +0800, Hangbin Liu wrote:
> > On Tue, Aug 08, 2023 at 05:14:52PM +0300, Ido Schimmel wrote:
> > > A handful of tests require physical loopbacks to be used instead of veth
> > > pairs. Add a helper that these tests will invoke in order to be skipped
> > > when executed with veth pairs.
> > 
> > Hi Ido,
> > 
> > How to create physical loopbacks?
> 
> It's the same concept as veth. Take two physical ports and connect them
> with a cable.

With a cable.. Thanks, haha!

Hangbin

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH net v2 00/17] selftests: forwarding: Various fixes
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (16 preceding siblings ...)
  2023-08-08 14:15 ` [PATCH net v2 17/17] selftests: forwarding: bridge_mdb: Make test more robust Ido Schimmel
@ 2023-08-09  6:47 ` Hangbin Liu
  2023-08-09 12:10 ` Nikolay Aleksandrov
  2023-08-09 22:00 ` patchwork-bot+netdevbpf
  19 siblings, 0 replies; 27+ messages in thread
From: Hangbin Liu @ 2023-08-09  6:47 UTC (permalink / raw)
  To: Ido Schimmel
  Cc: netdev, davem, kuba, pabeni, edumazet, petrm, razor,
	mirsad.todorovac

On Tue, Aug 08, 2023 at 05:14:46PM +0300, Ido Schimmel wrote:
> Fix various problems with forwarding selftests. See individual patches
> for problem description and solution.

Reviewed-by: Hangbin Liu <liuhangbin@gmail.com>

> 
> v2:
> * Patch #10: Probe for MAC Merge support.
> 
> Ido Schimmel (17):
>   selftests: forwarding: Skip test when no interfaces are specified
>   selftests: forwarding: Switch off timeout
>   selftests: forwarding: bridge_mdb: Check iproute2 version
>   selftests: forwarding: bridge_mdb_max: Check iproute2 version
>   selftests: forwarding: Set default IPv6 traceroute utility
>   selftests: forwarding: Add a helper to skip test when using veth pairs
>   selftests: forwarding: ethtool: Skip when using veth pairs
>   selftests: forwarding: ethtool_extended_state: Skip when using veth
>     pairs
>   selftests: forwarding: hw_stats_l3_gre: Skip when using veth pairs
>   selftests: forwarding: ethtool_mm: Skip when MAC Merge is not
>     supported
>   selftests: forwarding: tc_actions: Use ncat instead of nc
>   selftests: forwarding: tc_flower: Relax success criterion
>   selftests: forwarding: tc_tunnel_key: Make filters more specific
>   selftests: forwarding: tc_flower_l2_miss: Fix failing test with old
>     libnet
>   selftests: forwarding: bridge_mdb: Fix failing test with old libnet
>   selftests: forwarding: bridge_mdb_max: Fix failing test with old
>     libnet
>   selftests: forwarding: bridge_mdb: Make test more robust
> 
>  .../selftests/net/forwarding/bridge_mdb.sh    | 59 +++++++++++--------
>  .../net/forwarding/bridge_mdb_max.sh          | 19 ++++--
>  .../selftests/net/forwarding/ethtool.sh       |  2 +
>  .../net/forwarding/ethtool_extended_state.sh  |  2 +
>  .../selftests/net/forwarding/ethtool_mm.sh    | 18 ++++--
>  .../net/forwarding/hw_stats_l3_gre.sh         |  2 +
>  .../net/forwarding/ip6_forward_instats_vrf.sh |  2 +
>  tools/testing/selftests/net/forwarding/lib.sh | 17 ++++++
>  .../testing/selftests/net/forwarding/settings |  1 +
>  .../selftests/net/forwarding/tc_actions.sh    |  6 +-
>  .../selftests/net/forwarding/tc_flower.sh     |  8 +--
>  .../net/forwarding/tc_flower_l2_miss.sh       | 13 ++--
>  .../selftests/net/forwarding/tc_tunnel_key.sh |  9 ++-
>  13 files changed, 109 insertions(+), 49 deletions(-)
>  create mode 100644 tools/testing/selftests/net/forwarding/settings
> 
> -- 
> 2.40.1
> 

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH net v2 00/17] selftests: forwarding: Various fixes
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (17 preceding siblings ...)
  2023-08-09  6:47 ` [PATCH net v2 00/17] selftests: forwarding: Various fixes Hangbin Liu
@ 2023-08-09 12:10 ` Nikolay Aleksandrov
  2023-08-09 22:00 ` patchwork-bot+netdevbpf
  19 siblings, 0 replies; 27+ messages in thread
From: Nikolay Aleksandrov @ 2023-08-09 12:10 UTC (permalink / raw)
  To: Ido Schimmel, netdev
  Cc: davem, kuba, pabeni, edumazet, petrm, mirsad.todorovac

On 8/8/23 17:14, Ido Schimmel wrote:
> Fix various problems with forwarding selftests. See individual patches
> for problem description and solution.
> 
> v2:
> * Patch #10: Probe for MAC Merge support.
> 

Nice! Thanks for taking the time to fix all these.
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>

> Ido Schimmel (17):
>    selftests: forwarding: Skip test when no interfaces are specified
>    selftests: forwarding: Switch off timeout
>    selftests: forwarding: bridge_mdb: Check iproute2 version
>    selftests: forwarding: bridge_mdb_max: Check iproute2 version
>    selftests: forwarding: Set default IPv6 traceroute utility
>    selftests: forwarding: Add a helper to skip test when using veth pairs
>    selftests: forwarding: ethtool: Skip when using veth pairs
>    selftests: forwarding: ethtool_extended_state: Skip when using veth
>      pairs
>    selftests: forwarding: hw_stats_l3_gre: Skip when using veth pairs
>    selftests: forwarding: ethtool_mm: Skip when MAC Merge is not
>      supported
>    selftests: forwarding: tc_actions: Use ncat instead of nc
>    selftests: forwarding: tc_flower: Relax success criterion
>    selftests: forwarding: tc_tunnel_key: Make filters more specific
>    selftests: forwarding: tc_flower_l2_miss: Fix failing test with old
>      libnet
>    selftests: forwarding: bridge_mdb: Fix failing test with old libnet
>    selftests: forwarding: bridge_mdb_max: Fix failing test with old
>      libnet
>    selftests: forwarding: bridge_mdb: Make test more robust
> 
>   .../selftests/net/forwarding/bridge_mdb.sh    | 59 +++++++++++--------
>   .../net/forwarding/bridge_mdb_max.sh          | 19 ++++--
>   .../selftests/net/forwarding/ethtool.sh       |  2 +
>   .../net/forwarding/ethtool_extended_state.sh  |  2 +
>   .../selftests/net/forwarding/ethtool_mm.sh    | 18 ++++--
>   .../net/forwarding/hw_stats_l3_gre.sh         |  2 +
>   .../net/forwarding/ip6_forward_instats_vrf.sh |  2 +
>   tools/testing/selftests/net/forwarding/lib.sh | 17 ++++++
>   .../testing/selftests/net/forwarding/settings |  1 +
>   .../selftests/net/forwarding/tc_actions.sh    |  6 +-
>   .../selftests/net/forwarding/tc_flower.sh     |  8 +--
>   .../net/forwarding/tc_flower_l2_miss.sh       | 13 ++--
>   .../selftests/net/forwarding/tc_tunnel_key.sh |  9 ++-
>   13 files changed, 109 insertions(+), 49 deletions(-)
>   create mode 100644 tools/testing/selftests/net/forwarding/settings
> 


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH net v2 00/17] selftests: forwarding: Various fixes
  2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
                   ` (18 preceding siblings ...)
  2023-08-09 12:10 ` Nikolay Aleksandrov
@ 2023-08-09 22:00 ` patchwork-bot+netdevbpf
  19 siblings, 0 replies; 27+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-08-09 22:00 UTC (permalink / raw)
  To: Ido Schimmel
  Cc: netdev, davem, kuba, pabeni, edumazet, petrm, razor,
	mirsad.todorovac

Hello:

This series was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Tue, 8 Aug 2023 17:14:46 +0300 you wrote:
> Fix various problems with forwarding selftests. See individual patches
> for problem description and solution.
> 
> v2:
> * Patch #10: Probe for MAC Merge support.
> 
> Ido Schimmel (17):
>   selftests: forwarding: Skip test when no interfaces are specified
>   selftests: forwarding: Switch off timeout
>   selftests: forwarding: bridge_mdb: Check iproute2 version
>   selftests: forwarding: bridge_mdb_max: Check iproute2 version
>   selftests: forwarding: Set default IPv6 traceroute utility
>   selftests: forwarding: Add a helper to skip test when using veth pairs
>   selftests: forwarding: ethtool: Skip when using veth pairs
>   selftests: forwarding: ethtool_extended_state: Skip when using veth
>     pairs
>   selftests: forwarding: hw_stats_l3_gre: Skip when using veth pairs
>   selftests: forwarding: ethtool_mm: Skip when MAC Merge is not
>     supported
>   selftests: forwarding: tc_actions: Use ncat instead of nc
>   selftests: forwarding: tc_flower: Relax success criterion
>   selftests: forwarding: tc_tunnel_key: Make filters more specific
>   selftests: forwarding: tc_flower_l2_miss: Fix failing test with old
>     libnet
>   selftests: forwarding: bridge_mdb: Fix failing test with old libnet
>   selftests: forwarding: bridge_mdb_max: Fix failing test with old
>     libnet
>   selftests: forwarding: bridge_mdb: Make test more robust
> 
> [...]

Here is the summary with links:
  - [net,v2,01/17] selftests: forwarding: Skip test when no interfaces are specified
    https://git.kernel.org/netdev/net/c/d72c83b1e4b4
  - [net,v2,02/17] selftests: forwarding: Switch off timeout
    https://git.kernel.org/netdev/net/c/0529883ad102
  - [net,v2,03/17] selftests: forwarding: bridge_mdb: Check iproute2 version
    https://git.kernel.org/netdev/net/c/ab2eda04e2c2
  - [net,v2,04/17] selftests: forwarding: bridge_mdb_max: Check iproute2 version
    https://git.kernel.org/netdev/net/c/6bdf3d9765f4
  - [net,v2,05/17] selftests: forwarding: Set default IPv6 traceroute utility
    https://git.kernel.org/netdev/net/c/38f7c44d6e76
  - [net,v2,06/17] selftests: forwarding: Add a helper to skip test when using veth pairs
    https://git.kernel.org/netdev/net/c/66e131861ab7
  - [net,v2,07/17] selftests: forwarding: ethtool: Skip when using veth pairs
    https://git.kernel.org/netdev/net/c/60a36e21915c
  - [net,v2,08/17] selftests: forwarding: ethtool_extended_state: Skip when using veth pairs
    https://git.kernel.org/netdev/net/c/b3d9305e60d1
  - [net,v2,09/17] selftests: forwarding: hw_stats_l3_gre: Skip when using veth pairs
    https://git.kernel.org/netdev/net/c/9a711cde07c2
  - [net,v2,10/17] selftests: forwarding: ethtool_mm: Skip when MAC Merge is not supported
    https://git.kernel.org/netdev/net/c/23fb886a1ced
  - [net,v2,11/17] selftests: forwarding: tc_actions: Use ncat instead of nc
    https://git.kernel.org/netdev/net/c/5e8670610b93
  - [net,v2,12/17] selftests: forwarding: tc_flower: Relax success criterion
    https://git.kernel.org/netdev/net/c/9ee37e53e768
  - [net,v2,13/17] selftests: forwarding: tc_tunnel_key: Make filters more specific
    https://git.kernel.org/netdev/net/c/11604178fdc3
  - [net,v2,14/17] selftests: forwarding: tc_flower_l2_miss: Fix failing test with old libnet
    https://git.kernel.org/netdev/net/c/21a72166abb9
  - [net,v2,15/17] selftests: forwarding: bridge_mdb: Fix failing test with old libnet
    https://git.kernel.org/netdev/net/c/e98e195d90cc
  - [net,v2,16/17] selftests: forwarding: bridge_mdb_max: Fix failing test with old libnet
    https://git.kernel.org/netdev/net/c/cb034948ac29
  - [net,v2,17/17] selftests: forwarding: bridge_mdb: Make test more robust
    https://git.kernel.org/netdev/net/c/8b5ff3709777

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH net v2 10/17] selftests: forwarding: ethtool_mm: Skip when MAC Merge is not supported
  2023-08-08 14:14 ` [PATCH net v2 10/17] selftests: forwarding: ethtool_mm: Skip when MAC Merge is not supported Ido Schimmel
@ 2023-08-10 17:28   ` Vladimir Oltean
  0 siblings, 0 replies; 27+ messages in thread
From: Vladimir Oltean @ 2023-08-10 17:28 UTC (permalink / raw)
  To: Ido Schimmel
  Cc: netdev, davem, kuba, pabeni, edumazet, petrm, razor,
	mirsad.todorovac

On Tue, Aug 08, 2023 at 05:14:56PM +0300, Ido Schimmel wrote:
> MAC Merge cannot be tested with veth pairs, resulting in failures:
> 
>  # ./ethtool_mm.sh
>  [...]
>  TEST: Manual configuration with verification: swp1 to swp2          [FAIL]
>          Verification did not succeed
> 
> Fix by skipping the test when the interfaces do not support MAC Merge.
> 
> Fixes: e6991384ace5 ("selftests: forwarding: add a test for MAC Merge layer")
> Reported-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
> Closes: https://lore.kernel.org/netdev/adc5e40d-d040-a65e-eb26-edf47dac5b02@alu.unizg.hr/
> Signed-off-by: Ido Schimmel <idosch@nvidia.com>
> ---
> Cc: vladimir.oltean@nxp.com
> v2:
> Probe for MAC Merge support.
> ---

Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Tested-by: Vladimir Oltean <vladimir.oltean@nxp.com>

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2023-08-10 17:29 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-08 14:14 [PATCH net v2 00/17] selftests: forwarding: Various fixes Ido Schimmel
2023-08-08 14:14 ` [PATCH net v2 01/17] selftests: forwarding: Skip test when no interfaces are specified Ido Schimmel
2023-08-08 14:14 ` [PATCH net v2 02/17] selftests: forwarding: Switch off timeout Ido Schimmel
2023-08-08 14:14 ` [PATCH net v2 03/17] selftests: forwarding: bridge_mdb: Check iproute2 version Ido Schimmel
2023-08-08 14:14 ` [PATCH net v2 04/17] selftests: forwarding: bridge_mdb_max: " Ido Schimmel
2023-08-08 14:14 ` [PATCH net v2 05/17] selftests: forwarding: Set default IPv6 traceroute utility Ido Schimmel
2023-08-08 14:14 ` [PATCH net v2 06/17] selftests: forwarding: Add a helper to skip test when using veth pairs Ido Schimmel
2023-08-09  1:55   ` Hangbin Liu
2023-08-09  5:47     ` Ido Schimmel
2023-08-09  6:46       ` Hangbin Liu
2023-08-08 14:14 ` [PATCH net v2 07/17] selftests: forwarding: ethtool: Skip " Ido Schimmel
2023-08-08 14:14 ` [PATCH net v2 08/17] selftests: forwarding: ethtool_extended_state: " Ido Schimmel
2023-08-08 14:14 ` [PATCH net v2 09/17] selftests: forwarding: hw_stats_l3_gre: " Ido Schimmel
2023-08-09  2:02   ` Hangbin Liu
2023-08-09  5:45     ` Ido Schimmel
2023-08-08 14:14 ` [PATCH net v2 10/17] selftests: forwarding: ethtool_mm: Skip when MAC Merge is not supported Ido Schimmel
2023-08-10 17:28   ` Vladimir Oltean
2023-08-08 14:14 ` [PATCH net v2 11/17] selftests: forwarding: tc_actions: Use ncat instead of nc Ido Schimmel
2023-08-08 14:14 ` [PATCH net v2 12/17] selftests: forwarding: tc_flower: Relax success criterion Ido Schimmel
2023-08-08 14:14 ` [PATCH net v2 13/17] selftests: forwarding: tc_tunnel_key: Make filters more specific Ido Schimmel
2023-08-08 14:15 ` [PATCH net v2 14/17] selftests: forwarding: tc_flower_l2_miss: Fix failing test with old libnet Ido Schimmel
2023-08-08 14:15 ` [PATCH net v2 15/17] selftests: forwarding: bridge_mdb: " Ido Schimmel
2023-08-08 14:15 ` [PATCH net v2 16/17] selftests: forwarding: bridge_mdb_max: " Ido Schimmel
2023-08-08 14:15 ` [PATCH net v2 17/17] selftests: forwarding: bridge_mdb: Make test more robust Ido Schimmel
2023-08-09  6:47 ` [PATCH net v2 00/17] selftests: forwarding: Various fixes Hangbin Liu
2023-08-09 12:10 ` Nikolay Aleksandrov
2023-08-09 22:00 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).