0318 Massscalenetworking

Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

Achieving Improved Operational

Simplicity with IOS XR


Amrit Hanspal, Product Manager

Mass scale Infrastructure Group (MIG)


March 2021
Why Operational Simplification?

• Operating a Network is expensive


Costs • Opex Costs estimated at 4x Capex

• Programmable Network Infrastructure


Agility • Network wide operations instantly

• Automation drives new services


Services • Provides a path towards Cloud based
services

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 2
Layout
• Overview
• IOS XR Programmable Infrastructure
• Manage
• Monitor
• Control

• Automation

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 3
Understanding Roadmap Slides

• Focus on
• Formal Strategy • Implementation Deployment
Concept signoff
Execute Final
Commit Commit Deployment • Code Hardening
• Initial • Engg HC based on
(CC) (EC)
Implementation Allocated Customer
Feedback

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 4
XR Programmability – As of 2021

2025+ – Broad
Adoption with Cisco &
Provider based
Automation
2015 – XR
Yang 2021 – 1200+ XR
Expectation Models Yang Models in XR
7.3.1

Time

Early Adopters Early Majority Broad Majority

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 5
IOS XR Programmability – Key Components
• Streaming Telemetry
• Model Driven or Event Driven
• Scalable Consumption driven
Monitor
Paradigm

Flexible
Solutions

• Route/Forwarding level Control Manage • Device & Network level


Control functions Configuration
• RIB/FIB Level (SL-API) & • Scope
Protocol Level (PCEP, • Day 0 (ZTP)
BGP FS) • Day 1 (Operate)
• Day 2 (Service)

Flexible Solutions = Cisco Internal (CrossWork, NSO) or External (HomeGrown or 3rd Party)
IOS XR Programmability – A Primer
Controller/
Apps App App App
Orchestrator

Model-Driven
Configuration
Protocol NETCONF gRPC

Closed-loop Encoding XML JSON GPB


automation

Transport SSH TCP HTTP


Model-Driven
Telemetry

Network Models
YANG Models
Device (native, open)

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 7
Customer Deployment Styles
DIY Full Stack Hybrid

Provider Software
Cisco
Provider
Developed
Developed APIs
Software
Software
(Crosswork)
Cisco
APIs Crosswork
“Off Box”
APIs APIs

“On Box” APIs

XR with Yang XR with Yang XR with Yang


Models Models Models

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 8
XR Programmability
Infrastructure
Models – “Manage”

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 9
IOS XR Models – Styles

Native Models OpenConfig Models

Comes integrated in IOS XR today (~1100 Native and ~100 OC models – XR 7.3.1)
Note: There is No “one standard” – In Programmability it does NOT matter – APIs matter
© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 10

https://github.com/YangModels/yang/tree/master/vendor/cisco/xr
IOS XR – Configuration Models

XR Native Open
Unified Non-Unified OpenConfig

• XR or platform specific • XR or platform specific • Vendor neutral


• Full coverage of device • Full coverage of device • Partial coverage of device
functionality functionality functionality
• Single abstraction for • Different abstractions for • Different abstraction from
YANG and CLI YANG and CLI native model and CLI
• Full parity and deterministic • Independent testing of
coverage parity and coverage
• Same help/doc strings • Expected to be obsoleted
• Expected to be current

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 11
IOS XR – Configuration Model Approaches

Unified Non-Unified

Config Config Config


Definition Schema Definition

YANG Config YANG Config


Config CLI Config CLI

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 12
BGP Neighbor Group Configuration -
Schema Native Model (Deprecated) 1/2
router bgp 65001 <bgp xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-cfg">
neighbor-group IBGP <instance>
<instance-name>default</instance-name>
remote-as 65001
<instance-as>
update-source Loopback0 <as>0</as>
address-family ipv4 unicast <four-byte-as>
! <as>65001</as>
! <bgp-running/>
! <default-vrf>
<bgp-entity>
<neighbor-groups>
<neighbor-group>
<neighbor-group-name>IBGP</neighbor-group-name>
<create/>
<remote-as>
<as-xx>0</as-xx>
<as-yy>65001</as-yy>
</remote-as>
© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public
<!-- continued --> 13
BGP Neighbor Group Configuration -
Schema Native Model (Deprecated) 2/2
router bgp 65001 <!-- continued -->
neighbor-group IBGP <update-source-interface>Loopback0</update-source-interface>
<neighbor-group-afs>
remote-as 65001
<neighbor-group-af>
update-source Loopback0 <af-name>ipv4-unicast</af-name>
address-family ipv4 unicast <activate/>
! </neighbor-group-af>
! </neighbor-group-afs>
! </neighbor-group>
</neighbor-groups>
</bgp-entity>
</default-vrf>
</four-byte-as>
</instance-as>
</instance>
</bgp>

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 14
BGP Neighbor Group Configuration -
Unified Native Model
router bgp 65001 <router xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-bgp-cfg">
neighbor-group IBGP <bgp>
<as>
remote-as 65001
<as-number>65001</as-number>
update-source Loopback0 <neighbor-groups>
address-family ipv4 unicast <neighbor-group>
! <neighbor-group-name>IBGP</neighbor-group-name>
! <remote-as>65001</remote-as>
! <update-source>Loopback0</update-source>
<address-families>
<address-family>
<af-name>ipv4-unicast</af-name>
</address-family>
</address-families>
</neighbor-group>
</neighbor-groups>
</as>
</bgp>
© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public
</router> 15
Unified Configuration Models
Deploy Deploy EC

7.0.1 7.1.1 7.2.1 7.3.1 7.4.1/7.5.1

Interfaces
Bundles
ARP
LACP
BGP QoS
VRF
ISIS ACL (IPv4, IPv6, Ethernet,
Static routing Around 40 new Over 200 models
OSPF (v2/v3) prefix list, object group)
RIB models under testing under development
MPLS (TE) Multicast (AMT, IGMP, MLD,
MPLS (LDP, LSD, L3VPN)
RSVP MSDP, PIM)
Telemetry
NETCONF
gRPC
SNMP

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 16
IETF RFC 6020 – Understanding Yang Model
Status
• RFC6020 – YANG – A Data Modeling Language
• Describes 3 states for Yang Models: Current, Obsolete, Deprecate

• Reproduced from RFC 6020, Section 7.19.2


• "current" means that the definition is current and valid.
• "deprecated" indicates an obsolete definition, but it permits new/ continued
implementation in order to foster interoperability with older/existing
implementations.
• "obsolete" means the definition is obsolete and SHOULD NOT be implemented and/or
can be removed from implementations.

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 17
https://tools.ietf.org/html/rfc6020#section-7.19.2
Status Evolution For Non-Unified Models
Release Release Release Release Release
n n+1 n+2 n+3 n+4

Unified (current) Unified (current) Unified (current) Unified (Current)

No Unified
model
available

Non-Unified (current) Non-Unified (deprecated) Non-Unified (deprecated) Non-Unified (deprecated) Non-Unified (obsolete)

current deprecated obsolete Status defined in RFC 6020, section-7.19.2


© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 18
Deploy
XR 7.0.2 / 7.1.1
IOS XR Yang Model Documentation
• Backwards incompatible changes are
documented on GitHub
• https://github.com/YangModels/yang/tree/master/v
endor/cisco/xr/731/BIC
• Definitions based on RFC6020, Section 10

• Format
• HTML
• JSON (available)

• Full list of Models available in per XR release


• https://github.com/YangModels/yang/blob/master/v
endor/cisco/xr/731/Available-Content.md

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 19
EC
XR 7.4.1
Equivalency Tool (CLI to Yang)
• XR Feature that highlights Equivalent Yang Paths for Show & Config
commands

• CLI snapshot (Early view)

RP/0/RP0/CPU0:ios#model-describe operational line show platform location 0/RP0/CPU0


Wed Jan 20 02:38:55.419 UTC
Operation : Get
Yang Path : Cisco-IOS-XR-platform-oper:platform/racks/rack/slots/slot/instances/instance/state
XML Schema Hierarchy : Platform.RackTable.Rack.SlotTable.Slot.InstanceTable.Instance.State

RP/0/RP0/CPU0:ios#model-describe operational line show inventory


Wed Jan 20 02:39:03.528 UTC
Operation : Datalist
Yang Path : Cisco-IOS-XR-invmgr-oper:inventory/racks/rack/attributes/inv-basic-bag
XML Schema Hierarchy : None

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 20
XR Programmability
Infrastructure
Telemetry – “Monitor”

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 21
Model Driven Telemetry – “Consumption Driven”
Visibility and Analytics via
Telemetry Collectors

Data Center Backbone Backbone Backbone BNG Peering


router router router router router

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 22
Telemetry vis-à-vis SNMP – “No Contest”
Counters CPU load
400 30
Thousands

300 20%
20 14%
200 8%
10 7% 7% 7%
100
0
0
1 2 3
5s 10s 15s 20s Destinations
Time to collect all data
(chassis, 576х100GE)
More counter data Interface
counters
Reduction in CPU load
Memory
Telemetry
Faster collection 0 5 10 15 20 25
SNMP
© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public Seconds 23
Deploy

XR 7.1.2 / 7.2.1
gRPC compression
• Support for compression has been added to XR gRPC
implementation
• No configuration required for gNMI clients
• Clients use CallOption “UseCompressor”

• New configuration under protocol grpc per destination (dialout)


telemetry model-driven
JSON
destination-group notls
address-family ipv4 192.168.122.1 port 9902
encoding self-describing-gpb
KV-GPB
protocol grpc no-tls gzip
!
!
! Compact GPB

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 0 5000 10000 15000 20000 25000
24
Deploy
XR 7.2.1
Leaf-level filtering
• Current subscriptions are internally mapped to the corresponding
container (gather path)
• New feature to allow subscription at individual leaf level
• Multiple leaves can be specified in a single subscription
• Optimized to avoid duplicate internal collections

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 25
Deploy
XR 7.3.1
AI Driven Telemetry (ADT)
Collect Detect Select Export

#1

#2
YANG
#3

Holistic view: Macroscopic view: Microscopic view: Present results


Collect all counters Catch interesting Choose counters using existing YANG
all the time. state changes. which best describe tool-chain:
Currently: MDT data, Dim.-Redux, Cluster. the state change. Counter values,
Netflow/CRFT (future) Online, unsupervised. Online, unsupervised. Sensor-paths

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 26
ADT in IOS-XR: Architecture
Standard toolchain:
Present results Controller
Microscopic view: using existing YANG
Macroscopic view: Choose counters tool-chain: (Crosswork,
Catch interesting which best describe Counter values, DNAC, …)
Holistic view: state changes. the state change.
Collect all counters Sensor-paths
Dim.-Redux, Cluster. Online, unsupervised.
all the time. Online, unsupervised. gRPC
(YANG)

Wadjet

Collector Detectors Selector Exporter

Model Driven Telemetry Infrastructure

IOS-XR
Cisco IOS-XR Router (e.g. Cisco 8000, NCS55xx, …)

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 27
XR Programmability
Infrastructure
Service Level API (SL-API) for “Control”

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 28
API Layers in IOS XR -> “Control” with SL-API
OSS/BSS/Telemetry Collectors

NBI

Management
Management/Presentation Layer – Yang Models, CLI
CLI, Netconf, SNMP, Syslog, SSH
APL

Application/Protocol Layer – Routing APIs (BGP FS, PCEP)


Applications / Protocol Stack
BGP, ISIS, OSPF, LDP, SR, L2 Protocols
SAL

Network Infrastructure Layer / Service Adaptation Layer – SL API


Network Infrastructure / Service Adaptation
RIB, Label Manager, BFD, Interface and more

System OS (Linux), BSP(Board Support Package) & ASIC SDK


ASIC SDK
System OS + BSP

HW/Data Plane
Fans, Sensors, Optics, Hardware – ASIC/Chipset, CPU, Fans, Sensors
NPU ASIC CPU
etc.
Examples of Using Service Level API (SL-API)
Use Case Github Code Location

Open/R running on IOS-XR as an IGP https://github.com/akshshar/openr-xr

Programmable BGP Route Download https://github.com/Cisco-Service-Layer/openbmp-


controller

Egress Traffic Controller Telemetry based route selection https://github.com/Maikor/nanog71-hackathon

IPv6 neighbor based path failover (Telemetry+SL-API) https://github.com/akshshar/xrtelemetry-slapi

https://github.com/akshshar/ydk-slapi-remediation
Interface Events based path failover (SL-API + YDK)
Deploy

Automation Apps

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 31
Cisco Software – Automation Gradient
Analogy = SAE Level 1-5 for Self Driving cars

“Level 1” = NMS 2005 “Level 2” = Evolve Device “Level 3” = Profile with “Level 4” = Closed Loop “Level 5” = Closed Loop
to Network + APIs ML/MR Algos (With Intervention) (No Intervention)

Machine driven – Machine driven –


Human control Machine control

Monitor Manage Cloud Arch Intelligence

Network Network Network


(E.g. XR, XE, NX)
Network Network

• No APIs • Open APIs • Use ML algos for • Use ML + MR Algos • Final End State –
• Distinct Apps • Service Models Trends with ability to control Decommission
• Fixed GUI • Flexible GUI • Use MR expert Network Elements when
systems for • Human Control Intact unable to handle
Troubleshooting • Human intervention
© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public for ‘out of sample’
32
scenarios
Deploy

Cisco’s Service Provider Automation Offerings

Day -1: Planning Day 0: Bring Up Day 1: Operate Day 2: Assurance

All Planning Functions Bring Up Functions Network Services & Protocol level
prior to Network Including ZTP & Software Transport Operations Troubleshooting
Image Management
Product(s) Available: (SWIM) Product(s) Available: Product(s) Available:
• Crosswork Qualification • XR Yang Models & • Day 1 Offerings
Engine (CQE) Product(s) Available: Telemetry
• XR ZTP
• Crosswork ZTP • Change Automation
• Health Insights
• Network Controller

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 33
Cisco SP – Full Stack Software Offerings
3
GUI or API
Network Orchestration Apps
Foundational Apps • Network Controller • Rich Application
• Change Automation (Config) • Optimization Engine Ecosystem
• Health Insights (Oper) • IPoEoF • Consume (or extend)
• … via GUI or API
• App Ecosystem
leverage APIs
2 internally
Crosswork Infra • Built for Cloud scale
with Microservices
NSO Data Gateway architecture

Model Driven Model Driven


Configuration Telemetry

1 • 'Onbox’ Software within


Router – the Base
Programmatic Constructs – Yang, Telemetry gNxI Layer
• Fully Open Yang
Models – Extend for
XR OS XR Container Provider Software
• Container provides pre-
processing capabilities
for Crosswork
© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 34
x Potential Integration Points
Crosswork APIs
https://developer.cisco.com/crosswork/

API Docs

Detailed API
with Swagger
Developer based
Guides Documentation

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 35
Takeaways

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 36
Takeaways
• Operational Simplification in XR delivered via Data Models

• XR Programmability Infrastructure Hardening

• Wide range of deployment styles envisioned – DIY, Full Stack &


Hybrid

© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 37

You might also like