From de65a240b98b69e125fd8014ccff2c666d64361d Mon Sep 17 00:00:00 2001 From: Sven Ulland Date: Mon, 21 Jul 2014 15:41:25 +0200 Subject: [PATCH] [lacp] Set "aggregatable" flag in response LACPDU Some switches do not allow an individual link (as defined in IEEE Std 802.3ad-2000 section 43.3.5) to work alone in a link aggregation group as described in section 43.3.6. This is verified on Dell's PowerConnect M6220, based on the Broadcom Strata XGS-IV chipset. Set the LACP_STATE_AGGREGATABLE flag in the actor.state field to announce link aggregation in the response LACPDU, which will have the switch enable the link aggregation group and allow frames to pass. Signed-off-by: Michael Brown --- src/net/eth_slow.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/net/eth_slow.c b/src/net/eth_slow.c index 69c38f30..db54b55a 100644 --- a/src/net/eth_slow.c +++ b/src/net/eth_slow.c @@ -167,7 +167,8 @@ static int eth_slow_lacp_rx ( struct io_buffer *iobuf, lacp->actor.key = htons ( 1 ); lacp->actor.port_priority = htons ( LACP_PORT_PRIORITY_MAX ); lacp->actor.port = htons ( 1 ); - lacp->actor.state = ( LACP_STATE_IN_SYNC | + lacp->actor.state = ( LACP_STATE_AGGREGATABLE | + LACP_STATE_IN_SYNC | LACP_STATE_COLLECTING | LACP_STATE_DISTRIBUTING | ( lacp->partner.state & LACP_STATE_FAST ) );