0318 Massscalenetworking
0318 Massscalenetworking
0318 Massscalenetworking
© 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
© 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
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
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
© 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
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
© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 11
IOS XR – Configuration Model Approaches
Unified Non-Unified
© 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
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
© 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
No Unified
model
available
Non-Unified (current) Non-Unified (deprecated) Non-Unified (deprecated) Non-Unified (deprecated) Non-Unified (obsolete)
• Format
• HTML
• JSON (available)
© 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
© 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
© 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”
© 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
© 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
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
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
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)
• 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
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
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
© 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 37