CESNET / libnetconf

C NETCONF library
Other
113 stars 83 forks source link

Question about capabilies supported in libnetconf or libnetconf2 #248

Open RogerYaozhenyu opened 7 years ago

RogerYaozhenyu commented 7 years ago

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

michalvasko commented 7 years ago

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 commented 7 years ago

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?


below is not supported in either. right?

michalvasko commented 7 years ago

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 commented 7 years ago

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 commented 7 years ago

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