On Thursday 05 August 2004 16:58, Eble, Dan wrote:
> > The check should be after all
> > netfilter hooks just before the packet is given to the NIC
> > driver, dropped
> > on transmit because it can not be sent out on the target media, not
> > dropped in "bridge forwarding" because it seems to be bigger than the
> > intended target device.
>
> That makes sense.

I agree.

Stephen, how about this patch?

cheers,
Bart

--- linux-2.6.8-rc2-bk9/net/bridge/br_forward.c.old     2004-08-02 23:15:42.000000000 
+0200
+++ linux-2.6.8-rc2-bk9/net/bridge/br_forward.c 2004-08-05 17:57:52.000000000 +0200
@@ -23,7 +23,6 @@ static inline int should_deliver(const s
                                 const struct sk_buff *skb)
 {
        if (skb->dev == p->dev ||
-           skb->len > p->dev->mtu ||
            p->state != BR_STATE_FORWARDING)
                return 0;
 
@@ -32,6 +31,10 @@ static inline int should_deliver(const s
 
 int br_dev_queue_push_xmit(struct sk_buff *skb)
 {
+       if (skb->len > skb->dev->mtu) {
+               kfree_skb(skb);
+               return 0;
+       }
 #ifdef CONFIG_BRIDGE_NETFILTER
        /* ip_refrag calls ip_fragment, which doesn't copy the MAC header. */
        nf_bridge_maybe_copy_header(skb);

_______________________________________________
Bridge mailing list
[EMAIL PROTECTED]
http://lists.osdl.org/mailman/listinfo/bridge

Reply via email to