On Thu, Feb 20, 2014 at 09:11:00PM -0300, Flavio Leitner wrote:
On Thu, Feb 20, 2014 at 04:23:21PM +0100, Jonas Johansson wrote:
> I have configured teamd witch the lacp runner. When a port has state
> disabled, all LACPDU frames are received in lacpdu_recv(), but when LACP
> has reached an agreement (state "current") the port will become enabled
> LACPDU frames are no longer received by the port. After the LACP timeout
> the state will be changed to "expired" and the port will be disabled and
> LACPDUs can be received again.
> In the kernel driver, team.c, the team_handle_frame() will return
> RX_HANDLER_EXACT when a port is disabled and RX_HANDLER_ANOTHER for an
> enabled LACP port. This means that the a enabled port will divert all
> traffic to the team device, which teamd (using lacp) isn't listening to.
> I made a kernel patch which seems to work. Thoughts?
Interesting, I can't make it work regardless of the patch.
My switch reports only one port as part of the trunk.
The port that is failing shows the LACPDU with states
Active, Aggregation only.
Replacing teamd with bond with mode 4 works in the same setup,
so hardware, wiring and switch are okay.