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

Custom Netconf Capability #499

Open
svashok opened this issue Aug 8, 2024 · 2 comments
Open

Custom Netconf Capability #499

svashok opened this issue Aug 8, 2024 · 2 comments
Labels
is:question Issue is actually a question.

Comments

@svashok
Copy link

svashok commented Aug 8, 2024

Hi,

As part of standard Netconf capability exchange the following may get exchanged between the server and client - candidate, rollback-on-error, validate, etc. Is it possible to add custom defined capabilities to Netconf server, like the Network Function Type, NF software version, etc.? Basically, how does the server get these capabilities information from the application during start up?

Thanks

@Roytak
Copy link
Collaborator

Roytak commented Aug 8, 2024

Hi, I believe the server gets this list from the YANG modules loaded into the libyang context that is used for accepting new sessions. Another option is to use nc_server_set_capability.

@Roytak Roytak added the is:question Issue is actually a question. label Aug 8, 2024
@jktjkt
Copy link
Contributor

jktjkt commented Aug 8, 2024

The set of NETCONF capabilities is "regulated", and there's a registry maintained by IANA. You are not expected to add custom entries into that list.

Prior to YANG 1.1, these capabilities would include a "list of supported YANG models", essentially. That's no longer the case as of YANG 1.1, and The Correct Way™ is to use the ietf-yang-library. The TL;DR version is that this is all done by sysrepo and netopeer2 for you (if you use these), and all of the YANG models which are available, along with their features are provided as state data in the ietf-yang-library YANG model.

Regarding software version (etc), I suggest to take a look at the ietf-system and ietf-hardware models. If you're looking for an implementation of these with sysrepo, there's the velia project which you might (or might not) find useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
is:question Issue is actually a question.
Projects
None yet
Development

No branches or pull requests

3 participants