commit | 6ee8479908bb12313cd68ea285a9d5c62abf77cb | [log] [tgz] |
---|---|---|
author | Jan Kundrát <jan.kundrat@cesnet.cz> | Fri Jan 24 01:43:36 2020 +0100 |
committer | Jan Kundrát <jan.kundrat@cesnet.cz> | Mon Jan 27 17:04:33 2020 +0100 |
tree | 18e9e01043792f458bd5a73faa0f6d9c19c2b4eb | |
parent | 69aabe936b3853037e324a6f47c830355bfee7b0 [diff] |
DatastoreAccess: add support for generic user-defined RPCs I was lazy and in the NETCONF backend, the fillMap patch does not check for actual string prefix match, it just optimistically trims the RPC prefix. I think this is safe (definitely in the "won't crash" department due to use of std::string::substr(), but also in the "won't produce garbage" context because libyang is expected to validate everything). In the sysrepo backend, I had to introduce some duplication into that visitor which converts from our data types to sysrepo. It tirns out that sysrepo::Session::set_item requires a separate S_Val, whereas in context of handling an RPC's output, we have a Vals_Holder which, after reallocation, becomes a Vals instance, and that one does not support replacing the individual Val instances by "something" -- one has to call a Val::set, and these methods are different from Val::Val constructors. I'm explicitly testing for lists and containers because the documentation looked a bit scary -- I understood it in a way which make me spend extra effort to make sure that all that has to be created gets created. Change-Id: I717af71d69b209c444e1c5fe6d8ec2c2fcbdde8b
This program provides an interactive console for working with YANG data. It can connect to NETCONF servers, and also talk to sysrepo locally.
For building, one needs:
Use an exact commit of any dependencies as specified in submodules/dependencies/*
.
The build process uses CMake. A quick-and-dirty build with no fancy options can be as simple as mkdir build && cd build && cmake .. && make && make install
.
Issue reporting and feature requests are welcome via Taiga.io.
We are using Gerrit for patch submission, code review and Continuous Integration (CI). Development roadmap and planning happens over Taiga.io.
Copyright © CESNET, https://www.cesnet.cz/ . Portions copyright © Faculty of Information Technology, Czech Technical University in Prague, https://fit.cvut.cz/ . Most of the code was written by Václav Kubernát (CESNET, formerly FIT ČVUT) and Jan Kundrát (CESNET). The project is distributed under the terms of the Apache 2.0 license.