Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[mirror] Observe lag member status change #1846

Open
wants to merge 15 commits into
base: master
Choose a base branch
from

Conversation

wendani
Copy link
Contributor

@wendani wendani commented Aug 1, 2021

Why I did it
Fix #1499. In current implementation, mirror orch observes lag member add/removal event, and selects the first lag member as monitor port regardless of its lag member status, which can be disabled, such as in the case of monitor port lag member being admin down as described in #1499.

What I did
Let mirror orch observe lag member status change, notified by ports orch.

Mirror orch no longer observes lag member add event, as an added lag member can be in disabled status. Instead, mirror orch observes lag member status enabled event. Accordingly, mirror orch adjusts its monitor port selection strategy to choose the first status-enabled lag member instead of the first added lag member, but still inherits the first-fit strategy at heart.

Mirror orch observes both lag member removal event and lag member status disabled event. In the event of current mirror monitor port being removed or status disabled, first-fit monitor port selection strategy is triggered to choose the first status-enabled lag member.

How I verified it
vs test on the following cases:

  • mirror session creation with monitor port lag member status disabled
  • neighbor mac change with monitor port lag member status disabled
  • monitor port lag member runtime status change (from disabled to enabled and vice versa) that triggers mirror session activation and deactivation
  • monitor port lag member runtime status change that triggers mirror monitor port update
  • monitor port lag member removal that triggers mirror session deactivation
  • monitor port lag member removal that triggers mirror monitor port update
  • mirror monitor port stays unchanged for lag member add with status enabled

Details if related
Here, we focus on the case of lag being a router interface.

wendani added 11 commits July 31, 2021 19:10
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
wendani added 4 commits August 2, 2021 08:34
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
@prsunny prsunny requested a review from bingwang-ms September 29, 2021 17:29
EdenGri pushed a commit to EdenGri/sonic-swss that referenced this pull request Feb 28, 2022
What I did
These format are not wrong. But if error_handler for $? is installed, these places would cause fase positives.

How I did it
Update more bash syntax to avoid false positives

How to verify it
Run show tech support test before merge.

Signed-off-by: Ying Xie ying.xie@microsoft.com
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant