Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Feb 2014 11:10:00 GMT
From:      Michael Rebele <m.rebele@web.de>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/185967: Link Aggregation LAGG: LACP not working in 10.0
Message-ID:  <201402101110.s1ABA0oh082524@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/185967; it has been noted by GNATS.

From: Michael Rebele <m.rebele@web.de>
To: Benedikt Niessen <info@bhash.de>, bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/185967: Link Aggregation LAGG: LACP not working in 10.0
Date: Mon, 10 Feb 2014 12:01:29 +0100

 Scott Long provided here (thanks to Ben Niessen for opening the thread there):
 http://www.opendevs.org/mhthu/kern-185967-link-aggregation-lagg-lacp-not-working-in-10.html
 the following Patch for the issue:
 
 Index: ieee8023ad_lacp.c
 ===================================================================
 --- ieee8023ad_lacp.c	(revision 261432)
 +++ ieee8023ad_lacp.c	(working copy)
 @@ -192,6 +192,11 @@
  SYSCTL_INT(_net_link_lagg_lacp, OID_AUTO, debug, CTLFLAG_RW | CTLFLAG_TUN,
      &lacp_debug, 0, "Enable LACP debug logging (1=debug, 2=trace)");
  TUNABLE_INT("net.link.lagg.lacp.debug", &lacp_debug);
 +static int lacp_strict = 0;
 +SYSCTL_INT(_net_link_lagg_lacp, OID_AUTO, lacp_strict_mode,
 +    CTLFLAG_RW | CTLFLAG_TUN, &lacp_strict, 0,
 +    "Enable LACP strict protocol compliance");
 +TUNABLE_INT("net.link.lagg.lacp.lacp_strict_mode", &lacp_strict);
 
  #define LACP_DPRINTF(a) if (lacp_debug & 0x01) { lacp_dprintf a ; }
  #define LACP_TRACE(a) if (lacp_debug & 0x02) { lacp_dprintf(a,"%s\n",__func__); }
 @@ -791,7 +796,7 @@
 
  	lsc->lsc_hashkey = arc4random();
  	lsc->lsc_active_aggregator = NULL;
 -	lsc->lsc_strict_mode = 1;
 +	lsc->lsc_strict_mode = lacp_strict;
  	LACP_LOCK_INIT(lsc);
  	TAILQ_INIT(&lsc->lsc_aggregators);
  	LIST_INIT(&lsc->lsc_ports);
 
 
 
 I've applied this patch and can confirm, that this patch restores the LACP-behaviour of FreeBSD 10.0
 to that of 9.2. Though, with this patch, you may upgrade your OS without changing your
 configuration, neither on the switch nor on the OS.
 I've tested this across different type of interfaces (igb/bge) with up to four interfaces and also
 configurations with two interfaces of the same type (bge0/1 and igb 0/1).
 You may run FreeBSD on the switch without the need of configuring LACP on the switch side. This may
 not strictly to be conform with 802.3ad standard, but is working (just for the records: bonding mode
 4 under Linux, which claims also conformity against 802.3ad, works like this)
 
 From my point of view, the patch should be applied and merged ASAP into the FreeBSD-Kernel and be
 the standard behaviour for the next release.
 
 Kind regards
 
 Michael



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201402101110.s1ABA0oh082524>