Hi,

This is a patch against linux 2.4.14 that corrects what I believe to
be wrong behavior.  The patch removes special handling of multicast
frames allowing them the be handled with broadcast frames about 10
lines later after we are sure that the port is in the forwarding
state.

Without this patch the bridge always accepts broadcast/multicast
packets on ports regardless of their state.  This leads to packet
duplication and general congestion since it accepts these packets even
on blocking ports.

Am I missing something here?  I wonder why this special handling of
multicast frames was there in the first place.

Thanks,

David


Index: br_input.c
===================================================================
RCS file: /home/cvsroot/Embedded/linux/net/bridge/br_input.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 br_input.c
--- br_input.c  2001/11/08 07:40:27     1.1.1.1
+++ br_input.c  2001/11/30 23:03:00
@@ -77,18 +77,6 @@
        if (skb->mac.ethernet->h_source[0] & 1)
                goto freeandout;
 
-       if (!passedup &&
-           (dest[0] & 1) &&
-           (br->dev.flags & IFF_ALLMULTI || br->dev.mc_list != NULL)) {
-               struct sk_buff *skb2;
-
-               skb2 = skb_clone(skb, GFP_ATOMIC);
-               if (skb2) {
-                       passedup = 1;
-                       br_pass_frame_up(br, skb2);
-               }
-       }
-
        if (br->stp_enabled &&
            !memcmp(dest, bridge_ula, 5) &&
            !(dest[5] & 0xF0))


_______________________________________________
Bridge mailing list
[EMAIL PROTECTED]
http://www.math.leidenuniv.nl/mailman/listinfo/bridge

Reply via email to