bridge: Snoop Multicast Router Advertisements
authorLinus Lüssing <linus.luessing@c0d3.blue>
Mon, 21 Jan 2019 06:26:28 +0000 (07:26 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 23 Jan 2019 01:18:09 +0000 (17:18 -0800)
commit4b3087c7e37f9e499127201849e33960dc81da11
tree01fb05eabe24132c0fa596c8cf7a536fffda134d
parent4effd28c1245303dce7fd290c501ac2c11052114
bridge: Snoop Multicast Router Advertisements

When multiple multicast routers are present in a broadcast domain then
only one of them will be detectable via IGMP/MLD query snooping. The
multicast router with the lowest IP address will become the selected and
active querier while all other multicast routers will then refrain from
sending queries.

To detect such rather silent multicast routers, too, RFC4286
("Multicast Router Discovery") provides a standardized protocol to
detect multicast routers for multicast snooping switches.

This patch implements the necessary MRD Advertisement message parsing
and after successful processing adds such routers to the internal
multicast router list.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/in.h
include/net/addrconf.h
include/uapi/linux/icmpv6.h
include/uapi/linux/igmp.h
net/bridge/br_multicast.c
net/ipv6/mcast_snoop.c