lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 21 Apr 2011 20:47:48 +0200 From: Jiri Bohac <jbohac@...e.cz> To: netdev@...r.kernel.org Cc: Stephen Hemminger <shemminger@...ux-foundation.org>, Jay Vosburgh <fubar@...ibm.com>, Andy Gospodarek <andy@...yhouse.net>, Benjamin Poirier <benjamin.poirier@...ymtl.ca> Subject: [PATCH] bonding: fix bridged bonds in 802.3ad mode 802.3ad bonding inside a bridge is broken again. Originally fixed by 43aa1920117801fe9ae3d1fad886b62511e09bee, the bug was re-introduced by 1e253c3b8a1aeed51eef6fc366812f219b97de65. LACP frames must not have their skb->dev changed by the bridging hook. Signed-off-by: Jiri Bohac <jbohac@...e.cz> --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -1514,6 +1514,11 @@ static rx_handler_result_t bond_handle_frame(struct sk_buff **pskb) memcpy(eth_hdr(skb)->h_dest, bond->dev->dev_addr, ETH_ALEN); } + /* prevent bridging code from mangling and forwarding LACP frames */ + if (bond->params.mode == BOND_MODE_8023AD && + skb->protocol == htons(ETH_P_SLOW)) + return RX_HANDLER_PASS; + return RX_HANDLER_ANOTHER; } -- Jiri Bohac <jbohac@...e.cz> SUSE Labs, SUSE CZ -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists