]> git.proxmox.com Git - mirror_frr.git/commit - lib/northbound_confd.c
lib: add a new northbound plugin for ConfD
authorRenato Westphal <renato@opensourcerouting.org>
Wed, 23 May 2018 23:11:59 +0000 (20:11 -0300)
committerRenato Westphal <renato@opensourcerouting.org>
Sat, 27 Oct 2018 18:16:12 +0000 (16:16 -0200)
commit5bce33b3c1dd9860dd5671935f6b399d4986b55a
tree1a4899c66e0f626bf0252cee76f964ee53f80fe9
parent8fcdd0d63530d33f853d3fb54793b7b58a33b591
lib: add a new northbound plugin for ConfD

This plugin leverages the northbound API to integrate FRR with the ConfD
management agent.

The plugin is linked to the libconfd library and communicates with the
confd daemon using local TCP sockets. The integration consists mostly
of glue code that calls the appropriate FRR northbound callbacks in
response to events triggered by the confd daemon (e.g. request to change
the configuration or to fetch operational data).

By integrating FRR with the libconfd library, FRR can be managed using
all northbound interfaces provided by ConfD, including NETCONF, RESTCONF
and their Web API.

The ConfD CDB API is used to handle configuration changes and the ConfD
Data Provider API is used to provide operational data, process RPCs and
send notifications. Support for configuration management using the ConfD
Data Provider API is not available at this point.

The ConfD optional 'get_object()' and 'get_next_object()' callbacks were
implemented for optimal performance when fetching operational data.

This plugins requires ConfD 6.5 or later since it uses the new leaf-list
API introduced in ConfD 6.5.

To install the plugin, the --enable-confd option should be given to the
configure script, specifying the location where ConfD is installed.

Example: ./configure --enable-confd=/root/confd-6.6

When installed, the confd plugin will be available for all FRR daemons
and can be loaded using the -M (or --module) command line option.

Example: zebra -M confd.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
configure.ac
doc/user/installation.rst
lib/northbound.c
lib/northbound.h
lib/northbound_confd.c [new file with mode: 0644]
lib/subdir.am