On Mon, 14 Aug 2006, David Miller wrote:
From: Jay Vosburgh <[EMAIL PROTECTED]>
Date: Thu, 03 Aug 2006 18:01:35 -0700
In this case (bond0.555 above bond0 above eth0,eth1,etc),
skb_bond doesn't suppress duplicates because skb_bond is called with the
skb->dev set to the bond0.555 dev, not the ethX dev. Non-accelerated
VLAN devices don't do this; they'll come in with skb->dev set to ethX
and will go through skb_bond as expected.
Ok, since __vlan_hwaccel_rx() bypasses the netif_receive_skb()
that would normally occur, we have to duplicate the bonding
drop checks.
The submitted patch put skb_bond() into if_vlan.h which is
definitely the wrong thing to do. This is a generic operation
and therefore belongs in linux/netdevice.h at best.
Furthermore, we're only interested in the packet drop check,
so that's the only part of the logic we need to export,
the rest can stay private to skb_bond() in net/core/dev.c
Can the folks who can reproduce this try this patch?
Works for me, thank you.
Acked-by: Krzysztof Piotr Oledzki <[EMAIL PROTECTED]>
Best regards,
Krzysztof Olędzki