../_images/logo.png

Sysrepo Integration Introduction

This document describes the sysrepo integration feature for netconfd-pro.

The purpose of this integration is to allow netconfd-pro to operate as the primary YANG-aware protocol server while also interfacing with a sysrepo-based datastore and plugin environment. With this design, netconfd-pro continues to provide full protocol handling for NETCONF, RESTCONF, gNMI, etc while sysrepo can be used as an additional backend for configuration, operational data, RPCs, and Actions handling.

The integration is intended for deployments that require both of the following:

  • a production-grade YANG and protocol engine provided by netconfd-pro

  • a sysrepo-based data handling model, including plugin-driven backend integration and structured storage in external systems such as JSON, MongoDB, or Redis

The netconfd-pro server remains fully functional without sysrepo. Its native datastore and server behavior continue to operate normally. When sysrepo integration is enabled and sysrepo provides YANG modules with matching support, netconfd-pro also synchronizes the relevant operations with sysrepo.

Sysrepo Integration Features

Sysrepo Integration Architectural Components

../_images/Sysrepo_integration.png

In this model, netconfd-pro remains the front-end protocol engine and request processor. Client requests are received and interpreted by netconfd-pro, then routed through the sysrepo integration layer when the target operation or module is managed by sysrepo.

The overall processing model can be summarized as follows:

client -> netconfd-pro -> sysrepo -> backend storage or plugin logic

Depending on the sysrepo deployment, the backend side may be implemented through sysrepo subscribers, plugins, or adapters connected to external storage systems such as JSON files, MongoDB, Redis, or other application-defined repositories.

The netconfd-pro server sysrepo integration supports the following categories of YANG-based operations:

  • Configuration edit processing

  • Retrieval of configuration and operational data

  • RPC handling

  • Action handling

Introduction to Sysrepo Integration

The integration does not replace the native netconfd-pro architecture. Instead, it extends the server so that selected YANG modules and operations can also be processed through sysrepo.

This makes it possible to combine the following in a single deployment:

  • netconfd-pro protocol processing and server infrastructure

  • sysrepo datastore integration

  • sysrepo plugin and subscriber mechanisms

  • external backend storage controlled by sysrepo-aware applications

As a result, netconfd-pro may continue to operate with its own native database while also interacting with sysrepo for modules or operations that are managed there.

No SIL Code Required for Sysrepo-Managed Modules

The Sysrepo Integration feature does not require SIL code or auto-generated SIL code for YANG modules that are managed through sysrepo.

When a YANG module is installed in sysrepo and the same module is also loaded by netconfd-pro, the server automatically enables the internal Global Callbacks APIs handling for that module.

In this mode, netconfd-pro does not require module-specific SIL callbacks to process configuration edits, retrieval requests, RPCs, or Actions. Instead, the server automatically invokes its internal Sysrepo Integration for the relevant operations and communicates with sysrepo as needed.

This design allows a YANG module to be managed through sysrepo with minimal server-side integration work, provided that the module is present in the sysrepo repository and available to netconfd-pro at startup.

Sysrepo Integration Restrictions

The following restrictions apply to the current sysrepo integration:

  1. Global Callbacks APIs cannot be used when the --with-sysrepo parameter is set to true. The integration already uses Global callback for RPC, Action, EDIT, and GET2 processing.

  2. Configuration edits to sysrepo must not be performed by an external configuration server in parallel with netconfd-pro. The integration assumes that netconfd-pro is the authoritative management server for the shared configuration view presented to clients.

  3. The installed libsysrepo and libyang versions must be compatible with the versions used to build and run the integration. At minimum, the supported baseline should not be older than the versions provided by the target Ubuntu distribution.

Tested compatibility baseline: sysrepo 2.0.53 and libyang 2.0.112.