sonic-swss icon indicating copy to clipboard operation
sonic-swss copied to clipboard

[mirror] Observe lag member status change

Open wendani opened this issue 3 years ago • 0 comments

Why I did it Fix https://github.com/Azure/sonic-swss/issues/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 https://github.com/Azure/sonic-swss/issues/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 avatar Aug 01 '21 06:08 wendani