-
Notifications
You must be signed in to change notification settings - Fork 537
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
[vlanmgrd]: Preventing VLAN interfaces from going down when all of their member ports are down #3370
Open
mramezani95
wants to merge
10
commits into
sonic-net:master
Choose a base branch
from
mramezani95:mramezani/vlan_svi_autostate
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
[vlanmgrd]: Preventing VLAN interfaces from going down when all of their member ports are down #3370
mramezani95
wants to merge
10
commits into
sonic-net:master
from
mramezani95:mramezani/vlan_svi_autostate
Conversation
This file contains 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
…ed to the bridge are down, the bridge interface still remains up (and as a result, VLAN interfaces connected to the bridge also remain up). Signed-off-by: Mahdi Ramezani <[email protected]>
@dgsudharsan , fyi |
If I understand, this Vlan interface without neighbors is used only for decapsulation purpose? Why can't we use Loopback interface? |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
no, we use Vlan GW IP as well for decap in addition to Loopback. |
dgsudharsan
previously approved these changes
Nov 23, 2024
…ce's subnet is added to the 'ASIC_STATE:SAI_OBJECT_TYPE_ROUTE_ENTRY' table upon creation of the VLAN interface. Signed-off-by: Mahdi Ramezani <[email protected]>
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.
What I did
Started up the "dummy" interface that is already connected to the bridge named "Bridge" so that when all ports connected to the bridge are DOWN, the bridge interface remains UP. This ensures that when there is one VLAN interface connected to the bridge, it remains UP even when all of the VLAN's member ports are DOWN.
Since the VLAN interface is UP immediately after creation (because the "dummy" interface is UP), at least one route to the VLAN's subnet is added to the
ASIC_STATE:SAI_OBJECT_TYPE_ROUTE_ENTRY
table (one route if the VLAN is created in a peerless Vnet, and two routes if it is created in a VNet with one peer). Tests intests/test_vnet.py
have been updated to reflect this fact.Why I did it
Before this change, when all member ports of a VLAN interface went down, the VLAN interface also went operationally down. This effectively disabled the advertisement of the VLAN interface's subnet IP to neighbors and prevented the IP-in-IP decapsulation feature for the VLAN interface from working properly.
How I verified it
I ran the tests submitted in PR #15244 for sonic-mgmt repo on a T0 testbed and verified that when all member ports of a VLAN are brought down, the VLAN interface remains operationally UP and BGP advertisement and IP-in-IP decapsulation features work as expected.
I also ran all tests in
tests/test_vnet.py
on a local DVS container after starting up the "dummy" interface and verified that all of them pass (except fortest_vnet_orch_4
, which is skipped).