Skip site navigation (1)Skip section navigation (2)
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>