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>