[libteam] Send LACP PDU as soon as we need them #2955
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
- What I did
I've fixed a bug in libteam LACP protocol implementation. According to the LACP standard LACP daemon must send LACP PDU packets with updates
when the Actor’s state changes or when it is apparent from the Partner’s LACPDUs that the Partner does not know the Actor’s current state.
But current libteam implementation sends periodic updates only.
- How I did it
I've reverted following libteam patch: jpirko/libteam@b2de61b
and added actor state calculation right before the comparison what LACP partner thinks about the actor state.
- How to verify it
Build an image with it. Install on you DUT and put one of the remote LACP member interfaces down. Then raise it up and check what LACP packets are send by SONiC side. SONiC must send replies on every partner LACP PDU packets.
- Description for the changelog
[LACP] Send updates of the actor state immediately.
- A picture of a cute animal (not mandatory but encouraged)