-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
feat(frrcfgd): update for new locator config way #21843
Open
LARLSN
wants to merge
1
commit into
sonic-net:master
Choose a base branch
from
LARLSN:lsn-frrcfgd
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
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Oops, something went wrong.
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.
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.
Why the damemon corresponding to MY_SIDS table is mgmtd? I thought that the static-sids command is handled by staticd?
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.
In the frr code, mgmtd calls the relevant vtysh cli func defined by staticd, so it's still staticd to handle the command
Since we use unified config mode for FRR, https://github.com/sonic-net/sonic-mgmt/blob/master/ansible/vars/configdb_jsons/7nodes_cisco/PE1.json#L130, this leads to use mgmtd as the entry point for FRR configurations.
@venkatmahalingam hi, could you please help to confirm this understand ?
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.
Using client socket, we'll send the configs to corresponding FRR daemons, why would we send all FRR configurations to mgmtd, any new changes that I'm not aware of?
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.
@venkatmahalingam we are using "docker_routing_config_mode": "unified". In my understanding, since it is unified mode, the configuration would go via mgmtd, then distribute to different protocol process. Is that the correct understanding?
I saw mgmtd https://docs.frrouting.org/en/latest/mgmtd.html
"The FRR Management Daemon (from now on referred to as MGMTd) is a new centralized entity representing the FRR Management Plane which can take management requests from any kind of UI/Frontend entity (e.g. CLI, Netconf, Restconf, Grpc etc.) over a new unified and common Frontend interface "
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.
No, we send the configs to FRR daemons via client socket, executing the "subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)" for each command causing delays in case of scaled FRR configs.
sonic-buildimage/src/sonic-frr-mgmt-framework/frrcfgd/frrcfgd.py
Line 52 in b1a04e5
As much as possible we can use the FRR daemons's client socket directly, if this is restricted by FRR or mgmtd provides better configuration handling, we could migrate to use mgmtd for all commands, no need to map configs to FRR daemons.
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.
We can gradually migrate configs associated with staticd daemon to mgmtd. Starting with SRv6 now, then static routes, and so on. @venkatmahalingam @eddieruan-alibaba what do you think?
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've been hearing YANG validation issues that caused config failure with bgpcfgd because of mgmtd, we have no urgency to use mgmtd for frrcfgd, we can wait for mgmtd's stability and access the importance of adding extra hop (mgmtd) to config FRR daemons, I believe, direct client socket method to configure FRR deamon would continue to be there. @LARLSN If SRV6_MY_SIDS is working with staticd directly, please make change to reflect it in the code.
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.
@ahsalam What are the current configs using mgmtd? Could you please provide some details
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.
We started with staticd, it doesn't work since frr has moved to use mgmtd for staticd.
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.
@venkatmahalingam As eddie said,We firstly used staticd,which can not handle this command. This is the shot of frrcfgd log file when used staticd
