FreeBSD 10-stable (r274577) LACP / IEEE 802.3ad with TP-Link TL-SG2008 - not working
David P. Discher
dpd at dpdtech.com
Mon Dec 15 01:23:45 UTC 2014
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 at dpdtech.com> wrote:
> Thanks Adam -
>
> On Dec 4, 2014, at 1:58 PM, Adam McDougall <mcdouga9 at 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 :
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20141214/c98957b1/attachment.sig>
More information about the freebsd-net
mailing list