Message ID | 20210512231941.19211-1-linus.luessing@c0d3.blue (mailing list archive) |
---|---|
Headers | show |
Series | net: bridge: split IPv4/v6 mc router state and export for batman-adv | expand |
On 13/05/2021 02:19, Linus Lüssing wrote: > Hi, > > The following patches are splitting the so far combined multicast router > state in the Linux bridge into two ones, one for IPv4 and one for IPv6, > for a more fine-grained detection of multicast routers. This avoids > sending IPv4 multicast packets to an IPv6-only multicast router and > avoids sending IPv6 multicast packets to an IPv4-only multicast router. > This also allows batman-adv to make use of the now split information in > the final patch. > > The first eight patches prepare the bridge code to avoid duplicate > code or IPv6-#ifdef clutter for the multicast router state split. And > contain no functional changes yet. > > The ninth patch then implements the IPv4+IPv6 multicast router state > split. > > Patch number ten adds IPv4+IPv6 specific timers to the mdb netlink > router port dump, so that the timers validity can be checked individually > from userspace. > > The final, eleventh patch exports this now per protocol family multicast > router state so that batman-adv can then later make full use of the > Multicast Router Discovery (MRD) support in the Linux bridge. The > batman-adv protocol format currently expects separate multicast router > states for IPv4 and IPv6, therefore it depends on the first patch. > batman-adv will then make use of this newly exported functions like > this[0]. > > Regards, Linus > > [0]: https://git.open-mesh.org/batman-adv.git/shortlog/refs/heads/linus/multicast-routeable-mrd > -> https://git.open-mesh.org/batman-adv.git/commit/d4bed3a92427445708baeb1f2d1841c5fb816fd4 > Nice work overall, thank you. I hope it was tested well. :) It'd be great if later you could add some selftests. Cheers, Nik
On Thu, May 13, 2021 at 03:02:13PM +0300, Nikolay Aleksandrov wrote: > Nice work overall, thank you. I hope it was tested well. :) > It'd be great if later you could add some selftests. > > Cheers, > Nik Hi Nikolay, I think I found a way now to better deal with the protocol specific hlist_for_each_entry(), by using hlist_for_each() and a helper function, to reduce the duplicate code with br_{ip4,ip6}_multicast_get_rport_slot() as you suggested (and also removing duplicate code with br_{ip4,ip6}_multicast_mark_router()) and reworked patches 7 and 9 a bit for that... Sorry for the inconvience and my bad timing with your reviews. But thanks a lot for all your valuable feedback! Also netdevbpf patchwork had a few more remarks, they should hopefully be fixed now, too. Regards, Linus
On 13/05/2021 16:34, Linus Lüssing wrote: > On Thu, May 13, 2021 at 03:02:13PM +0300, Nikolay Aleksandrov wrote: >> Nice work overall, thank you. I hope it was tested well. :) >> It'd be great if later you could add some selftests. >> >> Cheers, >> Nik > > Hi Nikolay, > > I think I found a way now to better deal with the protocol > specific hlist_for_each_entry(), by using hlist_for_each() > and a helper function, to reduce the duplicate code > with br_{ip4,ip6}_multicast_get_rport_slot() as you suggested > (and also removing duplicate code with > br_{ip4,ip6}_multicast_mark_router()) and reworked patches 7 > and 9 a bit for that... > > Sorry for the inconvience and my bad timing with your reviews. But > thanks a lot for all your valuable feedback! > > Also netdevbpf patchwork had a few more remarks, they should > hopefully be fixed now, too. > > Regards, Linus > Awesome, I'll try to review the new set tonight or tomorrow at the latest. Thanks, Nik