-
Notifications
You must be signed in to change notification settings - Fork 530
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
[muxorch] Always use direct link for SoC IPs #2369
Conversation
e22d09a
to
0b2c2ed
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer to take a different approach for this and not make it part of the nbr_handler. We can just return from the 'update' function.
OK, I will change it to simply skip the neighbor handler |
0b2c2ed
to
1fcfeb2
Compare
Propose to have it as below:
|
1fcfeb2
to
ca28572
Compare
Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
ca28572
to
11a8fff
Compare
This pull request introduces 1 alert when merging 11a8fff into bf91a49 - view on LGTM.com new alerts:
|
@lolyu , please dont force-push. I would like to review incremental changes. |
Signed-off-by: Longxiang Lyu <lolv@microsoft.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, minor comments
@@ -534,6 +534,11 @@ bool MuxCable::nbrHandler(bool enable, bool update_rt) | |||
void MuxCable::updateNeighbor(NextHopKey nh, bool add) | |||
{ | |||
sai_object_id_t tnh = mux_orch_->getNextHopTunnelId(MUX_TUNNEL, peer_ip4_); | |||
if (add && skip_neighbors_.find(nh.ip_address) != skip_neighbors_.end()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you check if a 'del' operation does not impact the code flow?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Verified the del operation, all works well.
What I did For SoC IPs of ports in active-active cable type, if mux is toggled to standby, still use direct link instead of changing next-hop to the tunnel. Why I did it In an active-active dualtor setup, changing the nexthop of route to SoC IP to the tunnel will have the following problem: If lower ToR is already standby, and somehow the upper ToR decides to toggle itself to standby, the toggle will fail: linkmgrd decide to toggle to standby --> muxorch disables the SoC IP neighbor and change the route next-hop to the tunnel --> ycabled could not setup gRPC connection. How I verified it Add unittest and verify the change on active-active testbeds.
What I did For SoC IPs of ports in active-active cable type, if mux is toggled to standby, still use direct link instead of changing next-hop to the tunnel. Why I did it In an active-active dualtor setup, changing the nexthop of route to SoC IP to the tunnel will have the following problem: If lower ToR is already standby, and somehow the upper ToR decides to toggle itself to standby, the toggle will fail: linkmgrd decide to toggle to standby --> muxorch disables the SoC IP neighbor and change the route next-hop to the tunnel --> ycabled could not setup gRPC connection. How I verified it Add unittest and verify the change on active-active testbeds.
What I did
For SoC IPs of ports in
active-active
cable type, if mux is toggled to standby, still use direct link instead of changing next-hop to the tunnel.Why I did it
In an
active-active
dualtor setup, changing the nexthop of route to SoC IP to the tunnel will have the following problem:If lower ToR is already standby, and somehow the upper ToR decides to toggle itself to standby, the toggle will fail:
linkmgrd decide to toggle to standby --> muxorch disables the SoC IP neighbor and change the route next-hop to the tunnel --> ycabled could not setup gRPC connection.
How I verified it
Add unittest and verify the change on
active-active
testbeds.Details if related