The future of network management and network configuration is here!

MG-SOFT NETCONF Simulator software application can simulate numerous network devices supporting the NETCONF, RESTCONF and gNMI configuration protocols (i.e., NETCONF/RESTCONF/gNMI servers) on one computer. Each simulated server can be configured to listen on different IP address and ports, support its own set of YANG modules and features, as well as distinct access parameters (SSH or TLS, user credentials, certificates). Simulated servers also support sending of NETCONF, RESTCONF and gNMI notifications to subscribed clients.

The simulated NETCONF/RESTCONF/gNMI servers appear to network management systems as real network devices supporting the NETCONF protocol (RFC 6241, RFC 4741), and optionally also RESTCONF protocol (RFC 8040) and gNMI protocol (specification). In addition, the software also supports NETCONF Call Home over SSH and TLS (RFC 8071). You can benefit from the NETCONF Simulator, for example, if you are involved in developing or testing of NETCONF/RESTCONF/gNMI client or network management/orchestration applications, or conducting configuration management demonstrations or evaluations, etc.

MG-SOFT NETCONF Simulator diagram
MG-SOFT NETCONF Simulator can simulate numerous NETCONF/RESTCONF/gNMI servers and fits perfectly into modern automated testing environments.

The main components of the software are the simulator engine and the management console (screen shot). Simulator engine continuously runs as a system service and simulates NETCONF/RESTCONF/gNMI servers. An easy-to-use management console (GUI) is provided for configuring and managing simulated NETCONF/RESTCONF/gNMI server instances. The management console incorporates bulk commands that let you create, configure, start and stop simulating a group of NETCONF/RESTCONF/gNMI servers at a time. It also features a built-in IP address manager utility that lets you easily add IPv4 and IPv6 addresses to the local network interfaces in order for simulated servers to listen on these addresses. The software also supports acquiring IP addresses and Call Home targets via DHCP.

In addition, the software incorporates a Northbound Interface (NBI) with a REST API. Via NBI, simulated servers can be created and manipulated programmatically, which enables integration of NETCONF Simulator into automated testing environments (CI/CD pipeline).

MG-SOFT NETCONF Simulator can take a snapshot of any NETCONF server on the network and simulate such server. In addition to the configuration and/or state data retrieved from a real NETCONF device, the software can download also the YANG modules from it and discover the features it supports. All this information is stored in a YANG profile that can be easily assigned to one or more simulated servers.

MG-SOFT NETCONF Simulator GUI (dark theme)
MG-SOFT NETCONF Simulator GUI (dark theme).

Furthermore, the software incorporates different methods of simulating the NETCONF/RESTCONF/gNMI server behavior by automatically changing the values of configured data node instances during runtime. In other words, one can configure a specific live behavior using the template-based mechanism and easily apply it to multiple simulated servers that use the same YANG profile, while having the possibility to customize/override the behavior for individual servers or even individual instances of a data node (e.g., one interface instance behaves differently than others). In addition to the GUI-configurable live template behavior, the software incorporates the Scripting API and supports scripting that enables advanced modeling of sever behavior, sending notifications, advanced creation of error scenarios and configuration of inter-relationships between YANG node instances. To make the simulations even more realistic, the software lets you create different scripting scenarios and activate or de-activate scenarios during runtime, without stopping the simulation.

NETCONF Simulator lets you configure YANG profiles also manually by adding desired YANG modules to the profile and editing the server snapshot in a visual manner. The software can use a data model defined by any set of valid YANG modules (standard and proprietary). It also lets you simulate invoking of RPC operations and actions defined in proprietary YANG modules.

Furthermore, the management console lets you configure access profiles containing NETCONF/RESTCONF/gNMI access parameters, including user credentials, X.509 certificates and Call Home options. Access profiles can be assigned to one or more simulated servers in order to control their accessibility on the network.

Simulated servers support a wide range of standard NETCONF capabilities (base NETCONF 1.0, base NETCONF 1.1, writable running datastore, candidate datastore, startup datastore, confirmed commit operation 1.0 and 1.1, notifications (RFC 6470, RFC 8639, RFC 8641) XPath filtering, configuration validation 1.0 and 1.1, rollback-on-error edit-config option, yang-library, with-defaults data handling (RFC 6243), and so on). Other capabilities can be supported by configuring a corresponding YANG profile. In addition, simulated servers support also all standard NETCONF operations, like get, get-config, edit-config, copy-config, delete-config, commit, lock, unlock, etc.

Support for RESTCONF protocol can be enabled on a per-server basis. When enabled, the simulated servers support all standard RESTCONF operations, like GET, PUT, POST, PATCH, DELETE, etc. Simulated servers support also standard RESTCONF capabilities (:depth, :filter, :fields, etc. query parameters, yang-library, ietf-restconf-monitoring module, basic notifications, with-defaults data handling, etc.). Both, XML and JSON data encodings are supported in RESTCONF mode.

Similarly, support for gNMI protocol can be enabled on a per-server basis. When enabled, the simulated servers will support all standard gNMI operations, i.e., Get, Set, Subscribe and Capabilities. Simulated gNMI servers support all types of data encoding listed in the gNMI specification.

NETCONF Simulator "implements" the 'ietf-yang-library' and 'ietf-netconf-monitoring' YANG modules, meaning that all YANG modules you assign to a simulated server will be automatically announced as supported in these two modules and available for download by NETCONF and RESTCONF clients. In addition, NETCONF Simulator "implements" also the network configuration access control model (ietf-netconf-acm) and supports all options of the NACM. Besides, the software supports also managing users via NETCONF/RESTCONF protocol by implementing the relevant portions of the 'ietf-system' and 'o-ran-usermgmt' YANG modules.

In addition to the original NETCONF event reporting mechanism defined in RFC 5277, NETCONF Simulator supports also a modern notification subscription model defined in RFC 8639 - RFC 8641 and referred to as "YANG Push". This functionality enables establishing dynamic and configured subscriptions to either event streams or datastore updates of simulated servers. The subscribed information is then pushed to clients by means of the NETCONF and/or RESTCONF notifications, as specified in RFC 8640 and RFC 8650, respectively. The software supports periodic and on-change push subscriptions that enable streaming of YANG-modeled configuration and state data from server to client and thus eliminates the need for periodic polling of YANG datastores by a NETCONF/RESTCONF client. In addition, gNMI telemetry streaming via subscriptions is also supported.

MG-SOFT NETCONF Simulator is compliant with the following IETF's RFC documents: RFC 4741, RFC 4742, RFC 5277, RFC 5539, RFC 6020, RFC 6022, RFC 6241, RFC 6242, RFC 6243, RFC 6470, RFC 6991, RFC 7589, RFC 7895, RFC 7950, RFC 7951, RFC 8040, RFC 8071, RFC 8341, RFC 8639, RFC 8640, RFC 8641 and RFC 8650.

NETCONF Simulator is a Java(TM) application that can be used on 64-bit MS Windows and Linux operating systems with 64-bit Java Runtime Environment version 8 or later installed. For detailed system requirements please consult the section 2.1 in the User Manual.

A customer testimonial
"Thank you for the prompt and detailed help.

Picture of Config-Edit to Set Attribute & Delete is excellent.
Successfully deleted VRF with both MG-SOFT & netconf-console.
For sharing, config is copied in below with red highlight.

    <native xmlns="urn:ios">
      <definition nc:operation="delete" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">

Thanks again!"

Howie Wang , Software Engineer
Cisco Systems, U.S.A.