Devnet 1110
Devnet 1110
XE network device
management on Cat9K
with Cisco IOS XE
Story DeWeese
Technical Marketing Engineer
@storydeweese
DEVNET-1110
Who We Are
03 Device Onboarding
10 mins - Jeremy - Intro to the API’s & Tooling
04 Device Configuration
5 mins – Ashil
10 mins – Story
05 Device Monitoring
12:05 - 12:35: Configuration Management
10 mins - Ashil
06 Device Optimizations
20 mins - Jeremy
10 mins – Story
Webex spaces will be moderated by the speaker until June 13, 2025.
➢ Fewer Sites
➢ Less Endpoints
➢ Simple Network Architecture
IoT
CLIs / Script
DC WA ISP
N
CLIs / Script
Data Format Structured (XML/JSON following a schema) Free-form text, tables, headings
Validation Schema-based (YANG) validation before commit No built-in validation; errors caught only at runtime
Transactions Supports atomic commits (all-or-nothing changes) Commands executed line-by-line; no rollback capability
Change Safety Supports rollback, confirmed commits No native rollback; must script it manually
Monitoring Integration Works with model-driven telemetry (push-based) Relies on CLI polling or SNMP
Scalability Efficient for managing 100s or 1000s of devices at once Slow, sequential; complex to scale manually
Extensibility Models can evolve with versioning and modularization Hard to adapt; even minor format changes break scripts
Feedback Loop Clean input/output model for closed-loop automation No structured input/output contract
VS
(CLI) (YANG, XML/JSON)
Human-Oriented, Unstructured Text Data Format & Parsing Machine-Oriented, Structured Data
Low-Level, Procedural Logic, No intent Abstraction & Intent Intent-Based and Declarative, Describe what
abstraction, just commands you want (intent)
Siloed and Manual, Poor integration with API-Driven and Event-Aware, Easily integrates
IT Ecosystems Integration
ITSM, CI/CD, observability tools with ITSM, GitOps, telemetry pipelines
Syntax differs by vendor, OS, and version, Multi-Vendor Complexity Standard YANG models across vendors,
Scripts are bloated with conditionals Unified logic for multi-vendor networks
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 13
What’s the Difference?
Vendor
- CLI - - SSH
Specific
Yang Suite
Structured Data
NETCONF
Vendor XML SSH
Using
RESTCON
IETF xPaths YANG JSON HTTPS
gNMI
OpenConfig PROTOBUF TLS
gRPC
WAN ISP
DC
CLIs
Dashboards
IM Systems
Telemetry & Observability
Collect Enrich, Store, Monitoring
Infrastructure as Code
Network Infrastructure
Engineers Engineers
NetDevOps
Version Control
Software
Developers &
QAs CI/CD Pipelines
IT personas
Cisco Network
Third-Party Tools/DIY
Controllers
NetOps DevOps AIOps CloudOps
Cisco
Yang Data Models Native
OpenConfig IETF IEEE
Network Infrastructure
Automation Automation Home Grown
SD-WAN Tools Tools Tools
Manager Cisco Silicon One
Day Day
0 Model-Driven 1
Provisioning Automation
Bring up network devices into a functional state
Programmability
with minimal to no-touch Best in class open Programmability to empower
Network Plug-N-Play your NetOps and DevOps
Secure Zero Touch Provisioning (ZTP/SZTP)
NETCONF, RESTCONF and gNMI
Preboot eXectuion Environment (PXE)
YANG Data models – Cisco Native, IETF, OpenConfig, IEEE
Day
Guest Shell and application hosting On-Change and periodic telemetry
Day
N 2
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 18
YANG
YANG Models
XML Payload
Data
Gig 1/0/1
“CL rocks!”
enabled
Intent-based
Network Infrastructure
Configuration and Operation
Device Features
SNMP
curl -X 'GET' \
Request Interfaces Data
<nc:filter>
m:443/restconf/data/Cisco-IOS-XE-interfaces-oper:interfaces/interface' \ {
<interfaces xmlns="[Link]
"origin": "rfc7951",
-H 'accept: application/yang-data+json'
interfaces-oper"/> "elem": [
</nc:filter> {
</nc:get> "name": "Cisco-IOS-XE-interfaces-
oper:interfaces"
</nc:rpc>
},
{
"name": "interface"
}
]
}
],
"encoding": "JSON_IETF"
}
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:af602e50-6490-4b84-abff-
{
5461a8e37502">
"Cisco-IOS-XE-interfaces-oper:interface": [
Reply from Device
<data>
{
<interfaces xmlns="[Link]
"name": "GigabitEthernet0/0",
<interface>
"interface-type": "iana-iftype-ethernet-csmacd",
<name>GigabitEthernet0/0</name>
"admin-status": "if-state-up",
<interface-type>iana-iftype-ethernet-csmacd</interface-type>
"oper-status": "if-oper-state-ready",
<admin-status>if-state-up</admin-status>
"last-change": "2025-06-04T16:48:26.49+00:00",
<oper-status>if-oper-state-ready</oper-status>
"if-index": 1,
<last-change>2025-06-04T16:48:26.731+00:00</last-change>
"phys-address": "00:50:56:bf:77:ea",
<if-index>1</if-index>
"speed": "1000000000",
<phys-address>00:50:56:bf:77:ea</phys-address>
<speed>1000000000</speed>
"statistics": {
<statistics> … </statistics>
...
… }.
</interface> ...
</interfaces> }
</data> ]
</rpc-reply> }
model.
RESTCONF • Works like other REST-based APIs with standard operations like
GET, PUT, POST, etc
• No telemetry support. If RESTCONF is the only
option, aggressive poling through GET requests
• No additional libraries to install for use (REST is widely supported) can be used in place of telemetry
• Standards-based • HTML/JavaScript is commonly used for REST,
• Swagger documentation for use of use which is slower than gNMI / gRPC
Simplified migration
Legacy Protocol
from CLI and SNMP to
D W IS Migration
YANG
C A P
N Toolkit to integrate
with existing Device
workflows Automation
[Link]
Ansible has full support for configuration management of Cisco IOS XE and Catalyst 9000 using
plugins for CLI, SNMP, and for the YANG based API’s including NETCONF, RESTCONF, and gNMI.
[Link]
[Link]
The 1 ”iosxe” terraform provider manages configuration declaratively across 19 features using 98 resources & data sources
There are 2 additional resources for imperative configuration using both CLI and YANG
The imperative resources take YANG modelled inputs and the [Link] is used to abstract CLI over RESTCONF
Terraform interfaces with Declarative support Imperative support CLI RPC YANG Model iosxe_restconf
the IOS XE RESTCONF API
iosxe_cli
[Link] [Link]
Device Onboarding
AI Generated Image
Prompt: A real person in a server room, surrounded by racks
Limitations of Manual Network Provisioning on their face, as they navigate through their laptop. The
background shows rows of servers, with blinking lights
indicating active connections and data transfer.
15%
------------------------
Organizations identified a supply
chain compromise as the source of
a data breach [1]
$4.8 Million
------------------------
Is the global average cost of a data
breach, increased by 10%
compared to the previous year [1]
DHCP Server
Restconf Server
1 TLS Handshake, SUDI Certificate
Database/ Web Server
(Artifacts)
Server Certificate
Bootstrapping Artifacts:
3 •
•
•
Ownership Voucher
Owner Certificate
Onboarding Information
Manual
ZTP Secure - ZTP
Provisioning
Provisioning Automation ✓ ✓
Configuration Consistency ✓ ✓
Scalability ✓ ✓
End to End Security ✓
Audit Logs ✓
Easy Image Upgrade ✓
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 47
ZTP, Gust Shell with CentOS 8 and Python 3
• ZTP runs when there is no config and DHCP Option 43 is set
• Embedded CentOS linux container with API’s into IOS XE
• Disabled by default, enable with interface config + “guestshell enable” CLI
Intent-based
Network Infrastructure
Guest Shell
(CentOS 8)
IOS XE
[Link]
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 48
Example Python ZTP Script ([Link])
[Link]
NETCONF API
CLI API
Preform RPC Actions
ZTP Enable NETCONF
Enable AAA Programmatic Configuration
of device features
Authentication from Guest Shell to NETCONF is still required, both credentials and certificates are supported
get_hostname.py example at [Link]
[Link] example at. [Link]
Turn on
DHCP Server
DHCP Discovery Bootstrapping
(RESTCONF)
Option 143 (136), URL List Server
TLS Handshake; SUDI Client Certificate Validate client
Server Certificate using SUDI
Bootstrapping Artifacts:
• Ownership Voucher
• Owner Certificate
• Conveyed Information
Validate Server
Some security requirements for classic ZTP are resolved using Secure ZTP: Update Image Information
As part of the SZTP RFC, the device supports image upgrade as part of the conveyed information
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 52
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 53
Learn more about Secure Zero Touch Provisioning
SZTP Blog Cisco SZTP Guide ZTP guide for hands-on lab
Device Configuration
Why It’s Time for a Change?
• The Complexity and Struggles of CLI-Based Automation
Config
</>
YANG data models define the data NETCONF RESTCONF gNMI gRPC
Intent-based
Network Infrastructure
Configuration and Operation
Device Features
SNMP
Interface BGP QoS ACL …
• NETCONF uses SSH port 830 but is independent from the SSH service
• ACL can ben applied for this interface as necessary
• Laptop
• Client
• Workstation
• Orchistrator IOS XE
• Etc NETCONF/SSH
port 830
[Link]
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 61
How to enable NETCONF ?
Cat9k-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Cat9k-1(config)#aaa new-model Enable AAA
Cat9k-1(config)#aaa authentication login default local
Cat9k-1(config)#aaa authorization exec default local
Cat9k-1(config)#username admin privilege 15 password cisco
Select Replays
Requirements
1. Install Ansible
2. Install NETCONF collection:
ansible-galaxy collection install NETCONF
- name : conf-host
hosts: c9300
connection: netconf
gather_facts: no
tasks:
- name: hostname-conf
netconf_config:
xml: |
<config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<native xmlns="[Link]
<hostname>c9300-pod29</hostname>
</native>
</config>
This YANG data model allows sending CLI through the YANG API interfaces
Previously only YANG modelled data was supported
[Link]
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 67
Get Modelled Config CLI RPC
RPC:
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
<get-modelled-config-clis xmlns="[Link]
</rpc>
Configuration payload
<native
xmlns="[Link]
IOS-XE-native">
<ipv6>
<unicast-routing/>
<router>
<ospf>
<id>1</id>
</ospf>
</router> Send to device
</ipv6> over a NETCONF
</native> session
TECENT-2150 69
Watch the recording:
IOSd
Validate
Request
Validate
Write Validate Configuration
Config Staging System verifies configuration
Validate Read Memory integrity before applying.
Response Staging Catches potential
Environment
errors early
IOS
IOS ––
Running
Running
Config
Config
Commit
Request
Write
Apply
Commit
Config Atomic Transaction Config Rollback
Response Read
Apply configuration changes If issues arise, revert to last
as a single transaction. All known good configuration
changes succeed, immediately
or none do
RESTCONF provides a programmatic interface based on standard mechanisms for accessing configuration data, state data,
data-model-specific Remote Procedure Call (RPC) operations and events, defined in the YANG model. The YANG Suite
RESTCONF plugin provides Swagger UI and execution visualization of the YANG data model.
RESTCONF
REST NETCONF RESTCONF gNMI gRPC
API PUT
Configuration and Operation
DELETE
Device Features
SNMP
Cat9k-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
- name: interface
hosts: HOST_NAME_HERE
gather_facts: no
tasks:
- name: interfaces_oper
[Link].restconf_get:
# Output can either be json or xml
output: json
path: Cisco-IOS-XE-interfaces-oper:interfaces
gRPC gNMI
Google gRPC
Remote Procedure Call Network Management Interface
Cat9k-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Cat9k-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Alternative approach:
Cat9k-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Requirements
1. Install Ansible
2. Install the required collection
ansible-galaxy collection install [Link]
collections:
- [Link]
tasks:
- name: gNMI RPC
gnmi_config:
update:
- path: system/config/hostname
val: set-by-ys-gnmi-ansible
register: testout
- name: dump test output
Note: the ansible gnmi integration works only with OpenConfig model
debug:
msg: '{{ [Link] }}'
Device Monitoring
Why It’s Time for a Change?
Challenges of SNMP Monitoring
Collector/Receiver
Decodes to text
Storage
Time Series Database
Monitoring
and Visualizations
[Link] [Link]
[Link]
Collector/Receiver
Decodes to text
Storage
Time Series Database 89
Monitoring
and Visualizations
Dial In: Collector establishes a connection to the device then subscribes to telemetry (pub/sub)
Dial Out: Telemetry is pushed from the device to the collector based off configuration (push)
Publication / Subscription
• NETCONF for RFP/compliance use only – not really seen in use in production
• gRPC for most enterprises: the NetOps configures the telemetry to push to the server
• 2025gNMI
© Cisco and/orfor leading
its affiliates. edge: NetDevOps accesses the network
All rights reserved. device
DEVNET-1110 92
Cisco Telemetry Data Broker (Telegraf)
Cisco Telemetry Broker provides many benefits include brokering, filtering, and transforming
data. It provides the ability to replicate telemetry data.
On-Change Periodic
t t t t t t t t t t t t t t
Configuration Guide:
[Link]
/docs/ios-
xml/ios/prog/configuration/1610/b
_1610_programmability_cg/model
_driven_telemetry.html
Configuring telemetry subscriptions like the following to collect CPU data over time
System Meter
Meter start time 2024-10-22 10:36:34 PST
Energy Data For Last 180 Minute
Interface Meter Update Hourly Metered Metered Energy in MilliWattSec (15min Buckets)
System Energy is power consumed by the system for a Time Value (MilliWattSec)
---------- ----------------------- -------------------- ------------------------------------------------------
specific duration, measured in unit of Watt Second. Macro- ------------------------------------------------------
Gi1/0/1 2024-10-22 11:21:09 PST 0 0-0-0-0-0-0-0-0-0-0-0-0
metered window size of 3-hours with 12 x 15-minute micro- Gi1/0/2 2024-10-22 11:21:09 PST 10507380 1465368-3553224-3558320-1930468-0-0-0-0-0-0-0-0
meters 15 minutes/bucket # 0
15 min
1 30 min
Gives the visibility within the windows of consumption that can Hour-1
2 45 min
be further analyzed and considered for carbon intensity
3
reporting, density-based usage analysis and so on. 60 min
4 75 min
Power
5 90 min
What it receives Telemetry
6 105 min Hour-2
7 120 min
Ledger on Energy consumption for System Power and PoE Port 8
135 min
with a bucketized data of 15 minutes each. 9
150 min
165 min Hour-3
10
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 180 min 98
11
Subscription to the new platform data
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 102
Auto-off StackPower PSU
Switch # 1 1A 1B Switch # 1 1A 1B
Switch # 2 2A 2B Switch # 2 2A 2B
Switch # 3 3A 3B Switch # 3 3A 3B
Switch # 4 4A 4B Switch # 4 4A 4B
Switch # 5 5A 5B Switch # 5 5A 5B
Switch # 6 6A 6B Switch # 6 6A 6B
Switch # 7 7A 7B Switch # 7 7A 7B
Switch # 8 8A 8B Switch # 8 8A 8B
- Stack-power group
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 103
StackPower Power draw with auto-off
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 104
StackPower Efficiency with auto-off
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 105
What can we do with Power Telemetry
Grafana
InfluxDB
Telegraf
Power Telemetry
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 106
Catalyst 9800 WLC Calendar Template scheduling
To enable power save mode on Cisco Catalyst Access Points
[Link]
ap profile default-ap-profile
calendar-profile "Workday 5pm to Midnight"
action power-saving-mode power-profile "Off Work Hours"
calendar-profile "Workday Midnight to 8am"
action power-saving-mode power-profile "Off Work Hours"
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 107
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 108
Monitoring & Automation Impact
Up to 25%
of Energy usage reduction on POE
switchports with IOT endpoints turned off ~ 9hrs/Day
Minimum of 12%
Energy usage reduction for controller-
based Cisco Catalyst Access Points
Device Optimization
Livetools: YANG support for
common networking
operations
1. MTR 3. Throughput 5. Wake-On-LAN
2. Ping 4. Traceroute
Cisco-IOS-XE-livetools: Ping, Traceroute, MTR, etc
• 5 common network management tasks including ping and traceroute are now available through the YANG
API (mtr, ping, tracerout, throughput, WOL)
• They are called from the “RPC” model with variable inputs like IP address, etc
• A “JobID” is returned to programmatically retrieve the results
• The Results are available by querying the “oper” model
1. MTR
2. Ping
3. Throughput
4. Traceroute
5. Wake-On-LAN
These “live tools” enable additional programmatic network connectivity troubleshooting and validation
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 112
Ping RPC
The ping RPC measures the network latency in milliseconds to the specified IP or hostname
RPC TO EXEC PING
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
<ip-ping-action xmlns="[Link]
<count>5</count>
<src-if>vlan311</src-if>
<host-ip>[Link]</host-ip>
</ip-ping-action>
</rpc>
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 113
Resources
Cisco Live US Programmability Learning Map
BRKOPS-1401 BRKOPS-2223
Cisco IOS XE: Network of the Future is
Telemetry, Automation, Here - Let's Automate
and YANG—Oh My! your IPv6 deployment
[Link]
with Python!
Handoff Scenarios Deploy Cisco Catalyst Center Catalyst Switching enabled Advanced Campus Network
with Rest-API's Smart Buildings : Beyond Design: Multilayer
BRKENS-2604 1:00PM PoE Connectivity Architectures and Next-Gen
Atomic Config Replace with Protocols
Cisco Catalyst 9000 BRKARC-2668 3:30PM
Campus Switching
BRKENS-2608 2:30PM
Architecture for Future
Future-proofing Campus Proofed Workspaces
Switching for WiFi7
BRKARC-1012 2:30PM
Investment Protection with
Catalyst 9000 Series
Switching & Wireless: A
Competitive Edge
BRKENS-2099 4:00PM
Innovations on Cisco
Campus Switching for
Sustainability and Energy BU-led sessions
Management
BU-led sessions
© 2025 Cisco and/or its affiliates. All rights reserved.
-
#CiscoLiveAPJC © 2024 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco Live US SD-Access Fabric Learning Map
TECENS-2850 2:00PM IBOENS-1100 2:30PM BRKENS-2804 4:00PM BRKENS-2836 10:30AM BRKENS-3834 10:30AM
Security in Enterprise - A Cisco Catalyst Center and The Power of Cisco SD- Endpoint profiling and 1 to 100: Master All Steps of
cross domain security primer SD-Access Design Access LISP Fabric: segmentation using AI Automated and Seamless
across LAN, wLAN and WAN Fundamentals Simplified Deployment to endpoint Analytics and Cyber Deployment, Integration, and
Advanced Use Cases - Part Vision for next generation SD Migration of Large SDA and SD-
2 Access manufacturing plants WAN Networks
BRKENS-1804 3:30PM IBOENS-2828 4:30PM BRKENS-1806 1:00PM BRKENS-3810 2:30PM
The Power of Cisco SD- Network Quest: Exploring Transforming Enterprise How to Adopt Zero Trust using
Access LISP Fabric: Campus Fabrics and Secure Networks with Cisco SD- SD-Access and Default-Deny
Simplified Deployment to Segmentation Access: Real-World without Tears
Advanced Use Cases - Part Strategies from CDW
1
BRKENS-1851 4:00PM BRKENS-3826 3:30PM
Zero Trust: Secure the Advanced LISP SD-Access
Workplace with Cisco Forwarding Architecture
Software-Defined Access
BU-led sessions
Cisco Catalyst Programmability Sessions
at Cisco Live San Diego 2025
Sunday June 8 Monday June 9 Tuesday
May 2017
June 10 Wednesday
June 2017
June 11
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 119
Programmability Website
The one-stop-shop for Cisco IOS XE Programmability resources including videos, white papers, labs and more!
• Community Forum
• IOS XE FAQ
• White Papers
• Code Exchange
• IOS XE Docs & Guide
• Learning Tracks and Labs
• Sandboxes
• … and more !
[Link]
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 120
Cisco YANG Suite
[Link]
Website: [Link]
PDF: [Link]
Webinar with live demos & examples: [Link]
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 122
Model Drive Telemetry (MDT) White Paper
The Model Driven Telemetry White Paper includes examples, use cases and tooling related to telemetry.
This paper is now available online and in PDF form!
Website
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 123
dCloud Programmability
[Link]
“Cisco Catalyst 9000 IOS XE Programmability & Automation Lab v1”
[Link]
lab-v1
c9kvdd-7 - unconfigured
DevNet Sandbox – overview for Campus and Enterprise
[Link]
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 126
Cisco University (Cisco U) part of L&D
[Link]
[Link]
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 127
Complete Your Session Evaluations
Complete a minimum of Earn 100 points per Level up and earn Complete your surveys
4 session surveys and survey completed exclusive prizes! in the Cisco Live
the Overall Event and compete on the mobile app.
Survey to be entered in Cisco Live Challenge
a drawing to win 1 of 5 leaderboard.
full conference passes
to Cisco Live 2026.
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 128
Continue your education
Visit the Cisco Book your one-on-one Attend the interactive Visit the On-Demand
Showcase for related Meet the Engineer education with DevNet, Library for more
demos meeting Capture the Flag, and sessions at
Walk-in Labs [Link]/
on-demand
© 2025 Cisco and/or its affiliates. All rights reserved. DEVNET-1110 129
Questions
Thank you