Handle dual ToR neighbor miss scenario#2151
Merged
yxieca merged 8 commits intosonic-net:masterfrom Aug 20, 2022
Merged
Conversation
- When orchagent receives a neighbor update with a zero MAC:
- If the neighbor IP is configured for a specific mux cable port in the MUX_CABLE table in CONFIG_DB, handle the neighbor normally (if active for the port, no action is needed. if standby, a tunnel route is created for the neighbor IP)
- If the neighbor IP is not configured for a specific port, create a tunnel route for the IP to the peer switch.
- When these neighbor IPs are eventually resolved, remove the tunnel route and handle the neighbor normally.
- When creating/initializing a mux cable object, set the internal state to standby to match the constructor behavior.
- Various formatting fixes inside test_mux.py
- Remove references to deprecated `@pytest.yield_fixture`
- Add dual ToR neighbor miss test cases:
- Test cases and expected results are described in `mux_neigh_miss_tests.py`. These descriptions are used by the generic test runner `test_neighbor_miss` function to execute the test actions and verify expected results
- Various setup fixtures and test info fixtures were added
- Existing test cases were changed to use these setup fixtures for consistency
Signed-off-by: Lawrence Lee <[email protected]>
Co-authored-by: Sumukha Tumkur Vani <[email protected]>
|
This pull request fixes 1 alert when merging 17ae951 into 5a651d0 - view on LGTM.com fixed alerts:
|
1 similar comment
|
This pull request fixes 1 alert when merging 17ae951 into 5a651d0 - view on LGTM.com fixed alerts:
|
Contributor
Author
|
/Azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
Author
|
/Azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
This pull request introduces 4 alerts when merging 66b5055 into 0e5e7ba - view on LGTM.com new alerts:
|
Signed-off-by: Lawrence Lee <[email protected]>
|
This pull request introduces 4 alerts when merging 4708357 into d7b5ff7 - view on LGTM.com new alerts:
|
prsunny
previously approved these changes
Jul 29, 2022
|
This pull request introduces 4 alerts when merging a72d155 into 3161eaa - view on LGTM.com new alerts:
|
Signed-off-by: Lawrence Lee <[email protected]>
prsunny
previously approved these changes
Aug 1, 2022
prsunny
previously approved these changes
Aug 11, 2022
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Signed-off-by: Lawrence Lee <[email protected]>
…-swss into dualtor-neigh-miss
yxieca
approved these changes
Aug 20, 2022
yxieca
pushed a commit
that referenced
this pull request
Aug 20, 2022
* Handle dual ToR neighbor miss scenario (#2137) - When orchagent receives a neighbor update with a zero MAC: - If the neighbor IP is configured for a specific mux cable port in the MUX_CABLE table in CONFIG_DB, handle the neighbor normally (if active for the port, no action is needed. if standby, a tunnel route is created for the neighbor IP) - If the neighbor IP is not configured for a specific port, create a tunnel route for the IP to the peer switch. - When these neighbor IPs are eventually resolved, remove the tunnel route and handle the neighbor normally. - When creating/initializing a mux cable object, set the internal state to standby to match the constructor behavior. - Various formatting fixes inside test_mux.py - Remove references to deprecated `@pytest.yield_fixture` - Add dual ToR neighbor miss test cases: - Test cases and expected results are described in `mux_neigh_miss_tests.py`. These descriptions are used by the generic test runner `test_neighbor_miss` function to execute the test actions and verify expected results - Various setup fixtures and test info fixtures were added - Existing test cases were changed to use these setup fixtures for consistency Signed-off-by: Lawrence Lee <[email protected]> Co-authored-by: Sumukha Tumkur Vani <[email protected]>
dprital
added a commit
to dprital/sonic-buildimage
that referenced
this pull request
Aug 29, 2022
Update sonic-swss submodule pointer to include the following: * Dynamic port configuration - add port buffer cfg to the port ref counter ([sonic-net#2194](sonic-net/sonic-swss#2194)) * tlm_teamd: Filter portchannel subinterface events from STATE_DB LAG_TABLE ([sonic-net#2408](sonic-net/sonic-swss#2408)) * [counters] Improve performance by polling only configured ports buffer queue/pg counters ([sonic-net#2360](sonic-net/sonic-swss#2360)) * added support for Xsight platform ([sonic-net#2426](sonic-net/sonic-swss#2426)) * [ci][asan] add DVS tests run with ASAN ([sonic-net#2363](sonic-net/sonic-swss#2363)) * Handle dual ToR neighbor miss scenario ([sonic-net#2151](sonic-net/sonic-swss#2151)) * Upstream new development on p4orch ([sonic-net#2237](sonic-net/sonic-swss#2237)) * [lgtm] Fix dependency ([sonic-net#2419](sonic-net/sonic-swss#2419)) * [muxorch] Returning true if nbr in skip_neighbor_ in isNeighborActive() ([sonic-net#2415](sonic-net/sonic-swss#2415)) * [macsec]: Set MTU for MACsec ([sonic-net#2398](sonic-net/sonic-swss#2398)) * Delete Invalid if condition in intfsorch.cpp ([sonic-net#2411](sonic-net/sonic-swss#2411)) Signed-off-by: dprital <[email protected]>
7 tasks
7 tasks
Janetxxx
pushed a commit
to Janetxxx/sonic-swss
that referenced
this pull request
Nov 10, 2025
* Handle dual ToR neighbor miss scenario (sonic-net#2137) - When orchagent receives a neighbor update with a zero MAC: - If the neighbor IP is configured for a specific mux cable port in the MUX_CABLE table in CONFIG_DB, handle the neighbor normally (if active for the port, no action is needed. if standby, a tunnel route is created for the neighbor IP) - If the neighbor IP is not configured for a specific port, create a tunnel route for the IP to the peer switch. - When these neighbor IPs are eventually resolved, remove the tunnel route and handle the neighbor normally. - When creating/initializing a mux cable object, set the internal state to standby to match the constructor behavior. - Various formatting fixes inside test_mux.py - Remove references to deprecated `@pytest.yield_fixture` - Add dual ToR neighbor miss test cases: - Test cases and expected results are described in `mux_neigh_miss_tests.py`. These descriptions are used by the generic test runner `test_neighbor_miss` function to execute the test actions and verify expected results - Various setup fixtures and test info fixtures were added - Existing test cases were changed to use these setup fixtures for consistency Signed-off-by: Lawrence Lee <[email protected]> Co-authored-by: Sumukha Tumkur Vani <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This is the master branch duplicate of PR #2137
Signed-off-by: Lawrence Lee [email protected]
Co-authored-by: Sumukha Tumkur Vani [email protected]
What I did
Orchagent changes:
Test changes:
@pytest.yield_fixturemux_neigh_miss_tests.py. These descriptions are used by the generic test runnertest_neighbor_missfunction to execute the test actions and verify expected resultsWhy I did it
How I verified it
Details if related