diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2012-04-13 02:37:42 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-15 12:51:35 -0400 |
commit | c5c23260594c5701af66ef754916775ba6a46bbc (patch) | |
tree | 2e0f5ce991fd3d3ad77e61745c84a4ca32b8601d /net/bridge/br_private.h | |
parent | c83b8fab06fc8c80d6440649f117bb7541df5fd0 (diff) | |
download | blackbird-op-linux-c5c23260594c5701af66ef754916775ba6a46bbc.tar.gz blackbird-op-linux-c5c23260594c5701af66ef754916775ba6a46bbc.zip |
bridge: Add multicast_querier toggle and disable queries by default
Sending general queries was implemented as an optimisation to speed
up convergence on start-up. In order to prevent interference with
multicast routers a zero source address has to be used.
Unfortunately these packets appear to cause some multicast-aware
switches to misbehave, e.g., by disrupting multicast packets to us.
Since the multicast snooping feature still functions without sending
our own queries, this patch will change the default to not send
queries.
For those that need queries in order to speed up convergence on start-up,
a toggle is provided to restore the previous behaviour.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_private.h')
-rw-r--r-- | net/bridge/br_private.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h index e1d882257877..f8ffd8c49054 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h @@ -224,6 +224,7 @@ struct net_bridge unsigned char multicast_router; u8 multicast_disabled:1; + u8 multicast_querier:1; u32 hash_elasticity; u32 hash_max; @@ -417,6 +418,7 @@ extern int br_multicast_set_router(struct net_bridge *br, unsigned long val); extern int br_multicast_set_port_router(struct net_bridge_port *p, unsigned long val); extern int br_multicast_toggle(struct net_bridge *br, unsigned long val); +extern int br_multicast_set_querier(struct net_bridge *br, unsigned long val); extern int br_multicast_set_hash_max(struct net_bridge *br, unsigned long val); static inline bool br_multicast_is_router(struct net_bridge *br) |