diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2010-02-27 14:41:45 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-02-28 03:48:45 -0500 |
commit | eb1d16414339a6e113d89e2cca2556005d7ce919 (patch) | |
tree | b6c49f870cc36241a894a8c723a38e224d41464b /net/bridge/Kconfig | |
parent | 025d89c27f54c69cd0e51666d88aada33666bb6c (diff) |
bridge: Add core IGMP snooping support
This patch adds the core functionality of IGMP snooping support
without actually hooking it up. So this patch should be a no-op
as far as the bridge's external behaviour is concerned.
All the new code and data is controlled by the Kconfig option
BRIDGE_IGMP_SNOOPING. A run-time toggle is also available.
The multicast switching is done using an hash table that is
lockless on the read-side through RCU. On the write-side the
new multicast_lock is used for all operations. The hash table
supports dynamic growth/rehashing.
The hash table will be rehashed if any chain length exceeds a
preset limit. If rehashing does not reduce the maximum chain
length then snooping will be disabled.
These features may be added in future (in no particular order):
* IGMPv3 source support
* Non-querier router detection
* IPv6
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/Kconfig')
-rw-r--r-- | net/bridge/Kconfig | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/net/bridge/Kconfig b/net/bridge/Kconfig index e143ca678881..78dd5497210a 100644 --- a/net/bridge/Kconfig +++ b/net/bridge/Kconfig | |||
@@ -31,3 +31,15 @@ config BRIDGE | |||
31 | will be called bridge. | 31 | will be called bridge. |
32 | 32 | ||
33 | If unsure, say N. | 33 | If unsure, say N. |
34 | |||
35 | config BRIDGE_IGMP_SNOOPING | ||
36 | bool "IGMP snooping" | ||
37 | default y | ||
38 | ---help--- | ||
39 | If you say Y here, then the Ethernet bridge will be able selectively | ||
40 | forward multicast traffic based on IGMP traffic received from each | ||
41 | port. | ||
42 | |||
43 | Say N to exclude this support and reduce the binary size. | ||
44 | |||
45 | If unsure, say Y. | ||