Advancing your programmability journey with latest IOS XR innovations
I’m happy to welcome NANOG (October 2-4, 2017) back to Cisco’s hometown, San Jose. It’s only the fourth time in its history that NANOG is hosting its major event here—the last time was in 2008.
Cisco has always been a strong supporter of NANOG, and again we’re all in. Let me give you some insight into our presence at the event:
- Participation in hackathon
- Beer n’ Gear where we will showcase some interesting demos (Tuesday, October 3 from 6pm to 8pm)
- Speaking engagements:
- Getting started with OpenConfig (Tuesday, October 3 at 1:30pm)
- Model Driven APIs for the Network infrastructure Layer (Wednesday, October 4 at 10:45am)
- Segment Routing IPv6 – The Network as A Computer and Deployment Use-cases with Comcast (Wednesday, October 4 at 1:45pm)
- BGP Large Community for Route Leak Detection (Tuesday, October 3, 4:30pm)
I glanced at agendas from past events and noticed programmability and automation presentations were getting increased coverage over the past few years.
This is clearly a major care-about for every Service Provider. Here’s what I’m hearing from them:
- Bandwidth consumption keeps increasing as more and more of everyday life depends on the Internet.
- End users are more informed than ever and want choice of solutions, delivered quickly and easily, often delivered over the top.
- Velocity and efficiency are driving fundamental shifts in operations. What used to be done by hand must now be automated with software.
- Automation requires programmable networks, optimized for software control.
We’ve come a long way enhancing our devices’ programmability, and I want to share with you some noteworthy updates on our strategy.
For several years, we’ve focused our efforts on model-driven programmability, which exposes the rich capabilities of IOS XR through a standardized data modeling language (YANG). We support a comprehensive set of IOS XR native models as well as industry-driven OpenConfig models and standards-driven IETF models. To make our operating system fit a service provider’s operational environment, we have multiple encoding (XML, JSON) and transport (NetConf, gRPC) options. Today, we are introducing the latest version (0.6.0) of the open source YANG development kit (YDK). YDK 0.6.0 represents a major leap forward to enable the adoption of model-driven network manageability. Here are some of the important capabilities introduced in the new YDK infrastructure:
- RESTCONF and OpenDaylight service providers to act on the YANG data
- Data validation with dynamic model downloads
- Enhanced data filtering when processing data from network devices.
More information on YDK 0.6.0 can be found here. YDK will continue to be a complete, network-engineer and programmer friendly SDK for model-driven programmability of networking devices. We will bring out improvements regularly to facilitate model-driven API adoption and help drive YANG adoption across the industry.
In addition to our extensive data model support, I’m very happy to announce that we are offering a Service Layer API (SL API) in IOS XR that enables dynamic, programmatic control of a router. The SL API is designed as a scalable and convenient integration point for customers who want to build/extend the device’s control plane functionality. It is designed to be highly performant, and it provides programmatic access to routing functions such as route manipulations and label operations. Applications written using the SL API can be considered as a fundamental and natural extension of the device control plane. You can read more about the Service Layer APIs here.
Let me share a few use cases:
1) Bring Your Own Protocol: Enables custom protocols and agents to co-exist with the IOS XR routing stack. For sample code and libraries, refer to the Git repositories – route-shuttle and open-bmp controller.
2) Path Selection and Traffic Engineering: Provides the ability to engineer routing paths based upon customer-specific logic. For sample code, refer to the Git repositories – SL MPLS and SL Route-group.
The ability to perform these operations over a highly performing channel (gRPC) using a language binding of your choice (e.g., Java, Python, GO) makes working with Service Layer APIs extremely powerful and flexible. You can find the complete API documentation here and sample libraries here. We look forward to collaborating with our customers to help them take advantage of this powerful and flexible capability.
We are releasing the first version of Cisco IOS XR service layer API, with enhanced versions available over the next few months.
We are looking forward to collaborating with our service providers to define new use cases.
If you’re interested in learning more about IOS XR programmability and service layer API, don’t miss this Tech Field Day session on September 27 at 10:30 am PT. The session is broadcast live over the Internet, or you can watch it later, on-demand.