[Bridge] [PATCH net-next 00/16] selftests: net: bridge: add tests for MLDv2

Nikolay Aleksandrov razor at blackwall.org
Tue Nov 3 17:23:56 UTC 2020


From: Nikolay Aleksandrov <nikolay at nvidia.com>

Hi,
This is the second selftests patch-set for the new multicast functionality
which adds tests for the bridge's MLDv2 support. The tests use full
precooked packets which are sent via mausezahn and the resulting state
after each test is checked for proper X,Y sets, (*,G) source list, source
list entry timers, (S,G) existence and flags, packet forwarding and
blocking, exclude group expiration and (*,G) auto-add. The first 3 patches
factor out common functions which are used by IGMPv3 tests in lib.sh and
add support for IPv6 test UDP packet, then patch 4 adds the first test with
the initial MLDv2 setup.
The following new tests are added:
 - base case: MLDv2 report ff02::cc is_include
 - include -> allow report
 - include -> is_include report
 - include -> is_exclude report
 - include -> to_exclude report
 - exclude -> allow report
 - exclude -> is_include report
 - exclude -> is_exclude report
 - exclude -> to_exclude report
 - include -> block report
 - exclude -> block report
 - exclude timeout (move to include + entry deletion)
 - S,G port entry automatic add to a *,G,exclude port

The variable names and set notation are the same as per RFC 3810,
for more information check RFC 3810 sections 2.3 and 7.

Thanks,
 Nik

Nikolay Aleksandrov (16):
  selftests: net: bridge: factor out mcast_packet_test
  selftests: net: lib: add support for IPv6 mcast packet test
  selftests: net: bridge: factor out and rename sg state functions
  selftests: net: bridge: add initial MLDv2 include test
  selftests: net: bridge: add test for mldv2 inc -> allow report
  selftests: net: bridge: add test for mldv2 inc -> is_include report
  selftests: net: bridge: add test for mldv2 inc -> is_exclude report
  selftests: net: bridge: add test for mldv2 inc -> to_exclude report
  selftests: net: bridge: add test for mldv2 exc -> allow report
  selftests: net: bridge: add test for mldv2 exc -> is_include report
  selftests: net: bridge: add test for mldv2 exc -> is_exclude report
  selftests: net: bridge: add test for mldv2 exc -> to_exclude report
  selftests: net: bridge: add test for mldv2 inc -> block report
  selftests: net: bridge: add test for mldv2 exc -> block report
  selftests: net: bridge: add test for mldv2 exclude timeout
  selftests: net: bridge: add test for mldv2 *,g auto-add

 .../selftests/net/forwarding/bridge_igmp.sh   | 211 ++-----
 .../selftests/net/forwarding/bridge_mld.sh    | 558 ++++++++++++++++++
 tools/testing/selftests/net/forwarding/lib.sh | 107 ++++
 3 files changed, 721 insertions(+), 155 deletions(-)
 create mode 100755 tools/testing/selftests/net/forwarding/bridge_mld.sh

-- 
2.25.4



More information about the Bridge mailing list