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

Support for in-band-mgmt via management VRF #1707

Closed
wants to merge 0 commits into from

Conversation

venkatmahalingam
Copy link
Contributor

@venkatmahalingam venkatmahalingam commented Apr 13, 2021

Signed-off-by: Venkatesan Mahalingam venkatesan_mahalinga@dell.com

Please refer HLD and swss-common pull requests for more information.

What I did

Support for in-band-mgmt via management VRF

Why I did it
Other than eth0, mgmt VRF should have in-band L3 interfaces as well.

How I verified it
Verified the functionality using sonic-vs testcases

Details if related

@venkatmahalingam
Copy link
Contributor Author

@prsunny Please take a look at the in-band-mgmt via mgmt VRF support changes.

@venkatmahalingam
Copy link
Contributor Author

@prsunny Can you please review this PR?

cfgmgr/vrfmgr.cpp Outdated Show resolved Hide resolved
cfgmgr/vrfmgr.cpp Outdated Show resolved Hide resolved
if (fvValue(i) == "true") {
mgmt_vrf_enabled = true;
} else {
op = DEL_COMMAND;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we overwriting the op command here?. This operation is expected from the notification

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should delete the VRF (Virtual router) from HW when no in-band-intf is part of the mgmt VRF i.e when in_band_mgmt_enabled is set false, we can set the op as DEL_COMMAND to delete the VRF.

orchagent/intfsorch.cpp Outdated Show resolved Hide resolved
@@ -389,7 +403,8 @@ set<IpPrefix> IntfsOrch:: getSubnetRoutes()
return subnet_routes;
}

bool IntfsOrch::setIntf(const string& alias, sai_object_id_t vrf_id, const IpPrefix *ip_prefix, const bool adminUp, const uint32_t mtu)
bool IntfsOrch::setIntf(const string& alias, const string& vrf_name, sai_object_id_t vrf_id, const IpPrefix *ip_prefix,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets discuss this - Why we need to pass the vrf_name to this function.

Copy link
Contributor Author

@venkatmahalingam venkatmahalingam Apr 23, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This helps to ignore the HW programming of the nbr learnt thru in-band-intf (attached to mgmt VRF).

@venkatmahalingam
Copy link
Contributor Author

@prsunny I created a new PR based on private branch instead of a master "Support for in-band-mgmt via management VRF #1726".

EdenGri pushed a commit to EdenGri/sonic-swss that referenced this pull request Feb 28, 2022
…commands executed from linecard (sonic-net#1707)

* [multi-asic][cli][chassis-db] Avoid connecting to chassis db

Currently, for all the cli commands, we connect to all databases
mentioned in the database_config.json. The database_config.json also
includes the databases from chassis redis server from supervisor card.
It is unneccessary to connect to databases from chassis redis server
when cli commands are executed form linecard. But we need to allow
connection to chassis databases when the cli commands are executed from
supervisor card.

The changes in this PR fixes this problem. The constructor of Db() class
which is instantiated for every CLI command execution is changed to skip
chassis databases from the list of collected databases if the card is not
supervisor card.

Signed-off-by: vedganes <vedavinayagam.ganesan@nokia.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
Development

Successfully merging this pull request may close these issues.

2 participants