diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2011-02-12 01:05:42 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-02-12 01:05:42 -0800 |
commit | 8a870178c0ad1bae9994c99bd01eb10c9903e616 (patch) | |
tree | e850d082e5aef4f436867a3301d1bf15fda80d06 /net/bridge/br_input.c | |
parent | 24f9cdcbd743fd6adb8fb83688d8d86dcccde662 (diff) | |
download | op-kernel-dev-8a870178c0ad1bae9994c99bd01eb10c9903e616.zip op-kernel-dev-8a870178c0ad1bae9994c99bd01eb10c9903e616.tar.gz |
bridge: Replace mp->mglist hlist with a bool
As it turns out we never need to walk through the list of multicast
groups subscribed by the bridge interface itself (the only time we'd
want to do that is when we shut down the bridge, in which case we
simply walk through all multicast groups), we don't really need to
keep an hlist for mp->mglist.
This means that we can replace it with just a single bit to indicate
whether the bridge interface is subscribed to a group.
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_input.c')
-rw-r--r-- | net/bridge/br_input.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c index 6f6d8e1..88e4aa9 100644 --- a/net/bridge/br_input.c +++ b/net/bridge/br_input.c @@ -80,7 +80,7 @@ int br_handle_frame_finish(struct sk_buff *skb) if (is_multicast_ether_addr(dest)) { mdst = br_mdb_get(br, skb); if (mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) { - if ((mdst && !hlist_unhashed(&mdst->mglist)) || + if ((mdst && mdst->mglist) || br_multicast_is_router(br)) skb2 = skb; br_multicast_forward(mdst, skb, skb2); |