On 12/21/18 5:15 PM, Linus Lüssing wrote:
Hi,
This patchset adds initial Multicast Router Discovery support to the Linux bridge (RFC4286). With MRD it is possible to detect multicast routers and mark bridge ports and forward multicast packets to such routers accordingly.
So far, multicast routers are detected via IGMP/MLD queries and PIM messages in the Linux bridge. As there is only one active, selected querier at a time RFC4541 ("Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches") section 2.1.1.a) recommends snooping Multicast Router Advertisements as provided by MRD (RFC4286).
The first two patches are refactoring some existing code which is reused for parsing the Multicast Router Advertisements later in the fourth patch. The third patch lets the bridge join the all-snoopers multicast address to be able to reliably receive the Multicast Router Advertisements.
What is not implemented yet from RFC4286 yet:
- Sending Multicast Router Solicitations: -> RFC4286: "[...] may be sent when [...] an interface is (re-)initialized [or] MRD is enabled"
- Snooping Multicast Router Terminations: -> currently this only relies on our own timeouts
- Adjusting timeouts with the values provided in the announcements
Regards, Linus
Hi Linus, Nice work, unfortunately net-next is currenty closed. Anyway I'll review the patches in detail after the holidays so if there's anything it can be adjusted for when net-next opens up.
Thanks, Nik