Model Driven Programmability
Imagine all of your routers and switches using the same data models and interfaces across the network. Cisco is embracing NETCONF/RESTCONF/gRPC interfaces and YANG data models to make automation and management simpler.
Explore and learn about open management interfaces
Understanding the what and why of NETCONF/RESTCONF/gRPC and YANG
Using standard interfaces help network engineers

Utilize the new open interfaces of NETCONF, RESTCONF and gRPC

Separate configuration and state information

Configure network "services" and devices

Comprehensive feature coverage with YANG data models
Resources to check out for standard interfaces

Read Adam Radford's blog, Getting Started with NETCONF/YANG

Explore DevNet learning labs to enrich your understanding of model driven programmability

How is Cisco involved? Read OpenConfig on Cisco Platforms by Einar Nilsen Nygarrd
Are you ready? Start developing now.

Sandbox

IOS XE Sandbox
Check out the Always On IOS XE Sandbox and test drive NETCONF and RESTCONF APIs now!

NX-OS Sandbox
Open NX-OS reservation-based sandbox includes Nexus 9000

IOS-XR Sandbox
Two IOS-XR routers and a linux host with YDK and YDK-Py sample apps

Sample Code

RESTCONF examples
Checkout this example Python script that uses RESTCONF to configure IP Addresses

NETCONF examples
Sample code for the Cisco DevNet NETCONF Learning Labs
Get hands on training with YANG, NETCONF and RESTCONF
Learn the basics of Model Driven Programmability from a DevNet expert, and follow along by running the examples in a DevNet Sandbox!
SEE WHAT WE'VE GOT FOR YOU
Find a YANG Data Model for your Cisco device
Quickly find out which YANG Model to use for a technology
DOES YOUR DEVICE SUPPORT NETCONF / RESTCONF / gRPC?
NETCONF ( RFC 6241 ) | RESTCONF (RFC 8040) | gRPC | |
---|---|---|---|
IOS XE |
as of IOS XE 3.9.1
![]() as of IOS XE 16.3 ![]() ![]() ![]() ![]() ![]() ![]() as of IOS XE 16.6 ![]() as of IOS XE 16.7 ![]() ![]() ![]() as of IOS XE 16.8 ![]() as of IOS XE 16.10 ![]() as of IOS XE 16.11 ![]() |
as of IOS XE 16.6
![]() ![]() ![]() ![]() ![]() as of IOS XE 16.7 ![]() ![]() ![]() as of IOS XE 16.8 ![]() ![]() ![]() ![]() as of IOS XE 16.10 ![]() as of IOS XE 16.11 ![]() |
- |
IOS-XR |
as of IOS-XR 5.3.0
![]() ![]() as of IOS-XR 5.4.0 ![]() as of IOS-XR 6.0.0 ![]() ![]() as of IOS-XR 6.1.1 ![]() as of IOS-XR 6.1.2 ![]() |
- |
as of IOS-XR 6.0.0
![]() ![]() ![]() as of IOS-XR 6.1.1 ![]() as of IOS-XR 6.5.1 ![]() |
NX-OS |
as of NX-OS 7.0(3)I5(1)
![]() ![]() as of NX-OS 7.3(0)N1(1) ![]() ![]() ![]() |
- |
as of NX-OS 7.0(3)I5(1)
![]() ![]() |
* Nexus 7000 and 5000 have had basic NETCONF support through XML Management interface from much earlier, but significant enhancements added in the 7.3 release
Learn from Cisco's open source projects
Leverage YDK and Yang Explorer tools to quickly get you started
YDK
Check out the following YDK projects
We open sourced YDK to help the industry reap the benefits of data models and facilitate the implementation of network automation.

The simplest script for new beginners

Simple examples of using YDK-Py to program a network devices
YANG EXPLORER
An open-source Yang Browser and RPC Builder Application





Do you have any questions?
Join the discussion with the Networking experts and peers!
Looking for more resources?
Check out what Cisco Digital Networking Architecture is all about.