Re: [PATCH net-next v2 5/5] selftests: net: bridge: add tests for igmpv3 MRC and QQIC validation

Ujjal Roy
2026-04-03T07:51:04Z

On Tue, Mar 31, 2026 at 7:44 PM Ido Schimmel <idosch@nvidia.com> wrote:
>
> On Mon, Mar 30, 2026 at 07:16:11PM +0000, Ujjal Roy wrote:
> > Add bridge selftests that configure IGMPv3 parameters and validate the
> > resulting Query packet fields for Max Resp Code (MRC) and Querier Query
> > Interval Code (QQIC).
> >
> > This also adds helper binary to encode floating-point exponential fields.
> >
> > Future extensions may cover corresponding IPv6 cases.
>
> Please cover both IGMPv3 and MLDv2 since the patchset touches both. You
> can add the MLDv2 tests in bridge_mld.sh.
>
> Also, I think you can simplify the test by simply matching on the
> expected values of MRC and QQIC using tc-u32.
>
> For both IGMPv3 and MLDv2 please test both:
>
> * MRC and QQIC in linear range.
> * MRC and QQIC in non-linear range.
>
> And please make sure the new test cases don't add new shellcheck
> warnings / errors or it will fail in the CI. You can ignore existing
> ones.

I will upgrade the existing test cases in file bridge_vlan_mcast.sh
instead of the previous file (bridge_igmp/mld.sh).

I have some doubts on test case logs reporting. Below are the logs
without my patchset. API used vlmc_query_intvl_test() and
vlmc_query_response_intvl_test().
TEST: Vlan mcast_query_interval global option default value [ OK ]
TEST: Vlan 10 mcast_query_interval option changed to 200 [ OK ]
TEST: Vlan mcast_query_response_interval global option default value [ OK ]
TEST: Vlan 10 mcast_query_response_interval option changed to 200 [ OK ]

I am expecting some suggestions from the logs below. And are these
covers both IGMPv3 and MLDv2 for QQIC and MRC?
Actually mcast_query_interval=QQIC and
mcast_query_response_interval=MRC we already know.

TEST: Vlan mcast_query_interval global option default value [ OK ]
TEST: Vlan 10 mcast_query_interval option changed to 200 [ OK ]
TEST: Vlan 10 mcast_query_interval number of IGMPv2 general query [
OK ] -> old case added log
TEST: Vlan 10 mcast_query_interval option changed to 6000 [ OK ]
TEST: Vlan 10 mcast_query_interval in IGMPv3 is 60 [ OK ]
TEST: Vlan 10 mcast_query_interval in MLDv2 is 60 [ OK ]
TEST: Vlan 10 mcast_query_interval option changed to 16000 [ OK ]
TEST: Vlan 10 mcast_query_interval in IGMPv3 is 160 [ OK ]
TEST: Vlan 10 mcast_query_interval in MLDv2 is 160 [ OK ]
TEST: Vlan mcast_query_response_interval global option default value [ OK ]
TEST: Vlan 10 mcast_query_response_interval option changed to 600 [ OK ]
TEST: Vlan 10 mcast_query_response_interval in IGMPv3 is 60 [ OK ]
TEST: Vlan 10 mcast_query_response_interval option changed to 1600 [ OK ]
TEST: Vlan 10 mcast_query_response_interval in IGMPv3 is 160 [ OK ]
TEST: Vlan 10 mcast_query_response_interval option changed to 3000 [ OK ]
TEST: Vlan 10 mcast_query_response_interval in MLDv2 is 30000 [ OK ]
TEST: Vlan 10 mcast_query_response_interval option changed to 6000 [ OK ]
TEST: Vlan 10 mcast_query_response_interval in MLDv2 is 60000 [ OK ]

Or is it better to name them properly instead of mcast option names, like below?

Vlan 10 mcast_query_interval:
TEST: Number of tagged IGMPv2 general query [ OK ]
TEST: IGMPv3 QQIC linear value 60 [ OK ]
TEST: IGMPv3 QQIC non linear value 160 [ OK ]
TEST: MLDv2 QQIC linear value 60 [ OK ]
TEST: MLDv2 QQIC non linear value 160 [ OK ]