[B.A.T.M.A.N.] Layer 2 fragmentation

Andreas Langer an.langer at gmx.de
Thu May 27 16:23:50 CEST 2010


Hello,
i looked into the problem of fragmenting packets on layer2 to solve the mtu issue. I found a
unforeseen problem : oversized packets will be dropped by the bridge module ( if bat0 is in a
bridge ). I think the reason can be found here net/bridge/br_forward.c on line 44

43         /* drop mtu oversized packets except gso */
44         if (packet_length(skb) > skb->dev->mtu && !skb_is_gso(skb))
45                 kfree_skb(skb);

Possible solution: make a patch for the bridge module

if (packet_length(skb) > skb->dev->mtu && !skb_is_gso(skb) && !(skb->dev->priv_flags &
IFF_CAN_FRAG))

IFF_CAN_FRAG must be added to include/linux/if.h and batman-adv has to set this flag on bat0

I can make a patch for mainline inclusion, do you believe it is going to be accepted ?

regards, 
andreas


More information about the B.A.T.M.A.N mailing list