linux/net/bridge
Linus Lüssing b00589af3b bridge: disable snooping if there is no querier
If there is no querier on a link then we won't get periodic reports and
therefore won't be able to learn about multicast listeners behind ports,
potentially leading to lost multicast packets, especially for multicast
listeners that joined before the creation of the bridge.

These lost multicast packets can appear since c5c2326059
("bridge: Add multicast_querier toggle and disable queries by default")
in particular.

With this patch we are flooding multicast packets if our querier is
disabled and if we didn't detect any other querier.

A grace period of the Maximum Response Delay of the querier is added to
give multicast responses enough time to arrive and to be learned from
before disabling the flooding behaviour again.

Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-07-31 17:40:21 -07:00
..
netfilter Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next 2013-06-06 01:03:06 -07:00
Kconfig
Makefile
br.c
br_device.c bridge: disable snooping if there is no querier 2013-07-31 17:40:21 -07:00
br_fdb.c bridge: check for zero ether address in fdb add 2013-06-25 16:59:27 -07:00
br_forward.c bridge: Add a flag to control unicast packet flood. 2013-06-11 02:04:32 -07:00
br_if.c bridge: Add a flag to control unicast packet flood. 2013-06-11 02:04:32 -07:00
br_input.c bridge: disable snooping if there is no querier 2013-07-31 17:40:21 -07:00
br_ioctl.c
br_mdb.c bridge: fix some kernel warning in multicast timer 2013-07-06 18:12:47 -07:00
br_multicast.c bridge: disable snooping if there is no querier 2013-07-31 17:40:21 -07:00
br_netfilter.c net: Convert uses of typedef ctl_table to struct ctl_table 2013-06-13 02:36:09 -07:00
br_netlink.c bridge: Add a flag to control unicast packet flood. 2013-06-11 02:04:32 -07:00
br_notify.c net: pass info struct via netdevice notifier 2013-05-28 13:11:01 -07:00
br_private.h bridge: disable snooping if there is no querier 2013-07-31 17:40:21 -07:00
br_private_stp.h
br_stp.c
br_stp_bpdu.c
br_stp_if.c
br_stp_timer.c bridge: fix race with topology change timer 2013-05-03 16:08:58 -04:00
br_sysfs_br.c bridge: use the bridge IP addr as source addr for querier 2013-05-22 14:54:37 -07:00
br_sysfs_if.c bridge: Add a flag to control unicast packet flood. 2013-06-11 02:04:32 -07:00
br_vlan.c