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
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 net: Allow userns root to control the network bridge code. 2012-11-18 20:33:00 -05:00
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_stp.h net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
br_private.h bridge: disable snooping if there is no querier 2013-07-31 17:40:21 -07:00
br_stp_bpdu.c bridge: set priority of STP packets 2013-02-11 14:16:52 -05:00
br_stp_if.c bridge: make user modified path cost sticky 2013-04-15 14:03:44 -04:00
br_stp_timer.c bridge: fix race with topology change timer 2013-05-03 16:08:58 -04:00
br_stp.c bridge: avoid OOPS if root port not found 2013-04-30 15:51:08 -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 net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
br.c net:bridge: use IS_ENABLED 2011-12-16 15:49:52 -05:00
Kconfig bridge: Add vlan filtering infrastructure 2013-02-13 19:41:46 -05:00
Makefile bridge: Add vlan filtering infrastructure 2013-02-13 19:41:46 -05:00