Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 254683
b: refs/heads/master
c: 4466146
h: refs/heads/master
i:
  254681: 81a8e21
  254679: 121852a
v: v3
  • Loading branch information
Herbert Xu authored and David S. Miller committed Jul 6, 2011
1 parent e41306b commit fd71b6c
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9b9cfe7cf663c16c0d93349cc0094bb28ae7135a
refs/heads/master: 44661462ee1ee3c922754fc1f246867f0d01e7ea
4 changes: 3 additions & 1 deletion trunk/net/bridge/br_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,9 @@ netdev_tx_t br_dev_xmit(struct sk_buff *skb, struct net_device *dev)
skb_pull(skb, ETH_HLEN);

rcu_read_lock();
if (is_multicast_ether_addr(dest)) {
if (is_broadcast_ether_addr(dest))
br_flood_deliver(br, skb);
else if (is_multicast_ether_addr(dest)) {
if (unlikely(netpoll_tx_running(dev))) {
br_flood_deliver(br, skb);
goto out;
Expand Down
6 changes: 4 additions & 2 deletions trunk/net/bridge/br_input.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ int br_handle_frame_finish(struct sk_buff *skb)
br = p->br;
br_fdb_update(br, p, eth_hdr(skb)->h_source);

if (is_multicast_ether_addr(dest) &&
if (!is_broadcast_ether_addr(dest) && is_multicast_ether_addr(dest) &&
br_multicast_rcv(br, p, skb))
goto drop;

Expand All @@ -77,7 +77,9 @@ int br_handle_frame_finish(struct sk_buff *skb)

dst = NULL;

if (is_multicast_ether_addr(dest)) {
if (is_broadcast_ether_addr(dest))
skb2 = skb;
else if (is_multicast_ether_addr(dest)) {
mdst = br_mdb_get(br, skb);
if (mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) {
if ((mdst && mdst->mglist) ||
Expand Down

0 comments on commit fd71b6c

Please sign in to comment.