SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
Cisco Connect Montreal
Canada • 20 November 2018
Global vision.
Local knowledge.
Santiago Álvarez
saalvare@cisco.com
Model-Driven Programmability for
Cisco IOS XR
@111pontes
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Agenda
• Introduction
• Data Models
• Management Protocols
• Model-Driven SDK
• Telemetry
• Demonstration
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Introduction
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Speed and scale demand
software automation and data
analytics
• Rapid innovation as competitive
advantage
• One network operator per
1000s / 10000s of complex
network devices
Motivations for Network Programmability
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Cisco IOS XR Device Programmability
Data Plane
Control Plane
Management Plane
App
Controller
Orchestrator
Controller
Orchestrator
Data Plane
Control Plane
App
Model-Driven Manageability Service Layer API
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Model-Driven Manageability
Controller
Orchestrator
Network
Device
Model-Driven
Configuration
Model-Driven
Telemetry
Closed-loop
automation Encoding
Protocol
Models
SDK
Apps
XML JSON GPB
NETCONF gRPC
Model-Driven SDKs
YANG Development Kit (YDK)
YANG Models
(native, open)
App App App
SSH HTTPTransport TCP
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Model based, structured, computer
friendly
• Multiple model types (native,
OpenConfig, IETF, etc.)
• Models decoupled from transport,
protocol and encoding
• Choice of transport, protocol and
encoding
• Model-driven SDKs for abstraction and
simplification
• Wide standard support while leveraging
open source
Benefits of Model-Driven Manageability
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Data Models
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Data (config and operational) and
actions/commands (RPCs) in a tree
structure
• Self-documented and shipped with
devices
• Native (XR specific) and open (vendor
neutral) models
• Native models provide most coverage
• Open (OpenConfig and IETF) provide
reduced coverage
• Open models internally mapped to native
models
Data Models in Cisco IOS XR
Native Open
(OpenConfig / IETF)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Provide most comprehensive coverage for device functionality
• Approximately 365+ models in XR 6.5.1 (780+ YANG files)
• A single model defines either configuration (cfg), operational state
(oper) or an action/command (act)
• Cisco-IOS-XR-ipv4-bgp-cfg
• Cisco-IOS-XR-ipv4-bgp-oper
• Cisco-IOS-XR-ipv4-bgp-act
• Models posted at
• https://github.com/YangModels/yang/tree/master/vendor/cisco/xr
Cisco IOS XR Native Data Models
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Operator group pursuing more dynamic and programmable networks
• Vendor-neutral data models (YANG)
• Models designed by operators for operators
• Model coverage still limited, but model development rapidly evolving
• New models in active development
• Actions/commands (RPCs) not defined using YANG
• gRPC network management interface (gNMI)
• gRPC network operations interface (gNOI)
OpenConfig Data Models
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Comprehensive support in Cisco IOS XR (6.0.0 and later)
OpenConfig Data Models In Cisco IOS XR
Cisco IOS XR
Native
acl network-instance
aft isis
bgp, bgp-policy
interfaces, if-aggregate, if-
ethernet, if-ip
lacp lldp
local-routing mpls
platform rib-bgp
routing-policy telemetry
vlan
channel_monitor,
terminal_device, optical_amplifier,
transport_line_common,
transport_line_protection
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Native data models provide
most configuration and
operational coverage
• Open models mapped to native
data models
• Departures from open models
specified as deviation module
Native vs Open Data Models
Native Model
Open
Model
Native device
config/oper
data
Mapped
config/oper
data
Deviations
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Management
Protocols
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
XML
NETCONF
• Rich functionality to manage
configuration and operational
(state) data
• Operations defined as RPCs
(request / reply) in XML
• Client/app initiate request towards
server/device
• Supports running, candidate and
startup configurations
• Capability exchange during session
initiation
NETCONF Protocol Overview
YANG
SSH
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Main NETCONF Protocol Operations
Operation Description
get-config Retrieve all or part of a specified configuration
edit-config
Loads all or part of a specified
configuration (merge, replace, create, delete,
remove)
copy-config Create or replace an entire configuration datastore
get
Retrieve all or part of running configuration and device
operational data
get-schema Retrieve device schema (model)
lock Lock entire configuration datastore (e.g. candidate)
unlock
Remove lock on entire configuration datastore (e.g.
candidate)
close-session Request graceful session termination
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
NETCONF Edit-Config Operations
Operation Description
Merge Merge configuration with existing configuration (default)
Replace Replace configuration with existing configuration
Create
Create configuration if non-existent. Otherwise, return
error. (non-idempotent*)
Delete
Delete configuration if existent. Otherwise, return
error. (non-idempotent)
Remove
Remove configuration. Ignore if configuration non-
existent.
* Cannotbe applied multiple times without changingthe result beyond the initial application
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Cisco gRPC
CLIJSON
YANG
HTTP/2
• Google RPC provides a general
(open source) RPC framework
• Interface definition in Cisco IOS
XR specifies device operations
• Functional subset of NETCONF
• Simple client development
• High performance
Overview of gRPC on Cisco IOS XR
GPB
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Protocol Operations in Cisco IDL
Operation Description
GetConfig Retrieve configuration
MergeConfig Merge configuration
DeleteConfig Delete configuration
ReplaceConfig Replace configuration
CommitReplace Replace entire configuration
GetOper Retrieve operational data
CliConfig Merge configuration data in CLI format
ShowCmdTextOutput Retrieves CLI show-command output data
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Protocol Operations in gNMI IDL
Operation Description
capabilities
Discover device capabilities (models,
encodings, version, extensions)
get Retrieve device state
set Modify device state (delete, replace, update)
subscribe Subscribe to device update
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Based on gNMI v0.4.0
• Introduced in release 6.5.1
• Set and Get RPCs use JSON_IETF (RFC 7951) and
ASCII (CLI) encoding
• Subscribe RPC
• Paths must consider data aggregation points (no arbitrary paths)
• No aliases
gNMI Implementation in Cisco IOS XR
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Model-Driven
SDK
ydk.io
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Simplify app development
• One-to-one correspondence between
model and class hierarchy
• Abstract protocol, transport, encoding,
modeling language
• SDK generated from YANG models
• Automatic data validation
• Multi-language (Python, C++, Go, etc.)
Model-Driven SDK: YANG Development Kit (YDK)
YANG Model
Class Hierarchy
(Python, C++, Go)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Models group Python APIs
created for each YANG model
• Services perform operations on
model objects (interface)
• Providers implement services
(implementation)
YDK API Structure
Models
(BGP, IS-IS, etc)
Services
(CRUD, NETCONF, Codec, Executor, etc.)
Providers
(NETCONF, RESTCONF,
OpenDaylight, Codec, etc.)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Client will automatically perform local
validation based on model constraints
• Check between type of data: config
(read-write) and state (read-only)
• Type check (enum, string, etc.)
• Value check (range, pattern, etc.)
• Semantic check (key
uniqueness/presence, mandatory leafs,
etc.)
• Model deviation check (unsupported
leafs, etc.)
YDK Client-Side Validation
Application
(client)
Device
(server)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
A YDK-Py “Hello World” Using OpenConfig BGP
# Cisco YDK-Py OC-BGP “Hello world”
from ydk.services import CRUDService
from ydk.providers import NetconfServiceProvider
from ydk.models.openconfig import openconfig_bgp as oc_bgp
if __name__ == "__main__":
provider = NetconfServiceProvider(address=10.0.0.1,
port=830,
username=“admin”,
password=“admin”,
protocol=“ssh”)
crud = CRUDService() # create CRUD service
bgp = oc_bgp.Bgp() # create oc-bgp object
bgp.global_.config.as_ = 65000 # set local AS number
crud.create(provider, bgp) # create on NETCONF device
exit()
# End of script
module: openconfig-bgp
+--rw bgp
+--rw global
| +--rw config
| | +--rw as
| | +--rw router-id?
| +--ro state
| | +--ro as
| | +--ro router-id?
| | +--ro total-paths?
| | +--ro total-prefixes?
...
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
How to Get YDK-Py
Native Virtual dCloud
Install Python
Install YDK
Download ydk-py-samples
YANG Development Kit Sandbox
Install Vagrant
Install Virtualbox
Download ydk-py-samples
*
* Releases 0.5.5 and earlier
Install docker
Download ydk-py-samples
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Telemetry
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Automatic streaming (push) of
remote data for monitoring
• Enables publish–subscribe
(pub-sub) messaging pattern
• Scalable and flexible alternative
to traditional device monitoring
(SNMP, syslog, CLI)
• Leverages operational data
models on device
Model-Driven Telemetry
Collector
Publish
(Data
stream)
Subscrib
e
Operationa
l data
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Cisco gRPC
GPB
YANG
HTTP/2
• Loosely-coupled stack
• Data encoding (JSON vs GPB)
• Transport (HTTPv2 vs TCP vs
UDP)
• Data model (native vs open)
• Session initiation
• Dial-in (transient destination)
• Dial-out (persistent destination)
• Flexible data streaming modes
(frequency vs event driven)
Overview of Telemetry on Cisco IOS XR
TCP / UDP
JSON GPB JSON
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Encoding Options
Compact Google
Protocol Buffers
(GPB)
Self-describing (key-
value) Google
Protocol Buffers
(GPB)
JSON
Most efficient Medium efficiency Least efficient
Binary encoding
Hybrid text/binary
encoding
Text-based encoding
Data definition
required to decode
data stream
No data definition
required to decode
data stream
No data definition
required to decode
data stream
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Collector for telemetry
data
• Performs basic encoding
transformation
• Data producer for Kafka,
InfluxDB, Prometheus, etc.
• Supports dial-in and dial-
out sessions
Pipeline - An Open-Source Telemetry Collector
Telemetry data
(HTTPv2/TCP/UDP
)
(JSON/GPB)
gRPC dial-
in
Kafka Fil
e
InfluxDB Prometheus
Pipeline
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Demonstration
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Peering Use Case
Peer Configuration
{
"asbr": {
"name": "asbr1",
"address": "198.18.1.11",
"as": 65001
},
“peers": [{
"address": "192.168.0.2",
"as": 65002
"group": "EBGP",
"interface": {
"name": "GigabitEthernet0/0/0/0",
"description": "Peering with AS65002",
"address": "192.168.0.1",
"netmask": 24
}
}]
}
ASBR1
(AS65001)
ASBR2
(AS65002)
Configuration Telemetry
Private
Peering
Config
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Open Source Tool Chain
• Python/C++/Go
bindings for
OpenConfig models
• Detailed client-side
data validation
• Protocol / transport /
encoding abstraction
YDK
(ydk.io)
Pipeline
(git.io/vdnnT)
Kafka
(kafka.apache.org)
• Collector for router
streaming telemetry
• Performs basic
encoding
transformation
• Data producer for
Kafka, InfluxDB,
Prometheus, etc.
• Distributed streaming
platform (message
bus)
• Producer, consumer,
stream and connector
APIs
• Rich client support
(Python, Java, etc)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Resources
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Model-driven programmability @ Cloud-Scale Networking
• Model-Driven Programmability (http://goo.gl/x3GZDB)
Programmability @ XR Docs
• Tutorials (https://xrdocs.github.io/programmability/tutorials)
• Blogs (https://xrdocs.github.io/programmability/blogs)
Configuration guide
• Cisco IOS XR programmability configuration guide for ASR 9000 series router
(http://goo.gl/8dYUeK)
• Cisco IOS XR programmability configuration guide for NCS 5500 series router
(http://goo.gl/cnYPw7)
Resources
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
YDK Portal
• YDK at DevNet (http://ydk.io)
YDK Sample Apps
• YDK-Py sample apps (https://github.com/CiscoDevNet/ydk-py-samples) - Over 700 apps!
• YDK-Cpp sample apps (https://github.com/CiscoDevNet/ydk-cpp-samples) - Coming soon
Sandboxes
• dCloud YANG Development Kit sandbox (https://goo.gl/kaYJ3R)
• Ubuntu YDK Vagrant box (https://git.io/vaw1U)
• Ubuntu YDK Docker container (https://hub.docker.com/u/ydkdev)
Support
• Cisco support community (https://communities.cisco.com/community/developer/ydk)
Resources (cont.)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
YDK Documentation
• YDK-Py docs (http://ydk.cisco.com/py/docs)
• YDK-Cpp docs (http://ydk.cisco.com/cpp/docs)
GitHub
• YDK Python SDK – YDK-Py (https://github.com/CiscoDevNet/ydk-py)
• YDK C++ SDK – YDK-Cpp (https://github.com/CiscoDevNet/ydk-cpp)
• YDK Go SDK – YDK-Go (https://github.com/CiscoDevNet/ydk-go)
• YDK-Py sample apps (https://github.com/CiscoDevNet/ydk-py-samples) - Over 700 apps!
• YDK-Cpp sample apps (https://github.com/CiscoDevNet/ydk-cpp-samples) - Coming soon
Resources (cont.)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Conferences
• MPLS+SDN+NFV World Congress 2018: Getting started with OpenConfig
(http://youtu.be/B43PRZV-CD8)
• NANOG 68: Ok, We Got YANG Data Models. Now What?
(http://youtu.be/2oqkiZ83vAA )
• NANOG 71: Getting started with OpenConfig (https://youtu.be/L7trUNK8NJI)
• LinuxCon NA 2016: Simplifying Network Programmability Using Model-Driven APIs
(https://goo.gl/W6tH2X)
Resources (cont.)
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Summary
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Model-Driven Programmability
• Speed and scale through automation
• Rich and flexible in terms of models,
transports and encodings
• Data Models
• Native
• Open (OpenConfig / IETF)
• NETCONF
• Rich, mature protocol
• Relies on XML encoding
• Google RPC
• Cisco IOS XR and OpenConfig interface
definitions (device operations)
• Supports JSON and unstructured data
(CLI)
• High performance
• Model-Driven SDK
• Simplify app development
• Abstract transport and encoding
• Automatic data validation
• Telemetry
• Loosely-coupled stack
• Session initiation (dial-in vs dial-out)
• Flexible data streaming modes
Let’s Recap
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Thank you!
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Backup
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Modeling language for networking
• Defines data hierarchy (config or oper), RPCs
and notifications
• Main node types
• Leaf – node with name, type and value (no
children)
• Leaf list – sequence of leafs (no children)
• Container – node that groups nodes and has no
type or value
• List – Series of data instances generally with one
or more keys
• Models extended through augmentations
• Unsupported nodes specified as deviations
YANG
Leaf
Node without type/value
Node with a
type/value
Leaf
list
List
key
Container
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
YANG Model Example
container community-sets {
description “Container for community sets";
list community-set {
key community-set-name;
description "Definitions for community sets";
leaf community-set-name {
type string;
description "name of the community set";
}
leaf-list community-member {
type string {
pattern '([0-9]+:[0-9]+)';
}
description "members of the community set";
}
}
}
community-sets
community-set C-SET1
65172:1,
65172:2,
65172:3
!
community-set C-SET10
65172:10,
65172:20,
65172:30
!
!
YANG CLI
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Model Data Example
community-sets
community-set C-SET1
65172:1,
65172:2,
65172:3
!
community-set C-SET10
65172:10,
65172:20,
65172:30
!
!
{ "community-sets": {
"community-set": [
{ "community-set-name": "CSET1",
"community-member": [
"65172:1",
"65172:2",
"65172:3" ]
},
{ "community-set-name": "CSET10",
"community-member": [
"65172:10",
"65172:20",
"65172:30" ]
}
]
}
}
JSON CLI
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
OpenConfig Major Components
Config / oper
models
YANG
gRPC Network
Management
Interface
(gNMI)
protobuf
gRPC Network
Operations
Interface
(gNOI)
protobuf
Data
Management
Protocol
Operational
Commands
gRPC Routing
Information
Base Interface
(gRIBI)
RIB
Injection
protobuf
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Native Data Models
Model Mapping
Open Data Models
Internal Datastore
Management Protocol
Model-Driven SDKs
YANG Development Kit (YDK)
• Mapping converts open model
data to native model data and
vice versa
• Mapping of config and
operational data (including
telemetry)
• Single view of config and
operational data in internal
datastore
Open Model Mapping in IOS XR
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Model Data Example
<community-sets>
<community-set>
<community-set-name>C-SET1</community-set-name>
<community-member>65172:1</community-member>
<community-member>65172:2</community-member>
<community-member>65172:3</community-member>
</community-set>
<community-set>
<community-set-name>C-SET10</community-set-name>
<community-member>65172:10</community-member>
<community-member>65172:20</community-member>
<community-member>65172:30</community-member>
</community-set>
</community-sets>
community-sets
community-set C-SET1
65172:1,
65172:2,
65172:3
!
community-set C-SET10
65172:10,
65172:20,
65172:30
!
!
XML CLI
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
YANG Development Kit
YDK-Py
Python
YDK-Cpp
C++
Services
Providers
Cisco IOS XR
Models
OpenConfig
Models
IETF Models
Cisco IOS XE
Models
ydk
(core
)
Module
bundle
s
YDK-Go
Go
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Additional providers (e.g.
Google RPC, Cisco NSO)
• Additional services (e.g. Google
RPC)
• Additional languages
• Additional encodings (e.g.
YAML, GPB)
• Code generation (e.g. Python,
C++) from encoded model data
(e.g. JSON, XML)
Future Work Items
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Telemetry Subscriptions
Sensor path Sensor path
Sensor Group Destination
Group
Aggregation point
Data Model
1
Data Model
2
Destination
1
(collector)
Destination
2
(collector)
Encodin
g
Protocol
Subscripti
on
Encodin
g
Protocol
© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
1. Load peer configuration
2. Configure interface and
validate operation
3. Configure BGP neighbor and
validate operation
Peering Use Case
Configure and Validate Peering on ASBR1
PeeringDB
ASBR1
(AS65001)
ASBR2
(AS65002)
Configuration Telemetry
Private
Peering
Config
Cisco connect montreal 2018 saalvare md-program-xr-v2

Weitere ähnliche Inhalte

Was ist angesagt?

Cisco Connect Toronto 2018 IOT - unlock the power of data - securing the in...
Cisco Connect Toronto 2018   IOT - unlock the power of data - securing the in...Cisco Connect Toronto 2018   IOT - unlock the power of data - securing the in...
Cisco Connect Toronto 2018 IOT - unlock the power of data - securing the in...Cisco Canada
 
Cisco connect montreal 2018 vision mondiale analyse locale
Cisco connect montreal 2018 vision mondiale analyse localeCisco connect montreal 2018 vision mondiale analyse locale
Cisco connect montreal 2018 vision mondiale analyse localeCisco Canada
 
Cisco Connect Toronto 2018 dc-aci-anywhere
Cisco Connect Toronto 2018   dc-aci-anywhereCisco Connect Toronto 2018   dc-aci-anywhere
Cisco Connect Toronto 2018 dc-aci-anywhereCisco Canada
 
Cisco Connect Ottawa 2018 data center - protecting your data with Cisco hyp...
Cisco Connect Ottawa 2018   data center - protecting your data with Cisco hyp...Cisco Connect Ottawa 2018   data center - protecting your data with Cisco hyp...
Cisco Connect Ottawa 2018 data center - protecting your data with Cisco hyp...Cisco Canada
 
Cisco connect montreal 2018 compute v final
Cisco connect montreal 2018   compute v finalCisco connect montreal 2018   compute v final
Cisco connect montreal 2018 compute v finalCisco Canada
 
Cisco connect montreal 2018 collaboration les services webex hybrides
Cisco connect montreal 2018 collaboration les services webex hybridesCisco connect montreal 2018 collaboration les services webex hybrides
Cisco connect montreal 2018 collaboration les services webex hybridesCisco Canada
 
Cisco Connect Toronto 2018 model-driven programmability for cisco ios xr-v1
Cisco Connect Toronto 2018   model-driven programmability for cisco ios xr-v1Cisco Connect Toronto 2018   model-driven programmability for cisco ios xr-v1
Cisco Connect Toronto 2018 model-driven programmability for cisco ios xr-v1Cisco Canada
 
Cisco Connect Halifax 2018 Accelerating the secure digital business through...
Cisco Connect Halifax 2018   Accelerating the secure digital business through...Cisco Connect Halifax 2018   Accelerating the secure digital business through...
Cisco Connect Halifax 2018 Accelerating the secure digital business through...Cisco Canada
 
Cisco Connect Ottawa 2018 dna automation the evolution to intent-based netw...
Cisco Connect Ottawa 2018 dna automation   the evolution to intent-based netw...Cisco Connect Ottawa 2018 dna automation   the evolution to intent-based netw...
Cisco Connect Ottawa 2018 dna automation the evolution to intent-based netw...Cisco Canada
 
Cisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUI
Cisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUICisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUI
Cisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUICisco Canada
 
Cisco connect montreal 2018 sd wan - delivering intent-based networking to th...
Cisco connect montreal 2018 sd wan - delivering intent-based networking to th...Cisco connect montreal 2018 sd wan - delivering intent-based networking to th...
Cisco connect montreal 2018 sd wan - delivering intent-based networking to th...Cisco Canada
 
Cisco Connect Toronto 2018 DNA assurance
Cisco Connect Toronto 2018  DNA assuranceCisco Connect Toronto 2018  DNA assurance
Cisco Connect Toronto 2018 DNA assuranceCisco Canada
 
Cisco Connect Halifax 2018 Application agility and programmability with cis...
Cisco Connect Halifax 2018   Application agility and programmability with cis...Cisco Connect Halifax 2018   Application agility and programmability with cis...
Cisco Connect Halifax 2018 Application agility and programmability with cis...Cisco Canada
 
Cisco Connect Ottawa 2018 Cisco digital buildings and the 4th utility w co...
Cisco Connect Ottawa 2018  Cisco digital buildings and the 4th utility   w co...Cisco Connect Ottawa 2018  Cisco digital buildings and the 4th utility   w co...
Cisco Connect Ottawa 2018 Cisco digital buildings and the 4th utility w co...Cisco Canada
 
Cisco Connect Toronto 2018 sixty to zero
Cisco Connect Toronto 2018   sixty to zeroCisco Connect Toronto 2018   sixty to zero
Cisco Connect Toronto 2018 sixty to zeroCisco Canada
 
Cisco Connect Halifax 2018 Cisco dna - deeper dive
Cisco Connect Halifax 2018   Cisco dna - deeper diveCisco Connect Halifax 2018   Cisco dna - deeper dive
Cisco Connect Halifax 2018 Cisco dna - deeper diveCisco Canada
 
Cisco Connect Ottawa 2018 dna assurance shortest path to network innocence
Cisco Connect Ottawa 2018 dna assurance shortest path to network innocenceCisco Connect Ottawa 2018 dna assurance shortest path to network innocence
Cisco Connect Ottawa 2018 dna assurance shortest path to network innocenceCisco Canada
 
Cisco connect winnipeg 2018 understanding cisco's next generation sdwan sol...
Cisco connect winnipeg 2018   understanding cisco's next generation sdwan sol...Cisco connect winnipeg 2018   understanding cisco's next generation sdwan sol...
Cisco connect winnipeg 2018 understanding cisco's next generation sdwan sol...Cisco Canada
 
Cisco Connect Halifax 2018 Cisco dna - network intuitive
Cisco Connect Halifax 2018   Cisco dna - network intuitiveCisco Connect Halifax 2018   Cisco dna - network intuitive
Cisco Connect Halifax 2018 Cisco dna - network intuitiveCisco Canada
 
Cisco Connect Vancouver 2017 - Optimizing your client's wi fi experience
Cisco Connect Vancouver 2017 - Optimizing your client's wi fi experienceCisco Connect Vancouver 2017 - Optimizing your client's wi fi experience
Cisco Connect Vancouver 2017 - Optimizing your client's wi fi experienceCisco Canada
 

Was ist angesagt? (20)

Cisco Connect Toronto 2018 IOT - unlock the power of data - securing the in...
Cisco Connect Toronto 2018   IOT - unlock the power of data - securing the in...Cisco Connect Toronto 2018   IOT - unlock the power of data - securing the in...
Cisco Connect Toronto 2018 IOT - unlock the power of data - securing the in...
 
Cisco connect montreal 2018 vision mondiale analyse locale
Cisco connect montreal 2018 vision mondiale analyse localeCisco connect montreal 2018 vision mondiale analyse locale
Cisco connect montreal 2018 vision mondiale analyse locale
 
Cisco Connect Toronto 2018 dc-aci-anywhere
Cisco Connect Toronto 2018   dc-aci-anywhereCisco Connect Toronto 2018   dc-aci-anywhere
Cisco Connect Toronto 2018 dc-aci-anywhere
 
Cisco Connect Ottawa 2018 data center - protecting your data with Cisco hyp...
Cisco Connect Ottawa 2018   data center - protecting your data with Cisco hyp...Cisco Connect Ottawa 2018   data center - protecting your data with Cisco hyp...
Cisco Connect Ottawa 2018 data center - protecting your data with Cisco hyp...
 
Cisco connect montreal 2018 compute v final
Cisco connect montreal 2018   compute v finalCisco connect montreal 2018   compute v final
Cisco connect montreal 2018 compute v final
 
Cisco connect montreal 2018 collaboration les services webex hybrides
Cisco connect montreal 2018 collaboration les services webex hybridesCisco connect montreal 2018 collaboration les services webex hybrides
Cisco connect montreal 2018 collaboration les services webex hybrides
 
Cisco Connect Toronto 2018 model-driven programmability for cisco ios xr-v1
Cisco Connect Toronto 2018   model-driven programmability for cisco ios xr-v1Cisco Connect Toronto 2018   model-driven programmability for cisco ios xr-v1
Cisco Connect Toronto 2018 model-driven programmability for cisco ios xr-v1
 
Cisco Connect Halifax 2018 Accelerating the secure digital business through...
Cisco Connect Halifax 2018   Accelerating the secure digital business through...Cisco Connect Halifax 2018   Accelerating the secure digital business through...
Cisco Connect Halifax 2018 Accelerating the secure digital business through...
 
Cisco Connect Ottawa 2018 dna automation the evolution to intent-based netw...
Cisco Connect Ottawa 2018 dna automation   the evolution to intent-based netw...Cisco Connect Ottawa 2018 dna automation   the evolution to intent-based netw...
Cisco Connect Ottawa 2018 dna automation the evolution to intent-based netw...
 
Cisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUI
Cisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUICisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUI
Cisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUI
 
Cisco connect montreal 2018 sd wan - delivering intent-based networking to th...
Cisco connect montreal 2018 sd wan - delivering intent-based networking to th...Cisco connect montreal 2018 sd wan - delivering intent-based networking to th...
Cisco connect montreal 2018 sd wan - delivering intent-based networking to th...
 
Cisco Connect Toronto 2018 DNA assurance
Cisco Connect Toronto 2018  DNA assuranceCisco Connect Toronto 2018  DNA assurance
Cisco Connect Toronto 2018 DNA assurance
 
Cisco Connect Halifax 2018 Application agility and programmability with cis...
Cisco Connect Halifax 2018   Application agility and programmability with cis...Cisco Connect Halifax 2018   Application agility and programmability with cis...
Cisco Connect Halifax 2018 Application agility and programmability with cis...
 
Cisco Connect Ottawa 2018 Cisco digital buildings and the 4th utility w co...
Cisco Connect Ottawa 2018  Cisco digital buildings and the 4th utility   w co...Cisco Connect Ottawa 2018  Cisco digital buildings and the 4th utility   w co...
Cisco Connect Ottawa 2018 Cisco digital buildings and the 4th utility w co...
 
Cisco Connect Toronto 2018 sixty to zero
Cisco Connect Toronto 2018   sixty to zeroCisco Connect Toronto 2018   sixty to zero
Cisco Connect Toronto 2018 sixty to zero
 
Cisco Connect Halifax 2018 Cisco dna - deeper dive
Cisco Connect Halifax 2018   Cisco dna - deeper diveCisco Connect Halifax 2018   Cisco dna - deeper dive
Cisco Connect Halifax 2018 Cisco dna - deeper dive
 
Cisco Connect Ottawa 2018 dna assurance shortest path to network innocence
Cisco Connect Ottawa 2018 dna assurance shortest path to network innocenceCisco Connect Ottawa 2018 dna assurance shortest path to network innocence
Cisco Connect Ottawa 2018 dna assurance shortest path to network innocence
 
Cisco connect winnipeg 2018 understanding cisco's next generation sdwan sol...
Cisco connect winnipeg 2018   understanding cisco's next generation sdwan sol...Cisco connect winnipeg 2018   understanding cisco's next generation sdwan sol...
Cisco connect winnipeg 2018 understanding cisco's next generation sdwan sol...
 
Cisco Connect Halifax 2018 Cisco dna - network intuitive
Cisco Connect Halifax 2018   Cisco dna - network intuitiveCisco Connect Halifax 2018   Cisco dna - network intuitive
Cisco Connect Halifax 2018 Cisco dna - network intuitive
 
Cisco Connect Vancouver 2017 - Optimizing your client's wi fi experience
Cisco Connect Vancouver 2017 - Optimizing your client's wi fi experienceCisco Connect Vancouver 2017 - Optimizing your client's wi fi experience
Cisco Connect Vancouver 2017 - Optimizing your client's wi fi experience
 

Ähnlich wie Cisco connect montreal 2018 saalvare md-program-xr-v2

PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...
PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...
PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...PROIDEA
 
MongoDB World 2018: Managing a Mission Critical eCommerce Application on Mong...
MongoDB World 2018: Managing a Mission Critical eCommerce Application on Mong...MongoDB World 2018: Managing a Mission Critical eCommerce Application on Mong...
MongoDB World 2018: Managing a Mission Critical eCommerce Application on Mong...MongoDB
 
Elastic Cloud Enterprise @ Cisco
Elastic Cloud Enterprise @ CiscoElastic Cloud Enterprise @ Cisco
Elastic Cloud Enterprise @ CiscoElasticsearch
 
Cisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco DevNet
 
Data models-and-automation-jp
Data models-and-automation-jpData models-and-automation-jp
Data models-and-automation-jpMiya Kohno
 
Mass Scale Networking
Mass Scale NetworkingMass Scale Networking
Mass Scale NetworkingSteve Iatrou
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Cisco DevNet
 
Cisco Connect Toronto 2018 sd-wan - delivering intent-based networking to t...
Cisco Connect Toronto 2018   sd-wan - delivering intent-based networking to t...Cisco Connect Toronto 2018   sd-wan - delivering intent-based networking to t...
Cisco Connect Toronto 2018 sd-wan - delivering intent-based networking to t...Cisco Canada
 
Cisco connect winnipeg 2018 gain insight and programmability with cisco dc ...
Cisco connect winnipeg 2018   gain insight and programmability with cisco dc ...Cisco connect winnipeg 2018   gain insight and programmability with cisco dc ...
Cisco connect winnipeg 2018 gain insight and programmability with cisco dc ...Cisco Canada
 
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...Sanjeev Rampal
 
CisCon 2018 - Analytics per Storage Area Networks
CisCon 2018 - Analytics per Storage Area NetworksCisCon 2018 - Analytics per Storage Area Networks
CisCon 2018 - Analytics per Storage Area NetworksAreaNetworking.it
 
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław BorekPLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław BorekPROIDEA
 
Cisco Connect Toronto 2017 - Model-driven Telemetry
Cisco Connect Toronto 2017 - Model-driven TelemetryCisco Connect Toronto 2017 - Model-driven Telemetry
Cisco Connect Toronto 2017 - Model-driven TelemetryCisco Canada
 
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Joel W. King
 
Plan with confidence: Route to a successful Do178c multicore certification
Plan with confidence: Route to a successful Do178c multicore certificationPlan with confidence: Route to a successful Do178c multicore certification
Plan with confidence: Route to a successful Do178c multicore certificationMassimo Talia
 
BRKSPG-2069-64bit-package.pdf
BRKSPG-2069-64bit-package.pdfBRKSPG-2069-64bit-package.pdf
BRKSPG-2069-64bit-package.pdfHeng30
 
Cisco Connect Toronto 2018 an introduction to Cisco kinetic
Cisco Connect Toronto 2018   an introduction to Cisco kineticCisco Connect Toronto 2018   an introduction to Cisco kinetic
Cisco Connect Toronto 2018 an introduction to Cisco kineticCisco Canada
 
Cisco Connect Ottawa 2018 dev net
Cisco Connect Ottawa 2018 dev netCisco Connect Ottawa 2018 dev net
Cisco Connect Ottawa 2018 dev netCisco Canada
 
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoOracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoMarketingArrowECS_CZ
 

Ähnlich wie Cisco connect montreal 2018 saalvare md-program-xr-v2 (20)

PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...
PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...
PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...
 
MongoDB World 2018: Managing a Mission Critical eCommerce Application on Mong...
MongoDB World 2018: Managing a Mission Critical eCommerce Application on Mong...MongoDB World 2018: Managing a Mission Critical eCommerce Application on Mong...
MongoDB World 2018: Managing a Mission Critical eCommerce Application on Mong...
 
Elastic Cloud Enterprise @ Cisco
Elastic Cloud Enterprise @ CiscoElastic Cloud Enterprise @ Cisco
Elastic Cloud Enterprise @ Cisco
 
SDN and metrics from the SDOs
SDN and metrics from the SDOsSDN and metrics from the SDOs
SDN and metrics from the SDOs
 
Cisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open Discussion
 
Data models-and-automation-jp
Data models-and-automation-jpData models-and-automation-jp
Data models-and-automation-jp
 
Mass Scale Networking
Mass Scale NetworkingMass Scale Networking
Mass Scale Networking
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
 
Cisco Connect Toronto 2018 sd-wan - delivering intent-based networking to t...
Cisco Connect Toronto 2018   sd-wan - delivering intent-based networking to t...Cisco Connect Toronto 2018   sd-wan - delivering intent-based networking to t...
Cisco Connect Toronto 2018 sd-wan - delivering intent-based networking to t...
 
Cisco connect winnipeg 2018 gain insight and programmability with cisco dc ...
Cisco connect winnipeg 2018   gain insight and programmability with cisco dc ...Cisco connect winnipeg 2018   gain insight and programmability with cisco dc ...
Cisco connect winnipeg 2018 gain insight and programmability with cisco dc ...
 
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
 
CisCon 2018 - Analytics per Storage Area Networks
CisCon 2018 - Analytics per Storage Area NetworksCisCon 2018 - Analytics per Storage Area Networks
CisCon 2018 - Analytics per Storage Area Networks
 
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław BorekPLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
 
Cisco Connect Toronto 2017 - Model-driven Telemetry
Cisco Connect Toronto 2017 - Model-driven TelemetryCisco Connect Toronto 2017 - Model-driven Telemetry
Cisco Connect Toronto 2017 - Model-driven Telemetry
 
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
 
Plan with confidence: Route to a successful Do178c multicore certification
Plan with confidence: Route to a successful Do178c multicore certificationPlan with confidence: Route to a successful Do178c multicore certification
Plan with confidence: Route to a successful Do178c multicore certification
 
BRKSPG-2069-64bit-package.pdf
BRKSPG-2069-64bit-package.pdfBRKSPG-2069-64bit-package.pdf
BRKSPG-2069-64bit-package.pdf
 
Cisco Connect Toronto 2018 an introduction to Cisco kinetic
Cisco Connect Toronto 2018   an introduction to Cisco kineticCisco Connect Toronto 2018   an introduction to Cisco kinetic
Cisco Connect Toronto 2018 an introduction to Cisco kinetic
 
Cisco Connect Ottawa 2018 dev net
Cisco Connect Ottawa 2018 dev netCisco Connect Ottawa 2018 dev net
Cisco Connect Ottawa 2018 dev net
 
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoOracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
 

Mehr von Cisco Canada

Cisco connect montreal 2018 net devops
Cisco connect montreal 2018 net devopsCisco connect montreal 2018 net devops
Cisco connect montreal 2018 net devopsCisco Canada
 
Cisco connect montreal 2018 iot demo kinetic fr
Cisco connect montreal 2018   iot demo kinetic frCisco connect montreal 2018   iot demo kinetic fr
Cisco connect montreal 2018 iot demo kinetic frCisco Canada
 
Cisco Connect Toronto 2018 network-slicing
Cisco Connect Toronto 2018   network-slicingCisco Connect Toronto 2018   network-slicing
Cisco Connect Toronto 2018 network-slicingCisco Canada
 
Cisco Connect Toronto 2018 the intelligent network with cisco meraki
Cisco Connect Toronto 2018   the intelligent network with cisco merakiCisco Connect Toronto 2018   the intelligent network with cisco meraki
Cisco Connect Toronto 2018 the intelligent network with cisco merakiCisco Canada
 
Cisco Connect Toronto 2018 consuming public and private clouds
Cisco Connect Toronto 2018   consuming public and private cloudsCisco Connect Toronto 2018   consuming public and private clouds
Cisco Connect Toronto 2018 consuming public and private cloudsCisco Canada
 
Cisco Connect Toronto 2018 cloud and on premises collaboration security exp...
Cisco Connect Toronto 2018   cloud and on premises collaboration security exp...Cisco Connect Toronto 2018   cloud and on premises collaboration security exp...
Cisco Connect Toronto 2018 cloud and on premises collaboration security exp...Cisco Canada
 
Cisco Connect Ottawa 2018 the intelligent network with Cisco Meraki
Cisco Connect Ottawa 2018 the intelligent network with Cisco MerakiCisco Connect Ottawa 2018 the intelligent network with Cisco Meraki
Cisco Connect Ottawa 2018 the intelligent network with Cisco MerakiCisco Canada
 
Cisco Connect Ottawa 2018 consuming public and private clouds
Cisco Connect Ottawa 2018 consuming public and private cloudsCisco Connect Ottawa 2018 consuming public and private clouds
Cisco Connect Ottawa 2018 consuming public and private cloudsCisco Canada
 

Mehr von Cisco Canada (8)

Cisco connect montreal 2018 net devops
Cisco connect montreal 2018 net devopsCisco connect montreal 2018 net devops
Cisco connect montreal 2018 net devops
 
Cisco connect montreal 2018 iot demo kinetic fr
Cisco connect montreal 2018   iot demo kinetic frCisco connect montreal 2018   iot demo kinetic fr
Cisco connect montreal 2018 iot demo kinetic fr
 
Cisco Connect Toronto 2018 network-slicing
Cisco Connect Toronto 2018   network-slicingCisco Connect Toronto 2018   network-slicing
Cisco Connect Toronto 2018 network-slicing
 
Cisco Connect Toronto 2018 the intelligent network with cisco meraki
Cisco Connect Toronto 2018   the intelligent network with cisco merakiCisco Connect Toronto 2018   the intelligent network with cisco meraki
Cisco Connect Toronto 2018 the intelligent network with cisco meraki
 
Cisco Connect Toronto 2018 consuming public and private clouds
Cisco Connect Toronto 2018   consuming public and private cloudsCisco Connect Toronto 2018   consuming public and private clouds
Cisco Connect Toronto 2018 consuming public and private clouds
 
Cisco Connect Toronto 2018 cloud and on premises collaboration security exp...
Cisco Connect Toronto 2018   cloud and on premises collaboration security exp...Cisco Connect Toronto 2018   cloud and on premises collaboration security exp...
Cisco Connect Toronto 2018 cloud and on premises collaboration security exp...
 
Cisco Connect Ottawa 2018 the intelligent network with Cisco Meraki
Cisco Connect Ottawa 2018 the intelligent network with Cisco MerakiCisco Connect Ottawa 2018 the intelligent network with Cisco Meraki
Cisco Connect Ottawa 2018 the intelligent network with Cisco Meraki
 
Cisco Connect Ottawa 2018 consuming public and private clouds
Cisco Connect Ottawa 2018 consuming public and private cloudsCisco Connect Ottawa 2018 consuming public and private clouds
Cisco Connect Ottawa 2018 consuming public and private clouds
 

Kürzlich hochgeladen

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 

Cisco connect montreal 2018 saalvare md-program-xr-v2

  • 1. Cisco Connect Montreal Canada • 20 November 2018 Global vision. Local knowledge.
  • 3. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential© 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Agenda • Introduction • Data Models • Management Protocols • Model-Driven SDK • Telemetry • Demonstration
  • 4. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Introduction
  • 5. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Speed and scale demand software automation and data analytics • Rapid innovation as competitive advantage • One network operator per 1000s / 10000s of complex network devices Motivations for Network Programmability
  • 6. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Cisco IOS XR Device Programmability Data Plane Control Plane Management Plane App Controller Orchestrator Controller Orchestrator Data Plane Control Plane App Model-Driven Manageability Service Layer API
  • 7. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Model-Driven Manageability Controller Orchestrator Network Device Model-Driven Configuration Model-Driven Telemetry Closed-loop automation Encoding Protocol Models SDK Apps XML JSON GPB NETCONF gRPC Model-Driven SDKs YANG Development Kit (YDK) YANG Models (native, open) App App App SSH HTTPTransport TCP
  • 8. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Model based, structured, computer friendly • Multiple model types (native, OpenConfig, IETF, etc.) • Models decoupled from transport, protocol and encoding • Choice of transport, protocol and encoding • Model-driven SDKs for abstraction and simplification • Wide standard support while leveraging open source Benefits of Model-Driven Manageability
  • 9. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Data Models
  • 10. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Data (config and operational) and actions/commands (RPCs) in a tree structure • Self-documented and shipped with devices • Native (XR specific) and open (vendor neutral) models • Native models provide most coverage • Open (OpenConfig and IETF) provide reduced coverage • Open models internally mapped to native models Data Models in Cisco IOS XR Native Open (OpenConfig / IETF)
  • 11. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Provide most comprehensive coverage for device functionality • Approximately 365+ models in XR 6.5.1 (780+ YANG files) • A single model defines either configuration (cfg), operational state (oper) or an action/command (act) • Cisco-IOS-XR-ipv4-bgp-cfg • Cisco-IOS-XR-ipv4-bgp-oper • Cisco-IOS-XR-ipv4-bgp-act • Models posted at • https://github.com/YangModels/yang/tree/master/vendor/cisco/xr Cisco IOS XR Native Data Models
  • 12. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Operator group pursuing more dynamic and programmable networks • Vendor-neutral data models (YANG) • Models designed by operators for operators • Model coverage still limited, but model development rapidly evolving • New models in active development • Actions/commands (RPCs) not defined using YANG • gRPC network management interface (gNMI) • gRPC network operations interface (gNOI) OpenConfig Data Models
  • 13. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Comprehensive support in Cisco IOS XR (6.0.0 and later) OpenConfig Data Models In Cisco IOS XR Cisco IOS XR Native acl network-instance aft isis bgp, bgp-policy interfaces, if-aggregate, if- ethernet, if-ip lacp lldp local-routing mpls platform rib-bgp routing-policy telemetry vlan channel_monitor, terminal_device, optical_amplifier, transport_line_common, transport_line_protection
  • 14. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Native data models provide most configuration and operational coverage • Open models mapped to native data models • Departures from open models specified as deviation module Native vs Open Data Models Native Model Open Model Native device config/oper data Mapped config/oper data Deviations
  • 15. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Management Protocols
  • 16. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential XML NETCONF • Rich functionality to manage configuration and operational (state) data • Operations defined as RPCs (request / reply) in XML • Client/app initiate request towards server/device • Supports running, candidate and startup configurations • Capability exchange during session initiation NETCONF Protocol Overview YANG SSH
  • 17. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Main NETCONF Protocol Operations Operation Description get-config Retrieve all or part of a specified configuration edit-config Loads all or part of a specified configuration (merge, replace, create, delete, remove) copy-config Create or replace an entire configuration datastore get Retrieve all or part of running configuration and device operational data get-schema Retrieve device schema (model) lock Lock entire configuration datastore (e.g. candidate) unlock Remove lock on entire configuration datastore (e.g. candidate) close-session Request graceful session termination
  • 18. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential NETCONF Edit-Config Operations Operation Description Merge Merge configuration with existing configuration (default) Replace Replace configuration with existing configuration Create Create configuration if non-existent. Otherwise, return error. (non-idempotent*) Delete Delete configuration if existent. Otherwise, return error. (non-idempotent) Remove Remove configuration. Ignore if configuration non- existent. * Cannotbe applied multiple times without changingthe result beyond the initial application
  • 19. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Cisco gRPC CLIJSON YANG HTTP/2 • Google RPC provides a general (open source) RPC framework • Interface definition in Cisco IOS XR specifies device operations • Functional subset of NETCONF • Simple client development • High performance Overview of gRPC on Cisco IOS XR GPB
  • 20. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Protocol Operations in Cisco IDL Operation Description GetConfig Retrieve configuration MergeConfig Merge configuration DeleteConfig Delete configuration ReplaceConfig Replace configuration CommitReplace Replace entire configuration GetOper Retrieve operational data CliConfig Merge configuration data in CLI format ShowCmdTextOutput Retrieves CLI show-command output data
  • 21. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Protocol Operations in gNMI IDL Operation Description capabilities Discover device capabilities (models, encodings, version, extensions) get Retrieve device state set Modify device state (delete, replace, update) subscribe Subscribe to device update
  • 22. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Based on gNMI v0.4.0 • Introduced in release 6.5.1 • Set and Get RPCs use JSON_IETF (RFC 7951) and ASCII (CLI) encoding • Subscribe RPC • Paths must consider data aggregation points (no arbitrary paths) • No aliases gNMI Implementation in Cisco IOS XR
  • 23. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Model-Driven SDK ydk.io
  • 24. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Simplify app development • One-to-one correspondence between model and class hierarchy • Abstract protocol, transport, encoding, modeling language • SDK generated from YANG models • Automatic data validation • Multi-language (Python, C++, Go, etc.) Model-Driven SDK: YANG Development Kit (YDK) YANG Model Class Hierarchy (Python, C++, Go)
  • 25. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Models group Python APIs created for each YANG model • Services perform operations on model objects (interface) • Providers implement services (implementation) YDK API Structure Models (BGP, IS-IS, etc) Services (CRUD, NETCONF, Codec, Executor, etc.) Providers (NETCONF, RESTCONF, OpenDaylight, Codec, etc.)
  • 26. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Client will automatically perform local validation based on model constraints • Check between type of data: config (read-write) and state (read-only) • Type check (enum, string, etc.) • Value check (range, pattern, etc.) • Semantic check (key uniqueness/presence, mandatory leafs, etc.) • Model deviation check (unsupported leafs, etc.) YDK Client-Side Validation Application (client) Device (server)
  • 27. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential A YDK-Py “Hello World” Using OpenConfig BGP # Cisco YDK-Py OC-BGP “Hello world” from ydk.services import CRUDService from ydk.providers import NetconfServiceProvider from ydk.models.openconfig import openconfig_bgp as oc_bgp if __name__ == "__main__": provider = NetconfServiceProvider(address=10.0.0.1, port=830, username=“admin”, password=“admin”, protocol=“ssh”) crud = CRUDService() # create CRUD service bgp = oc_bgp.Bgp() # create oc-bgp object bgp.global_.config.as_ = 65000 # set local AS number crud.create(provider, bgp) # create on NETCONF device exit() # End of script module: openconfig-bgp +--rw bgp +--rw global | +--rw config | | +--rw as | | +--rw router-id? | +--ro state | | +--ro as | | +--ro router-id? | | +--ro total-paths? | | +--ro total-prefixes? ...
  • 28. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential How to Get YDK-Py Native Virtual dCloud Install Python Install YDK Download ydk-py-samples YANG Development Kit Sandbox Install Vagrant Install Virtualbox Download ydk-py-samples * * Releases 0.5.5 and earlier Install docker Download ydk-py-samples
  • 29. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Telemetry
  • 30. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Automatic streaming (push) of remote data for monitoring • Enables publish–subscribe (pub-sub) messaging pattern • Scalable and flexible alternative to traditional device monitoring (SNMP, syslog, CLI) • Leverages operational data models on device Model-Driven Telemetry Collector Publish (Data stream) Subscrib e Operationa l data
  • 31. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Cisco gRPC GPB YANG HTTP/2 • Loosely-coupled stack • Data encoding (JSON vs GPB) • Transport (HTTPv2 vs TCP vs UDP) • Data model (native vs open) • Session initiation • Dial-in (transient destination) • Dial-out (persistent destination) • Flexible data streaming modes (frequency vs event driven) Overview of Telemetry on Cisco IOS XR TCP / UDP JSON GPB JSON
  • 32. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Encoding Options Compact Google Protocol Buffers (GPB) Self-describing (key- value) Google Protocol Buffers (GPB) JSON Most efficient Medium efficiency Least efficient Binary encoding Hybrid text/binary encoding Text-based encoding Data definition required to decode data stream No data definition required to decode data stream No data definition required to decode data stream
  • 33. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Collector for telemetry data • Performs basic encoding transformation • Data producer for Kafka, InfluxDB, Prometheus, etc. • Supports dial-in and dial- out sessions Pipeline - An Open-Source Telemetry Collector Telemetry data (HTTPv2/TCP/UDP ) (JSON/GPB) gRPC dial- in Kafka Fil e InfluxDB Prometheus Pipeline
  • 34. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Demonstration
  • 35. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Peering Use Case Peer Configuration { "asbr": { "name": "asbr1", "address": "198.18.1.11", "as": 65001 }, “peers": [{ "address": "192.168.0.2", "as": 65002 "group": "EBGP", "interface": { "name": "GigabitEthernet0/0/0/0", "description": "Peering with AS65002", "address": "192.168.0.1", "netmask": 24 } }] } ASBR1 (AS65001) ASBR2 (AS65002) Configuration Telemetry Private Peering Config
  • 36. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Open Source Tool Chain • Python/C++/Go bindings for OpenConfig models • Detailed client-side data validation • Protocol / transport / encoding abstraction YDK (ydk.io) Pipeline (git.io/vdnnT) Kafka (kafka.apache.org) • Collector for router streaming telemetry • Performs basic encoding transformation • Data producer for Kafka, InfluxDB, Prometheus, etc. • Distributed streaming platform (message bus) • Producer, consumer, stream and connector APIs • Rich client support (Python, Java, etc)
  • 37. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Resources
  • 38. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Model-driven programmability @ Cloud-Scale Networking • Model-Driven Programmability (http://goo.gl/x3GZDB) Programmability @ XR Docs • Tutorials (https://xrdocs.github.io/programmability/tutorials) • Blogs (https://xrdocs.github.io/programmability/blogs) Configuration guide • Cisco IOS XR programmability configuration guide for ASR 9000 series router (http://goo.gl/8dYUeK) • Cisco IOS XR programmability configuration guide for NCS 5500 series router (http://goo.gl/cnYPw7) Resources
  • 39. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential YDK Portal • YDK at DevNet (http://ydk.io) YDK Sample Apps • YDK-Py sample apps (https://github.com/CiscoDevNet/ydk-py-samples) - Over 700 apps! • YDK-Cpp sample apps (https://github.com/CiscoDevNet/ydk-cpp-samples) - Coming soon Sandboxes • dCloud YANG Development Kit sandbox (https://goo.gl/kaYJ3R) • Ubuntu YDK Vagrant box (https://git.io/vaw1U) • Ubuntu YDK Docker container (https://hub.docker.com/u/ydkdev) Support • Cisco support community (https://communities.cisco.com/community/developer/ydk) Resources (cont.)
  • 40. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential YDK Documentation • YDK-Py docs (http://ydk.cisco.com/py/docs) • YDK-Cpp docs (http://ydk.cisco.com/cpp/docs) GitHub • YDK Python SDK – YDK-Py (https://github.com/CiscoDevNet/ydk-py) • YDK C++ SDK – YDK-Cpp (https://github.com/CiscoDevNet/ydk-cpp) • YDK Go SDK – YDK-Go (https://github.com/CiscoDevNet/ydk-go) • YDK-Py sample apps (https://github.com/CiscoDevNet/ydk-py-samples) - Over 700 apps! • YDK-Cpp sample apps (https://github.com/CiscoDevNet/ydk-cpp-samples) - Coming soon Resources (cont.)
  • 41. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Conferences • MPLS+SDN+NFV World Congress 2018: Getting started with OpenConfig (http://youtu.be/B43PRZV-CD8) • NANOG 68: Ok, We Got YANG Data Models. Now What? (http://youtu.be/2oqkiZ83vAA ) • NANOG 71: Getting started with OpenConfig (https://youtu.be/L7trUNK8NJI) • LinuxCon NA 2016: Simplifying Network Programmability Using Model-Driven APIs (https://goo.gl/W6tH2X) Resources (cont.)
  • 42. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Summary
  • 43. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Model-Driven Programmability • Speed and scale through automation • Rich and flexible in terms of models, transports and encodings • Data Models • Native • Open (OpenConfig / IETF) • NETCONF • Rich, mature protocol • Relies on XML encoding • Google RPC • Cisco IOS XR and OpenConfig interface definitions (device operations) • Supports JSON and unstructured data (CLI) • High performance • Model-Driven SDK • Simplify app development • Abstract transport and encoding • Automatic data validation • Telemetry • Loosely-coupled stack • Session initiation (dial-in vs dial-out) • Flexible data streaming modes Let’s Recap
  • 44. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Thank you!
  • 45. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Backup
  • 46. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Modeling language for networking • Defines data hierarchy (config or oper), RPCs and notifications • Main node types • Leaf – node with name, type and value (no children) • Leaf list – sequence of leafs (no children) • Container – node that groups nodes and has no type or value • List – Series of data instances generally with one or more keys • Models extended through augmentations • Unsupported nodes specified as deviations YANG Leaf Node without type/value Node with a type/value Leaf list List key Container
  • 47. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential YANG Model Example container community-sets { description “Container for community sets"; list community-set { key community-set-name; description "Definitions for community sets"; leaf community-set-name { type string; description "name of the community set"; } leaf-list community-member { type string { pattern '([0-9]+:[0-9]+)'; } description "members of the community set"; } } } community-sets community-set C-SET1 65172:1, 65172:2, 65172:3 ! community-set C-SET10 65172:10, 65172:20, 65172:30 ! ! YANG CLI
  • 48. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Model Data Example community-sets community-set C-SET1 65172:1, 65172:2, 65172:3 ! community-set C-SET10 65172:10, 65172:20, 65172:30 ! ! { "community-sets": { "community-set": [ { "community-set-name": "CSET1", "community-member": [ "65172:1", "65172:2", "65172:3" ] }, { "community-set-name": "CSET10", "community-member": [ "65172:10", "65172:20", "65172:30" ] } ] } } JSON CLI
  • 49. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential OpenConfig Major Components Config / oper models YANG gRPC Network Management Interface (gNMI) protobuf gRPC Network Operations Interface (gNOI) protobuf Data Management Protocol Operational Commands gRPC Routing Information Base Interface (gRIBI) RIB Injection protobuf
  • 50. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Native Data Models Model Mapping Open Data Models Internal Datastore Management Protocol Model-Driven SDKs YANG Development Kit (YDK) • Mapping converts open model data to native model data and vice versa • Mapping of config and operational data (including telemetry) • Single view of config and operational data in internal datastore Open Model Mapping in IOS XR
  • 51. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Model Data Example <community-sets> <community-set> <community-set-name>C-SET1</community-set-name> <community-member>65172:1</community-member> <community-member>65172:2</community-member> <community-member>65172:3</community-member> </community-set> <community-set> <community-set-name>C-SET10</community-set-name> <community-member>65172:10</community-member> <community-member>65172:20</community-member> <community-member>65172:30</community-member> </community-set> </community-sets> community-sets community-set C-SET1 65172:1, 65172:2, 65172:3 ! community-set C-SET10 65172:10, 65172:20, 65172:30 ! ! XML CLI
  • 52. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential YANG Development Kit YDK-Py Python YDK-Cpp C++ Services Providers Cisco IOS XR Models OpenConfig Models IETF Models Cisco IOS XE Models ydk (core ) Module bundle s YDK-Go Go
  • 53. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential • Additional providers (e.g. Google RPC, Cisco NSO) • Additional services (e.g. Google RPC) • Additional languages • Additional encodings (e.g. YAML, GPB) • Code generation (e.g. Python, C++) from encoded model data (e.g. JSON, XML) Future Work Items
  • 54. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Telemetry Subscriptions Sensor path Sensor path Sensor Group Destination Group Aggregation point Data Model 1 Data Model 2 Destination 1 (collector) Destination 2 (collector) Encodin g Protocol Subscripti on Encodin g Protocol
  • 55. © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 1. Load peer configuration 2. Configure interface and validate operation 3. Configure BGP neighbor and validate operation Peering Use Case Configure and Validate Peering on ASBR1 PeeringDB ASBR1 (AS65001) ASBR2 (AS65002) Configuration Telemetry Private Peering Config