ConfD Architecture

Click on the specific components or APIs below to learn more about the ConfD architecture.

confd schematic

NETCONF

This is a management agent for the new XML-based NETCONF protocol for automated configuration of network devices. NETCONF allows devices to expose an XML-based API to the network operator. It can be used to send and/or receive full or partial configuration data sets. The NETCONF Interface provides an implementation of the NETCONF protocol, as well as a complete mapping from NETCONF operations to configuration database operations for either the Embedded XML Database or a configuration database of your choice. For example, a complex NETCONF edit-config or copy-config operation is mapped to a minimal set of database read and write operations. NETCONF Event Notification support enables a NETCONF client to subscribe to receiving event information from a server.

SNMP

SNMP agent supporting SNMPv1, SNMPv2c, and SNMPv3. Includes a tool that compiles SNMP MIBs to XML specifications. The SNMP agent runs on top the XML Management Backplane and uses the same instrumentation code as the other management agents.

CLI

ConfD CLI automatically renders a Command Line Interface (CLI) from the same underlying XML data model used to generate the NETCONF and Web UI Interfaces. This agent provides a complete mapping from CLI commands to configuration database operations for either the Embedded XML Database or the configuration database of your choice. Developers can also customize the CLI using an additional specification, for example, to group operations into a single command or to define wizards and help texts. This capability allows the CLI to mask-out the excess detail that is derived from the comprehensive underlying data model.

Web UI

This is a management agent that automatically renders a Web UI management interface from the same underlying XML data model used to generate the NETCONF and CLI. Because Web interfaces are often more task-oriented than a NETCONF data model, the web based management interface can be customized using an additional specification in order to group operations into a single HTML form or to define wizards, to help texts and statistical Web widgets, etc. The Web UI is based on AJAX technology, improving responsiveness by exchanging small amounts of data with the web server on the device, so that the entire web page does not have to be reloaded each time the displayed data changes. This increases the Web UI?s interactivity, speed, and usability.

Other agent

This can be a custom-built management agent such as a GUI application or some other management protocol implementation. These other agents use the Management Agent API to talk to the Management Backplane.

Management Agent API

Using the Management API you can write your own management agents, such as your own CLI or Web UI, instead of using Tail-f Systems' built-in components. The API is a clean C API with functions to read and write configuration parameters as well as subscribe to configuration changes. The configuration parameters are either stored in the Embedded XML Database or in the configuration database of your choice. The API is transaction based and you can apply a number of write operations with a single commit operation.

ConfD Core Engine

The ConfD Core Engine provides the logic that maps XML specifications to the data in the Embedded XML database (or another database) and provides the transaction manager used by all other ConfD components. The Management Backplane also handles the logic behind the API engines, such as the Management Agent API, External AAA API, and Database API. For more detailed information about the ConfD Core Engine look at the ConfD Core Engine page or read the datasheet.

PAM

The Management Backplane authenticates incoming access via NETCONF, CLI, Web UI, as well as other requests, using the Pluggable Authentication Modules (PAM) AAA system. PAM is a widely deployed de-facto AAA UNIX standard framework originating from SunSoft. A large number of off-the-shelf modules exist, including those for password, LDAP and RADIUS authentication. Or, you can write your own module, as described in The Linux-PAM Module Writers' Guide, for example.

Data Provider API

The Database API lets applications hook into the ConfD transaction machinery, thus allowing the applications to provide one or several data sources for either configuration data or operational statistics data. The API is a clean C API where the applications install callback functions for the different phases in a transaction.

Embedded XML Database

The built-in ConfD management database is a lightweight, fault-tolerant distributed database. It is optimized for storing and retrieving XML data efficiently. The database can be used in systems consisting of a single node or several nodes in a cluster. It handles updates to the database schema automatically.

Managed Object API

Using the Managed Object API, you can let your Managed Objects read configuration parameters as well as subscribe to configuration changes in the Embedded XML Database. The API is a clean C API that is read-only and transaction based

ConfD Core Engine Management Agent API Data Provider API Managed Object API NETCONF SNMP CLI Web Other agent