Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Dec 2014 17:23:50 -0800
From:      "David P. Discher" <dpd@dpdtech.com>
To:        Adam McDougall <mcdouga9@egr.msu.edu>
Cc:        freebsd-net@freebsd.org
Subject:   Re: FreeBSD 10-stable (r274577) LACP / IEEE 802.3ad with TP-Link TL-SG2008 - not working
Message-ID:  <34276C9E-CAEF-4E3F-AA2A-568F2D3099EC@dpdtech.com>
In-Reply-To: <3D993418-E632-44BA-8FE2-2F3F34188F20@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>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]

So, I think I’ve identified the issue.  In sys/net/ieee8023ad_lacp.c, lacp_pdu_input() has a sanity check :

	if (m->m_pkthdr.len != sizeof(*du)) {
		goto bad;
	}

I added some debugging information in if_lagg, and ran with it.  The lacpdu packet that being sent by the TP-Link switch is 4 bytes longer than the FreeBSD "struct lacpdu du”.  

	em1: lacp_pdu_input-sizeof(du) bad m_pkthdr.len=128 sizeof(du)=124

My packet captures shows the packet size differing as well.

I’m still poking around. I’ve been trying to look for the official LACPDU binary/wire format … if someone can point me to the reference for that, that would be helpful (at least my own understanding). 

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=0
>> 
>> 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 thought I did before, but of course this sysctl clears when destroying the interface).  So, the LACP did finally negotiated, at least in ifconfig :


[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQEcBAEBCgAGBQJUjjgnAAoJEEmwU6XuhYWOL8IH/0q8hySF4LisSyJqae/q8eFc
C1DGUrDlDJtIXz8ddtIW+/0SNtNEvxHxSokqxK2bfffr+aCoLbr/wN2SY0l99Pjx
1UKtDDzO2IORExVnJI785d4Impr00ZlQjKy/hSHVmthAVPEw20zZt1wrA1T7s7yP
2BYscWBxhqvj9LsMSdL4A7k46FqxukYekCTq7GF+Gx7mAzYXq5aWeW606zVh9e0b
Q4LhqVAIl/242e3exVlnfWBrZyXvVrZiZ7qZckm4uKelKS6OojYuSl9UmqsdDOZE
vE4zxUjhnvPe5gB0gwec/1fPRi/LV7zjRgKLBqCIzZEmrw5+ujJsdeeT3uvwWnU=
=gOqu
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?34276C9E-CAEF-4E3F-AA2A-568F2D3099EC>