openwrt/target/linux
daniel f576ff05a1 kernel: Fix ipv6 mc snooping if bridge has no ipv6 address
This patch is a backport for current LEDE 4.4 Kernels.
It is already upstream, for linux-next and stable.
The initial commit message is below:

The bridge is falsly dropping ipv6 mulitcast packets if there is:
 1. No ipv6 address assigned on the brigde.
 2. No external mld querier present.
 3. The internal querier enabled.

When the bridge fails to build mld queries, because it has no
ipv6 address, it slilently returns, but keeps the local querier enabled.
This specific case causes confusing packet loss.

Ipv6 multicast snooping can only work if:
 a) An external querier is present
 OR
 b) The bridge has an ipv6 address an is capable of sending own queries

Otherwise it has to forward/flood the ipv6 multicast traffic,
because snooping cannot work.

This patch fixes the issue by adding a flag to the bridge struct that
indicates that there is currently no ipv6 address assinged to the bridge
and returns a false state for the local querier in
__br_multicast_querier_exists().

Special thanks to Linus Lüssing.

Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
2016-06-30 22:48:39 +02:00
..
adm5120 adm5120: remove target specific /etc/config/system 2016-06-08 00:31:09 +02:00
adm8668 treewide: replace nbd@openwrt.org with nbd@nbd.name 2016-06-07 08:58:42 +02:00
ar7 all: drop old uci-defaults.sh 2015-12-11 15:26:06 +00:00
ar71xx ar71xx: seama: fix making factory images 2016-06-30 22:48:39 +02:00
arc770 linux: arc: disable kernel unwinding to fix modules loading 2016-06-22 19:32:06 +02:00
archs38 linux: arc: disable kernel unwinding to fix modules loading 2016-06-22 19:32:06 +02:00
arm64 kernel: remove bogus CONFIG_LOG_BUF_SHIFT overrides 2016-05-21 22:35:41 +02:00
at91 at91: fix SAMA5D3 subtarget 2016-04-25 14:54:07 +02:00
ath25 ath25: add the small_Flash feature 2016-06-13 22:51:43 +02:00
au1000
bcm53xx kernel: Move append-dtb to common image-commands 2016-06-22 19:32:06 +02:00
brcm47xx kernel: update to version 4.4.14 2016-06-26 18:20:37 +02:00
brcm63xx kernel: Move append-dtb to common image-commands 2016-06-22 19:32:06 +02:00
brcm2708 kernel: update to version 4.4.14 2016-06-26 18:20:37 +02:00
cns3xxx cns3xxx: fix RX softIRQ loop 2016-06-17 04:13:07 +02:00
gemini gemini: delete 3.18 support 2016-05-12 17:55:15 +02:00
generic kernel: Fix ipv6 mc snooping if bridge has no ipv6 address 2016-06-30 22:48:39 +02:00
imx6 imx6: move profile definitions to the image/Makefile 2016-05-23 11:03:23 +02:00
ipq806x kernel: update to version 4.4.14 2016-06-26 18:20:37 +02:00
ixp4xx ixp4xx: fix Avila SoC audio driver compilation 2016-06-07 11:15:55 +02:00
kirkwood kernel: Move append-dtb to common image-commands 2016-06-22 19:32:06 +02:00
lantiq Revert "lantiq: enable SMP for XRX200" 2016-06-27 13:06:56 +02:00
malta malta: remove NAMESPACES config symbols 2016-06-06 14:58:11 +02:00
mcs814x branding: add LEDE branding 2016-03-24 22:40:13 +01:00
mediatek kernel: update to version 4.4.14 2016-06-26 18:20:37 +02:00
mpc85xx treewide: replace nbd@openwrt.org with nbd@nbd.name 2016-06-07 08:58:42 +02:00
mvebu mvebu: Configure status LED for WRT1900ACS 2016-06-15 12:58:23 +02:00
mxs mxs: delete old kernel versions 2016-05-12 17:52:55 +02:00
octeon kernel: update to version 4.4.14 2016-06-26 18:20:37 +02:00
omap omap: remove NAMESPACES config symbols 2016-06-14 22:57:30 -07:00
omap24xx image / basefiles: make console password configurable 2016-04-18 21:53:07 +02:00
orion all: drop old uci-defaults.sh 2015-12-11 15:26:06 +00:00
oxnas kernel: update to version 4.4.14 2016-06-26 18:20:37 +02:00
ppc40x
ppc44x image / basefiles: make console password configurable 2016-04-18 21:53:07 +02:00
ramips ramips: disable the WP pin on the SDK mmc driver 2016-06-30 22:48:39 +02:00
rb532 treewide: replace nbd@openwrt.org with nbd@nbd.name 2016-06-07 08:58:42 +02:00
realview realview: sync kernel config file 2016-06-15 15:58:05 +02:00
sunxi kernel: rename B53 symbols to avoid upstream kernel conflict 2016-06-20 08:00:14 +02:00
uml uml: revert accidentally committed change 2016-04-25 14:09:05 +02:00
x86 treewide: replace nbd@openwrt.org with nbd@nbd.name 2016-06-07 08:58:42 +02:00
xburst xburst: remove target specific /etc/config/system 2016-06-08 00:31:09 +02:00
zynq zynq: remove unneeded _DIAG and _XFRM symbols 2016-06-06 14:58:11 +02:00
Makefile