[OpenWrt-Devel] [PATCHv3 netifd 3/3] bridge: Allow setting multicast_router option

Felix Fietkau nbd at openwrt.org
Tue Aug 25 02:50:10 EDT 2015


On 2015-08-23 17:19, Linus Lüssing wrote:
> The multicast_router option of a bridge allows to control the forwarding
> behaviour of multicast packets independant of the listener state:
> 
> * 0: Only forward if specific listener is present
> * 1 (default): Forward if specific listener or a multicast router
>   was detected (currently only learned via query messages, no MRD
>   support yet)
> * 2: Always forward any multicast traffic on this port
> 
> Since MRD is not mandated you might end up with silent multicast routers
> (e.g. if your link has more than one multicast router; only one can
> become the selected, "noisy" querier). Here you might need a manual
> configuration option like the "multicast_router" option.
> 
> Other scenarios where this can be useful are for instance:
> * Segmentation of IGMP/MLD domains together with ebtables
> * Dedicated bridge port for monitoring/debugging purposes
> 
> Signed-off-by: Linus Lüssing <linus.luessing at c0d3.blue>
> ---
>  device.c       |   12 ++++++++++++
>  device.h       |    3 +++
>  system-linux.c |   18 ++++++++++++++++++
>  3 files changed, 33 insertions(+)
> 
> diff --git a/device.c b/device.c
> index b44ccb8..d6e288c 100644
> --- a/device.c
> +++ b/device.c
> @@ -281,6 +283,14 @@ device_init_settings(struct device *dev, struct blob_attr **tb)
>  		s->flags |= DEV_OPT_MULTICAST_TO_UNICAST;
>  	}
>  
> +	if ((cur = tb[DEV_ATTR_MULTICAST_ROUTER])) {
> +		s->multicast_router = blobmsg_get_u32(cur);
> +		if (s->multicast_router >= 0 && s->multicast_router <= 2)
Applied the netifd patches with a minor modification: Removed the >= 0
test because the field is unsigned (fixes a compiler warning).

Thanks,

- Felix
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list