diff --git a/README.doxygen b/README.doxygen deleted file mode 100644 index 9ad563b4..00000000 --- a/README.doxygen +++ /dev/null @@ -1,31 +0,0 @@ -/*! This is a small comment on one line - * - * This is a detailed description - * spanning several lines. - * - * Example usage: - * @code - * fn(a, &b); - * @endcode - * - * @param[in] src This is a description of the first parameter - * @param[in,out] dest This is a description of the second parameter - * @retval TRUE This is a description of the return value - * @retval FALSE This is a description of another return value - * @see anotherfn() - * @note This is just an example - */ - -/*! This is a documentation of a typedef or struct - * - * This is a detailed description - * spanning several lines. - * - * Example usage: - * @code - * struct foo f; - * @endcode - */ -typedef foo{ - int a; /**< This is the a field*/ -}; diff --git a/README.md b/README.md index b199f554..4712f574 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,30 @@ # Clixon -Clixon is an automatic configuration manager where you from a YANG -specification generate interactive CLI, NETCONF, RESTCONF and embedded -databases with transaction support. +Clixon is an automatic configuration manager where you generate +interactive CLI, NETCONF, RESTCONF and embedded databases with +transaction support from a YANG specification. -Presentations and tutorial is found on the [Clicon project page](http://www.clicon.org) +![clixon sdk](doc/clixon_example_sdk.png) Table of contents ================= - * [Table of contents](#table-of-contents) - * [Installation](#installation) * [Documentation](#documentation) + * [Installation](#installation) * [Dependencies](#dependencies) * [Licenses](#licenses) - * [History](#history) - * [Yang](#yang) + * [Background](#background) + * [Yang and XML](#yang-and-xml) + +Documentation +============= +- [Frequently asked questions](doc/FAQ.md) +- [XML datastore](datastore/README.md) +- [Netconf support](apps/netconf/README.md) +- [Restconf support](apps/restconf/README.md) +- [Reference manual](http://www.clicon.org/doxygen/index.html) (Better: cd doc; make doc) +- [Routing example](example/README.md) +- [Clicon project page](http://www.clicon.org) +- [Tests](test/README.md) Installation ============ @@ -25,17 +35,9 @@ A typical installation is as follows: sudo make install # Install libs, binaries, and config-files sudo make install-include # Install include files (for compiling) ``` -One example applications is provided, a IETF IP YANG datamodel with generated CLI and configuration interface. -Documentation -============= -- [Frequently asked questions](doc/FAQ.md) -- [XML datastore](datastore/README.md) -- [Netconf support](apps/netconf/README.md) -- [Restconf support](apps/restconf/README.md) -- [Reference manual](http://www.clicon.org/doxygen/index.html) (Better: cd doc; make doc) -- [Routing example](example/README.md) -- [Tests](test/README.md) +One [example application](example/README.md) is provided, a IETF IP YANG datamodel with +generated CLI and configuration interface. Dependencies ============ @@ -60,7 +62,6 @@ See [LICENSE.md](LICENSE.md) for license, [CHANGELOG](CHANGELOG.md) for recent c Background ========== - We implemented Clixon since we needed a generic configuration tool in several projects, including [KTH](http://www.csc.kth.se/~olofh/10G_OSR). Most of these projects @@ -72,16 +73,17 @@ where the legacy key specification has been replaced completely by YANG and using XML as configuration data. This means that legacy Clicon applications do not run on Clixon. -YANG -==== +YANG and XML +============ -YANG is at the heart of Clixon. RFC 6020 is implemented with some -exceptions as noted below. A Yang specification is used to generated -an interactive CLI client. Clixon also provides a Netconf and Restconf -client based on Yang. +YANG and XML is at the heart of Clixon. Yang modules are used as a +specification for handling XML configuration data. The spec is also +used to generate an interactive CLI client as well as provide +[Netconf](apps/netconf/README.md) and +[Restconf](apps/restconf/README.md) clients. -The following features are (not yet) implemented: -- type object-references +The [YANG RFC 6020](https://www.rfc-editor.org/rfc/rfc6020.txt) is implemented with the following exceptions: +- object-references - if-feature - unique - rpc diff --git a/apps/netconf/README.md b/apps/netconf/README.md index 4cd5f454..92e6a8b9 100644 --- a/apps/netconf/README.md +++ b/apps/netconf/README.md @@ -1,11 +1,11 @@ # Clixon Netconf -Clixon Netconf implements the following NETCONF standards: -- RFC 4741 (NETCONF Configuration Protocol) -- RFC 4742 (Using the NETCONF Configuration Protocol over Secure SHell (SSH)) -- RFC 5277 (NETCONF Event Notifications) +Clixon Netconf implements the following NETCONF proposals or standards: +- [NETCONF Configuration Protocol](http://www.rfc-base.org/txt/rfc-4741.txt) +- [Using the NETCONF Configuration Protocol over Secure SHell (SSH)](http://www.rfc-base.org/txt/rfc-4742.txt) +- [NETCONF Event Notifications](http://www.rfc-base.org/txt/rfc-5277.txt) -It needs to be updated to RFC6241 and RFC 6242. +However, it needs to be updated to RFC 6241 and RFC 6242. Clixon NETCONF currently does not support the following features: diff --git a/apps/restconf/README.md b/apps/restconf/README.md index cedf819f..81905802 100644 --- a/apps/restconf/README.md +++ b/apps/restconf/README.md @@ -5,7 +5,7 @@ Clixon restconf is a daemon based on FASTCGI. Instructions are available to run with NGINX. The implementatation supports plain OPTIONS, HEAD, GET, POST, PUT, PATCH, DELETE. and is based on draft-ietf-netconf-restconf-13. -There is currently (2017) a RFC 8040, many of those features are _not_ implemented, +There is currently (2017) a [RFC 8040: RESTCONF Protocol](https://tools.ietf.org/html/rfc8040), many of those features are _not_ implemented, including: - query parameters (section 4.9) - notifications (sec 6) diff --git a/doc/clixon_example_sdk.png b/doc/clixon_example_sdk.png new file mode 100644 index 00000000..ca5f91e1 Binary files /dev/null and b/doc/clixon_example_sdk.png differ