Email us : sales@yumaworks.com

NETCONF

Standard Network Management with YANG

Fully Programmable Network Configuration

The YumaPro Server supports the complete NETCONF protocol. Any protocol operation, database object or notification message can be easily added to the server by providing a YANG data model defining the API. All mandatory and optional protocol features are supported, and fully configurable at boot-time.

High Performance Network-wide Commit and Rollback

The YumaPro Server includes a high performance transaction engine and internal database. All of the NETCONF features including XPath and Confirmed Commit are supported. An application can use the standard procedure (double commit) or use the YumaPro backup and restore operations to safely apply network-wide configuration changes.

What is NETCONF?

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:

Fully Supported IETF StandardDescription
RFC 4253Secure Shell (SSH) Transport Layer Protocol
RFC 4741NETCONF base 1.0
RFC 4742NETCONF over SSH v1
RFC 5277NETCONF Notifications
RFC 5717NETCONF Partial Locking
RFC 5789PATCH Method for HTTP
RFC 6020YANG 1.0
RFC 6021YANG Data Types v1
RFC 6022NETCONF Monitoring
RFC 6241NETCONF base 1.1
RFC 6242NETCONF over SSH v1.1
RFC 6243NETCONF With-Defaults Capability
RFC 6470NETCONF Base Notifications
RFC 6643Translation of SMIv2 to YANG
RFC 6991YANG Data Types v2
RFC 7230*HTTP/1.1 Message Syntax and Routing
RFC 7231*HTTP/1.1 Semantics and Content
RFC 7232*HTTP/1.1 Conditional Requests
RFC 7589NETCONF over TLS with Mutual X.509 Authentication
RFC 7950YANG v1.1
RFC 7951JSON Encoding of YANG Data
RFC 8040RESTCONF
RFC 8071*Call Home
RFC 8072YANG Patch
RFC 8341, RFC 6536NETCONF Access Control Model
RFC 8342Network Management Datastore Architecture (NMDA)
RFC 8525, RFC 7895YANG Module Library
RFC 8526*NETCONF Extensions to Support NMDA
RFC 8639*Subscription to YANG Notifications
RFC 8640*Dynamic Subscription to YANG Events and Datastores over NETCONF
RFC 8641*Subscription to YANG Notifications for Datastore Updates
RFC 8791Support for Structure and Augment-Structure YANG Extension Statements

*  = partially supported

NETCONF Capabilities Implemented in YumaPro Server

Name Description Requirements
base:1.0 RFC 4741 protocol version none
base:1.1 RFC 6241 protocol version none
candidate:1.0 Candidate database –target=candidate [default]
confirmed-commit:1.0 Confirmed commit operations –target=candidate [default]
confirmed-commit:1.1 Confirmed commit operations (base:1.1 version) –target=candidate [default]
writable-running:1.0 Running database is the <edit-config> target –target=running
rollback-on-error:1.0 Rollback on error for <edit-config> none
validate:1.0 <validate> operation and ‘test-only’ <edit-config> test-option are supported; –with-validate=true [default]
validate:1.1 <validate> operation and ‘test-only’ <edit-config> test-option are supported; (base:1.1 version) –with-validate=true [default]
startup:1.0 Distinct startup database; <copy-config> to startup config needed to NV-save the running config –with-startup=true
url:1.0 URL parameter support; The ‘file’ scheme is allowed in the <url> parameter to backup and restore named config files –with-url=true [default]
xpath:1.0 Full XPath 1.0 + YANG extensions for <get> and <get-config> operations none
notification:1.0 NETCONF notifications; use <create-subscription> operation to start none
interleave:1.0 Allow <rpc> requests while notifications are active none
partial-lock:1.0 <partial-lock> and <partial-unlock> operations –target=running
with-defaults:1.0 <with-defaults> parameter for ‘report-all’, ‘trim’ and ‘explicit’ modes –default-style used to pick basic-mode [default=explicit]

YANG Modules Included with YumaPro Server

YANG Module NameDescription
iana-crypt-hashStandard type for storing passwords using a hash function and features to indicate which hash functions are supported by an implementation, from RFC 7317.
iana-if-typeStandard YANG identities for IANA-registered interface types from RFC 7224.
ietf-datastoresStandard set of identities for identifying datastores for use with NMDA, from RFC 8342.
ietf-interfacesStandard YANG definitions for managing network interfaces from RFC 7223.
ietf-inet-typesStandard YANG networking data types from RFC 6021.
ietf-netconfStandard YANG data model for NETCONF protocol operations from RFC 6241.
ietf-netconf-acmStandard NETCONF Access Control Model (NACM) from RFC 6536.
ietf-netconf-monitoringStandard NETCONF monitoring data model and operation from RFC 6022 to retrieve YANG modules from the server.
ietf-netconf-nmdaStandard set of NETCONF operations to support the Network Management Datastore Architecture (NMDA) from RFC 8526.
ietf-netconf-notificationsStandard NETCONF Notification delivery with replay buffer and command interleave mode from RFC 5277.
ietf-originDefines an 'origin' metadata annotation and a set of identities for the origin value for use with NMDA, from RFC 8342.
ietf-netconf-partial-lockStandard NETCONF and operations from RFC 5717 to support concurrent non-overlapping database edits.
ietf-netconf-with-defaultsStandard NETCONF :with-defaults capability extensions to the and operations, from RFC 6243.
ietf-restconfStandard RESTCONF protocol message artifacts from RFC 8040.
ietf-restconf-monitoringStandard RESTCONF monitoring from RFC 8040.
ietf-yang-libraryStandard YANG Module Library for RESTCONF and YANG 1.1 from RFC 7895
ietf-yang-patchStandard YANG Patch Media Type used by RESTCONF and DB-API from RFC 8072
ietf-yang-typesStandard YANG data types from RFC 6021.
nc-notificationsNetconf Central YANG module for notification monitoring data model from RFC 5277.
notificationsNetconf Central YANG module for operation from RFC 5277.
toasterExample SIL module.
yuma-arpNetconf Central YANG module for Linux ARP management.
yuma-interfacesNetconf Central YANG module for Linux interface monitoring.
yuma-mysessionNetconf Central YANG module for setting and retrieving session-specific session parameters.
yuma-nacmNetconf Central YANG module for NETCONF Access Control, used as the starting point for NACM in RFC 6536.
yuma-ncxNetconf Central YANG language extensions.
yuma-procNetconf Central YANG module for Linux /proc system information.
yuma-systemNetconf Central YANG module for NETCONF system management and notifications, which was used as the starting point for RFC 6470.
yuma-time-filterNetconf Central YANG module for time-stamp based filtered of configuration data.
yuma-typesNetconf Central YANG module for extended data types.
yumaworks-attrsThis module contains abstract object definitions for the last-modified and etag XML attributes.
yumaworks-config-changeYumaPro common identities.
yumaworks-event-filterYumaWorks YANG module adds configurable event type filtering for notification delivery.
yumaworks-extensionsYumaWorks YANG language extensions.
yumaworks-getbulkYumaWorks NETCONF protocol operation.
yumaworks-idsYumaWorks YANG identities.
yumaworks-restconfYumaWorks RESTCONF monitoring extensions.
yumaworks-restconf-commit
YumaWorks RESTCONF confirmed commit extensions.
yumaworks-serverRuntime access to netconfd-pro server parameters.
yumaworks-support-saveThis module contains the get-support-save operation and the support-save-data yang-data structure.
yumaworks-systemYumaWorks extensions for CM maintenance such as the backup, restore, and delete-backup operations.
yumaworks-templatesYumaWorks configuration templates extension to edit-config.
yumaworks-term-msgNotification event for terminal message feature.
yumaworks-testThis module contains data structures representing replayable test suites for specific use cases and YANG modules for use with yangcli-pro.
yumaworks-typesYumaWorks YANG data type extensions.
yumaworks-yangmapYANG model mapping control block parameters for yangcli-pro.