clixon/README.md
Olof hagsand b99ce2c499 docs
2017-05-07 18:11:20 +02:00

2.9 KiB

Clixon

Clixon is an automatic configuration manager where you from a YANG specification generate interactive CLI, NETCONF, RESTCONF and embedded databases with transaction support.

Presentations and tutorial is found on the Clicon project page

Table of contents

Installation

A typical installation is as follows:

     configure	       	       # Configure clixon to platform
     make                      # Compile
     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

Dependencies

Clixon is dependend on the following packages

  • CLIgen is required for building Clixon. If you need to build and install CLIgen:
    git clone https://github.com/olofhagsand/cligen.git
    cd cligen; configure; make; make install
  • Yacc/bison
  • Lex/Flex
  • Fcgi (if restconf is enabled)
  • Qdbm key-value store (if keyvalue datastore is enabled)

Licenses

Clixon is dual license. Either Apache License, Version 2.0 or GNU General Public License Version 2. You choose.

See LICENSE.md for license, CHANGELOG for recent changes.

Background

We implemented Clixon since we needed a generic configuration tool in several projects, including KTH. Most of these projects were for embedded network and measuring-probe devices. We started with something called Clicon which was based on a key-value specification and data-store. But as time passed new standards evaolved and we started adapting it to XML, Yang and netconf. Finally we made Clixon 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 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.

The following features are (not yet) implemented:

  • type object-references
  • if-feature
  • unique
  • rpc