Hi Stephen, there was a bug in bridging bonds. multicast packets needed for 802.3ad netif_carrier_ok() were dropped. attached patch works for me.
Cheers, Vlad.
Signed-off-by: Vlad Drukker <[EMAIL PROTECTED]> --- [BRIDGE] fix 802.3ad multicast frame handling core netif code does handle_bridge before calling protocol handler for ETH_P_SLOW packet_type. when BR_STATE_DISABLED is set for bonded port, netif_carrier_ok() will always fail for 802.3ad bond, because 'partner' (multicast) packet has to be received via _disabled_ port, causing bond to stay in BR_STATE_DISABLED forever. --- commit e78e0ecc216f934662ae0a10df61c9e2ade44647 tree d491d94f3f043fa698e25cde863b97adc34693b2 parent e77d1795d3eb2999e271cee8957240f161a5461c author Vlad Drukker <[EMAIL PROTECTED]> Thu, 06 Apr 2006 18:56:51 +0300 committer Vlad Drukker <[EMAIL PROTECTED]> Thu, 06 Apr 2006 18:56:51 +0300 net/bridge/br_input.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c index b776656..6c72c5e 100644 --- a/net/bridge/br_input.c +++ b/net/bridge/br_input.c @@ -125,7 +125,9 @@ int br_handle_frame(struct net_bridge_po struct sk_buff *skb = *pskb; const unsigned char *dest = eth_hdr(skb)->h_dest; - if (p->state == BR_STATE_DISABLED) + if (p->state == BR_STATE_DISABLED + && !(skb->dev->priv_flags & IFF_MASTER_8023AD + && skb->protocol == __constant_htons(ETH_P_SLOW))) goto err; if (!is_valid_ether_addr(eth_hdr(skb)->h_source))
_______________________________________________ Bridge mailing list [email protected] https://lists.osdl.org/mailman/listinfo/bridge
