YANG for the impatient

 In Opendaylight


YANG (Yet Another Next Generation …)

Data modeling language for the NETCONF (network configuration protocol)

  • to model both configuration data as well as state data of network elements
  • to define the format of event notifications emitted by network elements
  • define the signature of remote procedure calls that can be invoked on network elements via the NETCONF protocol

Some History

    • SNMP was the first widely used network management protocol
    • SNMP based on the SMI (Structure of Management Information) language had limitations wrt configuration management of network elements
    • Lack of support for simple things like backup-and-restore of element configuration
    • No concept of transactions (single- or multibox)
    • Many inherent limitations in SMI (e.g. label length)
    • Data modelling limitations for NETCONF led to the creation of a new standard and YANG was adopted
    • SMIng (SMI v3.0) was the basis of YANG
    • The YANG language v1.0 was finalized in Oct 2010 by IETF NETCONF Data Modeling Language Working Group (NETMOD), and is defined in RFC 6020
    • Version 1.1 is now being discussed by IETF


YANG Features

  • Human readable, and easy to learn representation
  • Hierarchical configuration data models
  • Reusable types and groupings (structured types)
  • Extensibility through augmentation mechanisms
  • Supports definition of operations (RPCs)
  • Formal constraints for configuration validation
  • Data modularity through modules and sub-modules
  • Well defined versioning rules


YANG in the NETCONF context


YANG language capabilities


  • Organization – Leaf, leaf-list, container, lists, grouping, choice
  • Data model structure – Module, submodule, augment, if-feature, when
  • Constraints – Must, unique, min-elements, max-elements, mandatory
  • Data types – Many built-in types, sub-typing, restrictions
  • Reusable groupings – grouping allows collections of nodes to be reused
  • 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 override 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
  • “rpc” statement defines methods, input and output parameters


Comparison Matrix


Sample YANG


YANG promoters

Juniper brought XML-based configuration for NETCONF to the table
Tail-f (now acquired by Cisco) pioneered YANG
Ericsson helped in the adoption of YANG by helping it become a standard
Some enterprises that have provided YANG support in their offerings include:

  • Brocade
  • Huawei
  • Edgeware
  • Yuma
  • Oracle


YANG supported devices

Some of YANG Supported devices are listed below.
1.Brocade – VDX Fabric Switches
2.Alaxala – Ethernet switches
3.Cisco – IOS 12.4(9)T and later, IOS XE 2.1 and later
5.Juniper Networks – JUNOS 7.5 and later
6.RuggedCom – Routers and switches, RX5000 and MX5000
7.Taseon – Intelligent optical networks, TN 320
8.Verivue – Next-generation video distribution, MDX 9020
9.Edgeware – Servers for on-demand TV, WTV-2X
10.Nexor – Messaging Gateways
11.Telco Systems – Carrier Ethernet Multiservice Aggregation, T-Metro 7224


Youtube videos by Tail-f (now acquired by Cisco)

Recent Posts

Leave a Comment

Start typing and press Enter to search