• Call Us Now

    India: +91 (40 ) 23006430

    Australia: +61 (03) 9623 2218

  • Connect With Us

Introduction to YANG and NETCONF: Development and Testing

Learn the YANG Data Modeling Language and the NETCONF device configuration and status monitoring protocol in this 3 day course.

YANG, IETF RFC 6020, offers numerous advantages over the outdated and insecure SNMPv3 suite of standards. Support for hierarchical data modeling (using an XML Tree based data model instead of inflexibly indexed MIBs.

  • Confidently design practical YANG Data Models and, using commercial tools, compile, run, and perform developer tests that ensure they meet all your systems data-centric requirements.
  • Design and Develop “Bullet-proof” user interfaces where configuration data elements and inter-data element validation requirements are fully specifiable within the data model and evaluated at runtime preventing the possibility of “Garbage-in Garbage-out” configuration scenarios completely within the YANG Data Model specifications.
  • Fully utilize the capabilities of NETCONF 1.0 and NETCONF 1.1 standards to configure and monitor the status of target systems.
  • Write easily scripted NETCONF commands and RPCs for use in development and/or acceptance testing.
  • Know how to leverage existing YANG Modules from IETF and IANA to reduce development cycle time and improve interoperability with other NETCONF capable systems.
  • Understand the differences between YANG, NETCONF, REST, JSON, and RESTCONF.

The last half of the third day of the course may optionally be used for Student Requested or Customer Specific Discussions applying the course knowledge.

This course is for software developers and test case designers/developers who are comfortable with:

  • Using a Linux or Apple iMac (Darwin) host or virtual environment including their choice of editor and Make.
  • XML syntax.
  • Prior knowledge of SNMP is helpful but not essential.

The last half of the third day of the course may optionally be used for Student Requested or Customer Specific Discussions applying the course knowledge.

By default, the course will use Cisco Tail-f Confd Basic during the Exercise Periods of the course. Attendees will be responsible for the downloading of the freely available Confd Basic installation package(s) and installing them on their own laptops (to be used during the course) based on the installation instruction provided by Cisco Tail-f. The first course exercise will confirm these environments have been properly installed and fine-tune installations if needed. More details will be provide after registration time.

Day 1

Module 1: Introduction Agenda

  • Company introduction
  • Attendee introductions
  • Logistics

Module 2: Introducing Yang

  • Why YANG? (RFC 6020)
  • Problems with SNMP MIBs
  • Why NETCONF? (v1.0 RFC 4741, v1.1 RFC 6241)
  • Disadvantages of SNMP, continued
  • Advantages of NETCONF
  • Yang basics
  • Advantages of Yang
  • Yang 101
  • Comments, quotes and escape characters
  • Yang tools
  • Common coding styles
  • Common base types

Module 3: Introducing NETCONF

  • Netconf overview
  • handshaking
  • Lab 1 – A simple YANG model
  • XPath capability
  • Submodule, include, belongs-to
  • Grouping, uses
  • List and leaf-list
  • Ordered-by
  • Leafref (more detailed discussion of the Cyclic Graph Restriction)
  • Working with multiple keys
  • Mandatory
  • Standard YANG modules (Part 1)

Lab 2 – Getting to know Standard YANG modules (Part 1)

Day 2

Module 4: Diving Deeper

  • Operational data (config false)
  • Design considerations

Lab 3 – Working with Operational Data

  • To NST or Not To Nest
  • When – introduction
  • Choice
  • Must, error-message
  • Presence containers
  • Confirmed commit
  • Rollback on error
  • Validate

Lab 4 – Editing the Running Configuration

  • RPCs and actions

Module 5: Advanced Topics

  • RESTConf
  • NETCONF Notifications
  • NETCONF Monitoring

Lab 6 – Getting to know Standard YANG modules (Part 2)

  • NETCONF 1.1 changes
  • Lab 7 – Working with NETCONF 1.1

    • Attendee requests