Message ID | 20110705223551.5e1053af@nehalam.ftrdhcpuser.net |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
On Tue, Jul 05, 2011 at 10:35:51PM -0700, Stephen Hemminger wrote: > > The bisected commit bd4265fe36 is in 3.0-rc4 but the input code > path still treats multicast and broadcast the same which means > there are some other possible cases where broadcast doesn't get > forwarded. AFAIK it worked properly prior to bd4265fe36 because broadcast addresses simply get treated as an unregistered multicast group and ends up being flooded. So while yes we do do an extra mdb lookup I don't think there is any visible problem in stable. Cheers,
--- a/net/bridge/br_input.c 2011-07-05 22:28:30.111995701 -0700 +++ b/net/bridge/br_input.c 2011-07-05 22:34:08.259995671 -0700 @@ -77,7 +77,9 @@ int br_handle_frame_finish(struct sk_buf 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) ||