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

Question about capabilies supported in libnetconf or libnetconf2 #248

Open
RogerYaozhenyu opened this issue Dec 9, 2016 · 5 comments
Open

Comments

@RogerYaozhenyu
Copy link

i have some question want to konw clearly , there is no mention about
the Confirmed Commit Capability ,Rollback-on-Error Capability,XPath Capability and yang-push:1.0 etc,
so i want to know that does the ibnetconf or libnetconf2 supoort these features? thanks

@RogerYaozhenyu RogerYaozhenyu changed the title Question abouth detail capabilies supported in libnetconf or libnetconf2 Question about capabilies supported in libnetconf or libnetconf2 Dec 9, 2016
@michalvasko
Copy link
Member

Hi,
Confirmed Commit capability is not supported in libnetconf nor libnetconf2, Rollback on Error is supported in both, XPath is supported only in libnetconf2, and yang-push is not supported in either.

Regards,
Michal

@RogerYaozhenyu
Copy link
Author

RogerYaozhenyu commented Dec 9, 2016

Hi, Michal
i am glad to get your reply so quick.
please help me to confirm if these capabilities are supported in both libnetconf and libnetconf2?

  • writable-running
  • :candidate
  • :rollback-on-error
  • :validate
  • :validate:1.1
  • :startup
  • :url
  • :notification
  • :notification1.1
  • :interleave
  • :with-defaults
  • :base:1.0
  • :base:1.1
  • get
  • get-config
  • edit-config
  • copy-config
  • delete-config
  • lock
  • unlock
  • close-session
  • kill-session

below is not supported in either. right?

  • :confirmed-commit
  • :confirmed-commit:1.1
  • :partial-lock
  • :time:1.0
  • :yang-library
  • :yang-push:1.0

thansk in advance!

@michalvasko
Copy link
Member

Hi,
to be clear and correct I need to know whether you are asking about libnetconf and libnetconf2 capabilities or libnetconf & netopeer and libnetconf2 & netopeer2 & sysrepo. In other words, whether you want to build your own server or use our implementations.

Regards,
Michal

@RogerYaozhenyu
Copy link
Author

RogerYaozhenyu commented Dec 12, 2016

Hi,
i want to implement netconf protocol feature on our device based on your libnetconf or libnetconf2 lib ,and our device need to provide the features or capabilities mentioned above. so i want to know the capabilitties supported in libnetconf and libnetconf2
yes, i want to build our server on our device based on your implementation(libnetconf or libnetconf2).
there is another question , does netopper or netopper2 and sysrepo must be required? or i can just build libnetconf or libnetconf2 on our device.

@michalvasko
Copy link
Member

Hi,
you need to decide what exactly you want to use from our software based on what you need and the time you have for implementing new code. There are 2 our working NETCONF server solutions - libnetconf & netopeer-server and sysrepo & libnetconf2 & netopeer2-server. In the first case, almost everything is implemented in libnetconf and netopeer-server just puts it together. The second case is different with distinct parts implemented separately. sysrepo is the datastore, libnetconf2 is primarily the NETCONF communication and netopeer2-server implements NETCONF operations themselves. I am going to reference the whole first solution by netopeer and the second one by netopeer2.

netopeer supports all the features you mentioned except notification1.1 (it's still an early draft) and supports none from the ones you marked as unsupported.

In contrast, netopeer2 does not currently support url, notification1.1 and cannot replay notifications so there is only partial notification support. However, yang-library is fully supported.

Now, sysrepo handles fully or partially features writable-running, candidate, startup, rollback-on-error, notification, and operations lock and unlock. So it does not make sense to ask whether libnetconf2 supports these, it depends on the datastore implementation. If it does, so will libnetconf2.

There are also features that are implemented in netopeer2-server, so they are again not part of libnetconf2. They are all the operations get, get-config, edit-config, copy-config, delete-config, kill-session, and close-session. However, to be exact, libnetconf2 offers some basic solution for close-session, but generally speaking what I said before is true.

I hope it is now clear.

Regards,
Michal

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

No branches or pull requests

2 participants