From: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> 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