1. 28 2月, 2010 1 次提交
    • H
      bridge: Add core IGMP snooping support · eb1d1641
      Herbert Xu 提交于
      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: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      eb1d1641