Message ID | 20201027185934.227040-1-razor@blackwall.org (mailing list archive) |
---|---|
Headers | show |
Series | selftests: net: bridge: add tests for IGMPv3 | expand |
On Tue, 27 Oct 2020 20:59:18 +0200 Nikolay Aleksandrov wrote: > This set adds tests for the bridge's new IGMPv3 support. The tests use > 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 > prepare the existing IGMPv2 tests, then patch 4 adds new helpers which are > used throughout the rest of the v3 tests. > The following new tests are added: > - base case: IGMPv3 report 239.10.10.10 is_include (A) > - 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 3376, > for more information check RFC 3376 sections 4.2.15 and 6.4.1. > MLDv2 tests will be added by a separate patch-set. Applied, thanks Nik!
From: Nikolay Aleksandrov <nikolay@nvidia.com> Hi, This set adds tests for the bridge's new IGMPv3 support. The tests use 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 prepare the existing IGMPv2 tests, then patch 4 adds new helpers which are used throughout the rest of the v3 tests. The following new tests are added: - base case: IGMPv3 report 239.10.10.10 is_include (A) - 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 3376, for more information check RFC 3376 sections 4.2.15 and 6.4.1. MLDv2 tests will be added by a separate patch-set. Thanks, Nik Nikolay Aleksandrov (16): selftests: net: bridge: rename current igmp tests to igmpv2 selftests: net: bridge: igmp: add support for packet source address selftests: net: bridge: igmp: check for specific udp ip protocol selftests: net: bridge: igmp: add IGMPv3 entries' state helpers selftests: net: bridge: add tests for igmpv3 is_include and inc -> allow reports selftests: net: bridge: add test for igmpv3 inc -> is_include report selftests: net: bridge: add test for igmpv3 inc -> is_exclude report selftests: net: bridge: add test for igmpv3 inc -> to_exclude report selftests: net: bridge: add test for igmpv3 exc -> allow report selftests: net: bridge: add test for igmpv3 exc -> is_include report selftests: net: bridge: add test for igmpv3 exc -> is_exclude report selftests: net: bridge: add test for igmpv3 exc -> to_exclude report selftests: net: bridge: add test for igmpv3 inc -> block report selftests: net: bridge: add test for igmpv3 exc -> block report selftests: net: bridge: add test for igmpv3 exclude timeout selftests: net: bridge: add test for igmpv3 *,g auto-add .../selftests/net/forwarding/bridge_igmp.sh | 532 +++++++++++++++++- 1 file changed, 520 insertions(+), 12 deletions(-)