ios-xr sw: partnering with elastic: an overview
TRANSCRIPT
IOS XR: Architecture Overview
IOS XR
IOS-XR
IOS XR
QNX
QNX
Linux
Linux
IOS-XR LxC
Routing Apps
SystemAdmin
Routing Control Plane
Syste
m A
dm
in L
xC
IOS-XR LxC
Syste
m A
dm
in
LxC
NPUs
Containerized IOS-XR
RP
Lin
e C
ard
NPU
Admin Plane Separation from XR.
64 bit Linux Kernel for Scale and Performance
Linux Containers
64-bit IOS XR.
Application Hosting
• Minimal Wind River Linux 7
Distribution
• Applications may be co-located with
XR
• Custom LXCs for any application
• Can build Custom Apps using Cisco
Development tools
Router
IOS-XR LXC
Linux Host OS
3rd Party App
AppLXC
3rd Party App
Why?
• Automation tools
• Puppet, Chef
• Monitoring tools
• Ganglia, Nagios
• Troubleshooting tools
• Iperf, Packet capture, Packet injection
• Other
• Consul, Git
Examples• http://yum.puppetlabs.com/cisco-
wrlinux/7/
• https://forge.puppetlabs.com/puppetlabs/
ciscopuppet
• https://github.com/privateip/ansible-
modules-core/tree/working/network/iosxr
What you need
• A way to build applications
• A way to integrate applications
• A way to test those interactions
Collocated or Container
Collocated
• Collocated with XR
• Simple
• Limited dependencies
Container Distro of choice
• Favorite distro
• Breadth of packages
• Resource allocation
• No file system or process
access
Native Builds
XR
• https://developer.cisco.com/site/ios-xr/
• Application Development Kit
• Wind River Linux Environment
• Extra Packages repository
NX
• https://opennxos.cisco.com/
• https://github.com/cisco/cisco-network-
node-utils
Integration Options
YANG
• https://github.com/YangMode
ls/yang/tree/master/vendor/ci
sco/xr
YANG Tooling
• https://github.com/robshakir/
pyangbind
• https://github.com/mbj4668/p
yang/
TestXRv9000
• https://developer.cisco.com/site/ios-xr/
• Repackaging to Libvirt/virtualbox
images
Nexus 9kV
• [email protected] tool
Create image Import ImageProvision and
Test Topology
Storage
Xrv9000 ISO Vbox
Jobs
(in VCS)
Artifacts