From 9fcf424d41d52f424eeffab5d8dfc976ebbe2ae5 Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Tue, 17 Dec 2024 11:06:40 +0200 Subject: [PATCH] tests: net: igmp: Add re-join multicast group test Make sure we send IGMP report when re-joining the multicast group when interface goes up after operative down event. Signed-off-by: Jukka Rissanen --- tests/net/igmp/src/main.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/net/igmp/src/main.c b/tests/net/igmp/src/main.c index 63f4f3ea70b..7878c5953eb 100644 --- a/tests/net/igmp/src/main.c +++ b/tests/net/igmp/src/main.c @@ -620,4 +620,25 @@ ZTEST_USER(net_igmp, test_igmpv2_query) igmp_send_query(false); } +ZTEST_USER(net_igmp, test_group_rejoin) +{ + /* It is enough if this is tested with IGMPv2 only because we do not + * really care about specific IGMP version here. + */ + if (IS_ENABLED(CONFIG_NET_IPV4_IGMPV3)) { + ztest_test_skip(); + } + + socket_join_group_with_index(&my_addr); + + is_report_sent = false; + + net_if_carrier_off(net_iface); + net_if_carrier_on(net_iface); + + zassert_true(is_report_sent, "Did not catch query event"); + + socket_leave_group_with_index(&my_addr); +} + ZTEST_SUITE(net_igmp, NULL, igmp_setup, NULL, NULL, igmp_teardown);