Date: Mon, 15 Dec 2014 12:33:40 -0700 From: Alan Somers <asomers@freebsd.org> To: "David P. Discher" <dpd@dpdtech.com> Cc: FreeBSD Net <freebsd-net@freebsd.org>, Adam McDougall <mcdouga9@egr.msu.edu> Subject: Re: FreeBSD 10-stable (r274577) LACP / IEEE 802.3ad with TP-Link TL-SG2008 - not working Message-ID: <CAOtMX2h3U-C9stM5qdix1HCqG=6rZD2GzKQw0t6Raoh6ToL3Og@mail.gmail.com> In-Reply-To: <34276C9E-CAEF-4E3F-AA2A-568F2D3099EC@dpdtech.com> References: <1A44709E-7D0C-4932-8A28-383EAC3F340B@dpdtech.com> <CAOtMX2gEGxTyXjitBu=pjkteocp1pSGxnb%2BWDb_jL3f0YNOjrg@mail.gmail.com> <9AE69175-92D9-49FA-A651-119C7046A1FA@dpdtech.com> <5480D8EF.9000804@egr.msu.edu> <3D993418-E632-44BA-8FE2-2F3F34188F20@dpdtech.com> <34276C9E-CAEF-4E3F-AA2A-568F2D3099EC@dpdtech.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Dec 14, 2014 at 6:23 PM, David P. Discher <dpd@dpdtech.com> wrote: > > So, I think I=E2=80=99ve identified the issue. In sys/net/ieee8023ad_lac= p.c, lacp_pdu_input() has a sanity check : > > if (m->m_pkthdr.len !=3D sizeof(*du)) { > goto bad; > } > > I added some debugging information in if_lagg, and ran with it. The lacp= du packet that being sent by the TP-Link switch is 4 bytes longer than the = FreeBSD "struct lacpdu du=E2=80=9D. > > em1: lacp_pdu_input-sizeof(du) bad m_pkthdr.len=3D128 sizeof(du)= =3D124 > > My packet captures shows the packet size differing as well. > > I=E2=80=99m still poking around. I=E2=80=99ve been trying to look for the= official LACPDU binary/wire format =E2=80=A6 if someone can point me to th= e reference for that, that would be helpful (at least my own understanding)= . Try here: http://standards.ieee.org/findstds/standard/802.1AX-2008.html > > Not exactly sure what these extra 4 bytes are at the end of the packet. = Still trying to figure that out. > > > - > David P. Discher > http://davidpdischer.com/ > AIM: DavidDPD | Y!M: daviddpdz > > > > On Dec 4, 2014, at 8:41 PM, David P. Discher <dpd@dpdtech.com> wrote: > >> Thanks Adam - >> >> On Dec 4, 2014, at 1:58 PM, Adam McDougall <mcdouga9@egr.msu.edu> wrote: >> >>> >>> Is the switch side set to "active" for the lacp mode (instead of >>> passive)? Also, try: >>> sysctl net.link.lagg.0.lacp.lacp_strict_mode=3D0 >>> >>> If either of those work, I'll explain more, don't have time to dig for >>> old email right this minute. >> >> Yes, the switch was in active mode. Turn strict mode off (which I thoug= ht I did before, but of course this sysctl clears when destroying the inter= face). So, the LACP did finally negotiated, at least in ifconfig : >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2h3U-C9stM5qdix1HCqG=6rZD2GzKQw0t6Raoh6ToL3Og>