]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[lacp] Set "aggregatable" flag in response LACPDU
authorSven Ulland <sveniu@ifi.uio.no>
Mon, 21 Jul 2014 13:41:25 +0000 (15:41 +0200)
committerMichael Brown <mcb30@ipxe.org>
Wed, 23 Jul 2014 10:56:04 +0000 (11:56 +0100)
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 <mcb30@ipxe.org>
src/net/eth_slow.c

index 69c38f30a6e70915da379434ce26270c3e80034a..db54b55a40745734ece01e225226e23a6d5f2887 100644 (file)
@@ -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 ) );