Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Feb 2014 02:31:52 -0700
From:      Scott Long <scott4long@yahoo.com>
To:        Ben <mailinglists@niessen.ch>
Cc:        FreeBSD Net <freebsd-net@freebsd.org>
Subject:   Re: kern/185967: Link Aggregation LAGG: LACP not working in 10.0
Message-ID:  <BAD692C0-75E1-420E-894B-3EF5892AADB1@yahoo.com>
In-Reply-To: <B2A60D0D-26AA-4EB4-B5E6-D44164C9AE83@yahoo.com>
References:  <52EF50A7.1050205@niessen.ch> <1C608452-6F29-486D-BC0F-CCC7853665C7@yahoo.com> <52EF55FE.8030901@niessen.ch> <1798FE17-5718-4125-8B00-1B00DC44B828@yahoo.com> <52EF5D1E.2000306@niessen.ch> <B2A60D0D-26AA-4EB4-B5E6-D44164C9AE83@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Please try the following patch:

Index: ieee8023ad_lacp.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- 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=3Ddebug, 2=3Dtrace)");
 TUNABLE_INT("net.link.lagg.lacp.debug", &lacp_debug);
+static int lacp_strict =3D 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);
=20
 #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 @@
=20
 	lsc->lsc_hashkey =3D arc4random();
 	lsc->lsc_active_aggregator =3D NULL;
-	lsc->lsc_strict_mode =3D 1;
+	lsc->lsc_strict_mode =3D lacp_strict;
 	LACP_LOCK_INIT(lsc);
 	TAILQ_INIT(&lsc->lsc_aggregators);
 	LIST_INIT(&lsc->lsc_ports);


On Feb 3, 2014, at 2:25 AM, Scott Long <scott4long@yahoo.com> wrote:

> Did you set it to 0 via the sysctl?  You might need to wait for =
several minutes if you set it after setting up the links.
>=20
> Also, the message that you=92re seeing is from your machine =
transmitting PDU packets.  Are you seeing any "lacpdu receive=94 =
messages on the console?
>=20
> Thanks,
> Scott
>=20
> On Feb 3, 2014, at 2:10 AM, Ben <mailinglists@niessen.ch> wrote:
>=20
>> Hi,
>>=20
>> I set strict mode to 0 but no use. I do receive PDU messages.
>>=20
>> igb0: lacpdu transmit
>> actor=3D(...)
>> actor.state=3D4d<ACTIVITY,AGGREGATION,SYNC,DEFAULTED>
>> partner=3D(...)
>> partner.state=3D0
>> maxdelay=3D0
>>=20
>> Thanks
>> Ben
>>=20
>> On 03.02.2014 10:03, Scott Long wrote:
>>> Hi,
>>>=20
>>> Unfortunately, you can=92t control the strict mode globally.  My =
apologies for this mess, I=92ll make sure that it=92s fixed for FreeBSD =
10.1.  If the sysctl doesn=92t help then maybe consider compiling a =
custom kernel with it defaulted to 0.  You=92ll need to open =
/sys/net/ieee802ad_lacp.c and look for the function lacp_attach().  =
You=92ll see the strict_mode assign underneath that.  I=92ll also send =
you a patch in a few minutes.  Until then, try enabling =
net.link.lagg.lacp.debug=3D1 and see if you=92re receiving heartbeat =
PDU=92s from your switch.
>>>=20
>>> Scott
>>>=20
>>> On Feb 3, 2014, at 1:40 AM, Ben <mailinglists@niessen.ch> wrote:
>>>=20
>>>> Hi Scott,
>>>>=20
>>>> I had tried to set it in /etc/sysctl.conf but seems it didnt work. =
But will I try again and report back.
>>>>=20
>>>> The settings of the switch have not been changed and are set to =
LACP. It worked before so I guess the switch should not be the problem. =
Maybe some incompatibility between FreeBSD + igb-driver + switch =
(Juniper EX3300-48T).
>>>>=20
>>>> I will update you after setting the sysctl setting. It seems to be =
"dynamic", I guess 0 reflects the index of LACP lagg devices. Can I =
switch off the strict mode globally in /etc/sysctl.conf?
>>>>=20
>>>> Thanks for your help.
>>>>=20
>>>> Regards
>>>> Ben
>>>>=20
>>>> On 03.02.2014 09:31, Scott Long wrote:
>>>>> Hi,
>>>>>=20
>>>>> You=92re probably running into the consequences of r253687.  Check =
to see the value of =91sysctl net.link.lagg.0.lacp.lacp_strict_mode=92. =
If it=92s =911=92 then set it to 0.  My original intention was for this =
to default to 0, but apparently that didn=92t happen.  However, the fact =
that strict mode doesn=92t seem to work at all for you might hint that =
your switch either isn=92t configured correctly for LACP, or doesn=92t =
actually support LACP at all.  You might want to investigate that.
>>>>>=20
>>>>> Scott
>>>>>=20
>>>>> On Feb 3, 2014, at 1:17 AM, Ben <mailinglists@niessen.ch> wrote:
>>>>>=20
>>>>>> Hi,
>>>>>>=20
>>>>>> I upgraded from FreeBSD 9.2-RELEASE to 10.0-RELEASE. FreeBSD 9.2 =
was configured to use LACP with two igb devices.
>>>>>>=20
>>>>>> Now it stopped working after the upgrade.
>>>>>>=20
>>>>>> This is a screenshot of ifconfig -a after the upgrade to FreeBSD =
10.0-RELEASE: http://tinypic.com/view.php?pic=3D28jvgpw&s=3D5#.Uu9PXT1dVPM=

>>>>>>=20
>>>>>> A PR is currently open: =
http://www.freebsd.org/cgi/query-pr.cgi?pr=3Dkern/185967
>>>>>>=20
>>>>>> It is set to low, but I would like somebody to have a look into =
it as it obviously has a great influence on our infrastructure. The only =
way to "solve" it is currently switching back to FreeBSD 9.2.
>>>>>>=20
>>>>>> The suggested fix "use failover" seems not to work.
>>>>>>=20
>>>>>> Thank you for your help.
>>>>>>=20
>>>>>> Best regards
>>>>>> Ben
>>>>>> _______________________________________________
>>>>>> freebsd-net@freebsd.org mailing list
>>>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>>>>>> To unsubscribe, send any mail to =
"freebsd-net-unsubscribe@freebsd.org"
>>>>> _______________________________________________
>>>>> freebsd-net@freebsd.org mailing list
>>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>>>>> To unsubscribe, send any mail to =
"freebsd-net-unsubscribe@freebsd.org"
>>>>>=20
>>>>>=20
>>>>>=20
>>>>>=20
>>>> _______________________________________________
>>>> freebsd-net@freebsd.org mailing list
>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>>>> To unsubscribe, send any mail to =
"freebsd-net-unsubscribe@freebsd.org"
>>> _______________________________________________
>>> freebsd-net@freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>>> To unsubscribe, send any mail to =
"freebsd-net-unsubscribe@freebsd.org"
>>>=20
>>> !DSPAM:1,52ef5c19888823082815771!
>>>=20
>>>=20
>>=20
>> _______________________________________________
>> freebsd-net@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>> To unsubscribe, send any mail to =
"freebsd-net-unsubscribe@freebsd.org"
>=20
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BAD692C0-75E1-420E-894B-3EF5892AADB1>