YumaWorks Overview

Multi-protocol Management Features for Your Networking Devices

YumaPro SDK and our development team will help you:

  • Shorten your development schedule with automated management plane development (SIL/SIL-SA).
  • Free up your developers to focus on their product’s features rather than standards implementation.
  • Create more robust products with consistent YANG model driven deployment.
  • Automatically keep up to date with the latest YANG & NETCONF features (roadmap).
  • Provide 20,000 times faster transaction speed over Open Source (performance).
  • Provide developer blocking fixes in as little as 48 hours.
  • Shorten your product’s time to market.
  • Provide timely fixes and upgrades for your product’s support teams.


NETCONF is an IETF defined configuration management protocol to “install, manipulate, and delete the configuration of network devices”. NETCONF operations are conveyed in a Remote Procedure Call (RPC) layer using XML encoding to provide a basic set of operations to edit and query configurations on a network device.

  • next generation Internet services configuration and management
  • transactions allow all or nothing deployment of services
  • configuration and operational data are identified separately
  • has sets of configuration rather than sequences making backup and restore easier and more robust
  • multiple configurations (running, startup, candidate)
  • filtering allowing retrieval of only the data requested
  • uses standard security and encryption mechanisms
  • can augment or replace legacy CLI & SNMP
  • decreases:
    • downtime
    • service degradation
    • expensive failure analysis

YumaWorks’ YumaPro SDK implements the NETCONF standard fully, including optional requirements.

Key features of YumaPro SDK’s NETCONF implementation:

  • high performance
  • keeps current with evolving standard’s features
  • configuration can be tested and validated
  • uses standard security and access control models
  • event notifications

Key IETF NETCONF RFCs and YumaPro SDK support:

Expand All Collapse All

NETCONF Standards
RFC 4741 (version 1.0)
The first version of the NETCONF protocol is fully supported. View the RFC.
RFC 4742 (SSH transport v1)
The first version of the NETCONF over SSH transport is fully supported. View the RFC.
RFC 5277 (notifications)
NETCONF Notifications are fully supported. View the RFC.
RFC 5717 (partial locking)
Partial configuration sub-tree locking is fully supported to allow concurrent editing transactions on different parts of the configuration. View the RFC.
RFC 6022 (monitoring)
The standard NETCONF monitoring data is fully supported. View the RFC.
RFC 6241 (base:1.1)
The second version of the NETCONF protocol is fully supported. View the RFC.
RFC 6242 (SSH transport v2)
The second version of the NETCONF over SSH transport is fully supported. View the RFC.
RFC 6243 (defaults filtering)
The with-defaults capability to retrieve default leaf information is fully supported. View the RFC here.
RFC 6470 (notification events)
The NETCONF base notification events that allow clients to know when the server configuration or capabilities have changed. View the RFC.
RFC 6536 (access control)
The NETCONF Access Control Model (NACM) provides role-based access control for all server database content, operations, and notifications. View the RFC.
RFC 7230 (HTTP/1.1 Message Syntax and Routing)
Provides an overview of HTTP architecture and its associated terminology, defines the “http” and “https” Uniform Resource Identifier (URI) schemes, defines the HTTP/1.1 message syntax and parsing requirements, and describes related security concerns for implementations. View the RFC.
RFC 7231 (HTTP/1.1 Semantics and Content)
Defines the semantics of HTTP/1.1 messages, as expressed by request methods, request header fields, response status codes, and response header fields, along with the payload of messages (metadata and body content) and mechanisms for content negotiation. View the RFC.
RFC 7232 (HTTP/1.1 Conditional Requests)
Defines HTTP/1.1 conditional requests, including metadata header fields for indicating state changes, request header fields for making preconditions on such state, and rules for constructing the responses to a conditional request when one or more preconditions evaluate to false. View the RFC.
Describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF). View the RFC.
RFC 8071 (Call Home)
NETCONF Call Home and RESTCONF Call Home, which enable a NETCONF or RESTCONF server to initiate a secure connection to a NETCONF or RESTCONF client, respectively. View the RFC.


YANG is a powerful and versatile data modeling language that was designed from the requirements of network operators for an easy to use and robust mechanism for provisioning devices and services across networks. It was originally designed at the Internet Engineering Task Force (IETF) and has been so successful that it has been adopted as the standard for modeling design in many other standards bodies such as the Metro Ethernet Forum, OpenDaylight, OpenConfig, and others. The number of YANG modules being implemented for interfaces, devices, and service is exploding.

The YANG RFC 6020 has many very readable examples.

YANG Example of reusable groups

grouping target {
         leaf address {
             type inet:ip-address;
             description "Target IP address";
         leaf port {
             type inet:port-number;
             description "Target port number";

     container peer {
         container destination {
             uses target;

 NETCONF XML Example for the above


YANG Example of must and error-message

container interface {
         leaf ifType {
             type enumeration {
                 enum ethernet;
                 enum atm;
         leaf ifMTU {
             type uint32;
         must "ifType != 'ethernet' or " +
              "(ifType = 'ethernet' and ifMTU = 1500)" {
             error-message "An ethernet MTU must be 1500";
         must "ifType != 'atm' or " +
              "(ifType = 'atm' and ifMTU <= 17966 and ifMTU >= 64)" {
             error-message "An atm MTU must be  64 .. 17966";

YANG Example of <edit-config> operations
Given the following container definition:

     container system {
         description "Contains various system parameters";
         container services {
             description "Configure externally available services";
             container "ssh" {
                 presence "Enables SSH";
                 description "SSH service specific configuration";
                 // more leafs, containers and stuff here...

 A corresponding XML instance example:


 Since the <ssh> element is present, ssh is enabled.

 To delete a container with an <edit-config>:

     <rpc message-id="101"
           <system xmlns="http://example.com/schema/config">
               <ssh nc:operation="delete"/>

  • YANG is the data modeling language for NETCONF
  • designed to be human readable and easy to understand
  • composed of hierarchical schema encoded in XML that can closely resemble an implementation’s native data structures
  • organizes the semantics and data representation
  • augments inserts nodes into an existing hierarchy so they can augment existing YANG modules, e.g. a standard module where the implementation provides additional vendor specific data/service
  • deviations over-ride nodes in an existing hierarchy so they can deviate from existing YANG modules, e.g. a standard module where the implementation cannot provide the data/service for a particular node
  • “if”, “when”, and “choice” constructs
  • contains a rich set of standard types and can create derived types and unions of types
  • grouping allows collections of nodes to be reused
  • “rpc” statement defines methods, input and output parameters
  • provides notifications
  • robust development is supported with versioning and with modularity. Modules can include sub-modules, which in turn can include yet more sub-modules.

YumaWorks’ YumaPro SDK implements the YANG standard fully, including optional requirements.

Key features of YumaPro’s YANG implementation:

  • YumaPro is a 100% “native YANG” implementation – YANG modules are used directly by all the tools to control all aspects of NETCONF protocol usage
  • all YumaPro programs use the same centralized YANG language parser
  • keeps current with evolving standard’s features
  • YumaPro programs support concurrent usage of different revisions of the same module or sub-module
  • translation of existing investment in SNMP MIB data into YANG with freely available smidump tool

Key IETF YANG RFCs and YumaPro support:

Expand All Collapse All

RFC 6020 (YANG v1.0)
The YANG data modeling language is fully supported. View the RFC.
RFC 6021 (YANG Data Types v1)
The standard YANG data type extensions are fully supported. View the RFC.
RFC 6643 (Translation of SMIv2 to YANG)
Defines a translation of SMIv2 MIB modules into YANG modules, enabling read-only (config false) access to data objects defined in SMIv2 MIB modules via NETCONF. View the RFC.
RFC 6991 (YANG Data Types v2)
New YANG type definitions, and other updates to the standard are fully supported. View the RFC.
RFC 7895 (YANG Module Library)
YANG library that provides information about all the YANG modules used by a network management server (e.g., a Network Configuration Protocol (NETCONF) server), which can be easily cached by clients to minimize costly data retrieval, is fully supported. View the RFC.
RFC 7950 (YANG v1.1)
This maintenance release of the YANG language, which addresses some ambiguities and defects in YANG v1.0, is fully supported. View the RFC.
RFC 7951 (JSON encoding of YANG Data)
Encoding rules for representing configuration data, state data, parameters of Remote Procedure Call (RPC) operations or actions, and notifications defined using YANG as JavaScript Object Notation (JSON) text are fully supported. View the RFC.
RFC 8072 (YANG Patch)
Applying patches to configuration datastores using data defined with the YANG data modeling language, is fully supported. View the RFC.

Key YANG Module support:

Standard YANG networking data types from RFC 6021. View the RFC.
Standard YANG data model for NETCONF protocol operations from RFC 6241. View the RFC.
Standard NETCONF Access Control Model (NACM) from RFC 6536. View the RFC.
Standard NETCONF monitoring data model and <get-schema> operation from RFC 6022 to retrieve YANG modules from the server. View the RFC.
Standard NETCONF Notification delivery with replay buffer and command interleave mode from RFC 5217. View the RFC.
Standard NETCONF <partial-lock> and <partial-unlock> operations from RFC 5717 to support concurrent non-overlapping database edits. View the RFC.
Standard NETCONF :with-defaults capability extensions to the <get> and <get-config> operations.
Standard YANG data types from RFC 6021. View the RFC.
Netconf Central YANG module for notification monitoring data model from RFC 5277. View the RFC.
Netconf Central YANG module for <create-subscription> operation from RFC 5277. View the RFC.
Netconf Central YANG module for Linux ARP management.
Netconf Central YANG module for Linux interface monitoring.
Netconf Central YANG module for setting and retrieving session-specific session parameters.
Netconf Central YANG module for NETCONF Access Control, used as the starting point for NACM in RFC 6536. View the RFC.
Netconf Central YANG language extensions.
Netconf Central YANG module for Linux /proc system information.
Netconf Central YANG module for NETCONF system management and notifications, which was used as the starting point for RFC 6470. View the RFC.
Netconf Central YANG module for time-stamp based filtered of configuration data.
Netconf Central YANG module for extended data types.
YumaWorks YANG language extensions.
YumaWorks YANG data type extensions.
YumaWorks extensions for CM maintenance such as the backup, restore, and delete-backup operations.


YumaWorks is a fast-growing SDN startup developing network management and control plane automation tools, used by the world’s leading networking companies. YumaPro SDK is a multi-protocol distributed server toolkit comprised of YANG data-driven tools to automate configuration and network management interfaces. NETCONF, RESTCONF, and CLI protocols are derived from the same YANG data models to provide a consistent and protocol-independent programmatic API.

YumaPro SDK automates management plane development and run-time:

  • faster time to market
  • consistent implementation across platforms and versions
  • your engineers focus on the product features
  • YumaPro SDK keeps your product up-to-date with management standards
  • YumaPro provides the YANG-based protocols and hides the details from the instrumentation
  • YANG defines the APIs between the layers
  • YumaPro tools generate instrumentation code stubs from the YANG modules
  • your engineers fill in the code stubs with their platform code
  • the code is built and can then be dynamically loaded at run time

Benefit from our experience and expertise:

Andy Bierman, the founder of YumaWorks, has been an integral part of the IETF’s development of NETCONF & YANG and has co-authored many of the RFCs as well as in other network management areas

YumaWorks continues to drive innovation in the NETCONF & YANG standards

YumaWorks has over 50 years of collective experience in the network management arena with large networking equipment vendors and service providers

YumaWorks can help your organization shed the legacy technology of CLI & SNMP and move efficiently to the rich and robust management model of YANG over NETCONF/RESTCONF

YumaPro offers our customers cost of ownership advantages by letting YumaWorks keep abreast of new developments and standards in the NETCONF & YANG arena and upgrading YumaPro on a regular basis with these new features

Key YumaPro SDK product features:

YumaPro SDK server – netconfd-pro

  • the server deals with all the protocols
  • the YumaPro SDK tools create the Server Instrumentation Library (SIL) code from YANG modules
  • SIL is easily distributed with SIL-SA for Sub-Agents
  • developers only need to create the system management code
  • Multi-thread, multi-core scalability with true concurrency
  • YANG/instrumentation code (SIL/SIL-SA) dynamically loaded at runtime
  • syslog support
  • yp-shell, based on yangcli-pro, provides the YumaPro server with an IOS-like CLI shell
  • yang-api provides WEB Apps API for the YumaPro Server with HTTP/REST CRUDX operations on YANG content
  • ycontrol provides a user extensible sub-system for higher layer asynchronous operation with the server
  • DB-API provides an API so configuration edits can be sent from sub-systems to the server
  • yp-system allows flexible connection to vendor specific functions

For the full list of features see: https://www.yumaworks.com/netconfd-pro/#YumaPro-Server-Features

YumaPro SDK client – yangcli-pro

  • automatic mirror of running config
  • automatic notification setup
  • automatic config-change handling
  • automatic lock management
  • notification callback handler framework
  • extended “Tab” support for list key completion with aliases and variables
  • “?” key context-sensitive help mode
  • IOS-like configuration mode for simplified editing, using YANG node names as keywords
  • test suites are regression test templates
  • layered: suites > tests > steps, each step can be a local or remote command
  • expected result can be error, specific error, ok, data, specific data, etc.
  • users can build custom repeatable server regression test libraries for any server feature or YANG module
  • test results and reports can be generated from the last test run
  • automatic recording of tests

For the full list of features see: https://www.yumaworks.com/yangcli-pro/#yangcli-pro-Features



YumaPro SDK was forked from Yuma, commonly called OpenYuma, in 2011. Since then YumaWorks has vastly increased the reliability, robustness, and performance of YumaPro SDK. We’ve also added a myriad of new features, all while implementing standards compliance. By contrast, OpenYuma has remained largely untouched and is not commercially supported by anyone.

There have been hundreds of performance improvements, including bug fixes and new features. Below is a list of some of the enhancements:

  • YP-Shell – embedded CLI for the server
  • YControl – user extensible sub-system for higher layer asynchronous operation with the server. Enables:
    • auto-restart, full server configuration, and services sync
    • SIL-SA – distributed Sub-Agents for SIL callbacks from remote sub-systems
    • Configuration Replay – replay configuration just to a specific sub-system if it restarts
    • DB-API – send configuration edits to the server from sub-systems
  • SYSLOG Support
  • NACM – Standard NETCONF Access Control Model
  • YP-System – distributed framework system APIs to allow easy integration to existing systems without the need to modify source code
  • ypwatcher – lightweight proto-HA (High Availability) process adds support to restart the server
  • YP-HA – Full 1:n Active/Standby High Availability for netconfd-pro servers
  • NETCONF notifications
  • RESTCONF –  a REST like protocol running over an HTTP interface to access the YumaPro NETCONF server datastores
  • Call Home – reverse SSH protocol allows programmatic provisioning of dispersed and fluid network elements
  • SNMP – Incorporate and/or convert legacy SNMP networks into your YANG-based management solution
  • IoT support – Architectural optimizations allow you to bring YANG-based management solutions to the smallest of networking devices
  • Ongoing and up-to-date standards support for NETCONF, RESTCONF, Call Home, and YANG
  • Server Interface Library (SIL) Bundles – module groups loaded as a single entity https://www.yumaworks.com/netconfd-pro/sil_overview/
  • Crypt hash is used to encode passwords rather than being transmitted in the clear
  • Provides support for YANG Deviations, Augments, and XPath (XML Path Language)
  • Config Templates – Automate deployment of common configuration sets based on your use cases
  • yangcli-pro – NETCONF client with sessions, config mode, test suites, command and response validation, command line history, context sensitive help and command completion https://www.yumaworks.com/yangcli-pro/
  • Transaction performance increase – over 20,000 times faster than OpenYuma (https://www.yumaworks.com/netconfd-pro/#Transaction-Performance)
  • Support for concurrent client sessions https://www.yumaworks.com/netconfd-pro/#Concurrent-Sessions

Users of OpenYuma can easily migrate to YumaPro without rewriting code! Let YumaWorks:

  • Reduce your time to market
  • Decrease your development costs
  • Provide your team top-notch support throughout the development process



Lost your password?