On Jul 9, 2012, at 8:38 PM, Adarsh Joshi wrote:

> Hi,
> 
> I am trying to configure lacp lagg interfaces with 2 systems connected back 
> to back as follows:
> 
> Ifconfig lagg0 create
> Ifconfig lagg0 laggproto lacp laggport ql0 laggport ql1 192.168.100.1 netmask 
> 255.255.255.0
> 
> Sometimes, the lag interface comes up correctly but sometimes the laggport 
> flags do not show properly. Instead of 1c<ACTIVE,COLLECTING,DISTRIBUTING>, it 
> shows values of 18. I have seen similar issues reported on various forums 
> with no solution.
> Looking at the lagg driver code and reading the standard, I thought the 
> laggport flags ( defined in if_lagg.h) are based on the LACP_STATE_BITS in 
> file ieee8023ad_lacp.h. But the following ifconfig -v output does not make 
> any sense to me.
> 
> My concern is that when all the interfaces show flags as 1c, the traffic is 
> distributed across both the interfaces uniformly and I get aggregated 
> throughput. If not, the traffic flows only on 1 interface.
> 
> Is this a bug? How do I solve this? Or am I doing something wrong?
> 
> I am using Free-BSD 9.0 release.
> 
> System 1:
> # ifconfig -v lagg0
>        lag id: [(8000,00-0E-1E-08-05-20,0213,0000,0000),
>                 (8000,00-0E-1E-04-2C-F0,0213,0000,0000)]
>        laggport: ql1 flags=18<COLLECTING,DISTRIBUTING> state=7D
>                [(8000,00-0E-1E-08-05-20,0213,8000,000F),
>                 (FFFF,00-00-00-00-00-00,0000,FFFF,0000)]
>        laggport: ql0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> state=3D
>                [(8000,00-0E-1E-08-05-20,0213,8000,000E),
>                 (8000,00-0E-1E-04-2C-F0,0213,8000,000E)]
> 
> System 2:
> 
> # ifconfig -v lagg0
>        lag id: [(8000,00-0E-1E-04-2C-F0,0213,0000,0000),
>                 (FFFF,00-00-00-00-00-00,0000,0000,0000)]
>        laggport: ql1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> state=7D
>               [(8000,00-0E-1E-04-2C-F0,0213,8000,000F),
>                 (FFFF,00-00-00-00-00-00,0000,FFFF,0000)]
>        laggport: ql0 flags=18<COLLECTING,DISTRIBUTING> state=3D
>                [(8000,00-0E-1E-04-2C-F0,0213,8000,000E),
>                 (8000,00-0E-1E-08-05-20,0213,8000,000E)]
> 
> 
> thanks
> Adarsh
> 


I don't think you have a port flags problem per se; the flags are correctly 
displaying the state of the lagg.  Your problem is that your systems aren't 
negotiating the correct lagg configuration.  Each tuple after the laggport 
represents the [(actor state),(partner state)].  Ports ql0 have been able to 
talk to their partners (each other).  Neither ql1 port has seen a response from 
a partner, though.

You could try restarting the state machine on one box with 'ifconfig lagg0 
laggproto lacp'.  To see the negotiation you'll need to rebuild your kernel 
with '#define LACP_DEBUG 1' added to the top of sys/net/ieee802.3ad_lacp.c.  Or 
upgrade to a newer stable snapshot that has the net.lacp_debug sysctl and turn 
it on.

Or just turn off LACP.  What does it get you in this configuration?

Hope this helps,
  Andrew

--------------------------------------------------
Andrew Boyer    abo...@averesystems.com




_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to