Inicio
Explorar
Enviar búsqueda
Cargar
Iniciar sesión
Registrarse
Publicidad
Cisco connect montreal 2018 saalvare md-program-xr-v2
Denunciar
Cisco Canada
Seguir
Cisco Canada
21 de Nov de 2018
•
0 recomendaciones
1 recomendaciones
×
Sé el primero en que te guste
ver más
•
570 vistas
vistas
×
Total de vistas
0
En Slideshare
0
De embebidos
0
Número de embebidos
0
Check these out next
Cisco Connect Toronto 2018 IOT - unlock the power of data - securing the in...
Cisco Canada
Cisco connect montreal 2018 vision mondiale analyse locale
Cisco Canada
Cisco Connect Toronto 2018 dc-aci-anywhere
Cisco Canada
Cisco Connect Ottawa 2018 data center - protecting your data with Cisco hyp...
Cisco Canada
Cisco connect montreal 2018 compute v final
Cisco Canada
Cisco connect montreal 2018 collaboration les services webex hybrides
Cisco Canada
Cisco Connect Toronto 2018 model-driven programmability for cisco ios xr-v1
Cisco Canada
Cisco Connect Halifax 2018 Accelerating the secure digital business through...
Cisco Canada
1
de
56
Top clipped slide
Cisco connect montreal 2018 saalvare md-program-xr-v2
21 de Nov de 2018
•
0 recomendaciones
1 recomendaciones
×
Sé el primero en que te guste
ver más
•
570 vistas
vistas
×
Total de vistas
0
En Slideshare
0
De embebidos
0
Número de embebidos
0
Descargar ahora
Descargar para leer sin conexión
Denunciar
Tecnología
XR Programmability Programmabilité IOS XR
Cisco Canada
Seguir
Cisco Canada
Publicidad
Publicidad
Publicidad
Recomendados
Integration cisco et microsoft connect montreal 2018
Cisco Canada
1K vistas
•
49 diapositivas
Cisco connect montreal 2018 secure dc
Cisco Canada
972 vistas
•
47 diapositivas
Cisco Connect Toronto 2018 DevNet Overview
Cisco Canada
722 vistas
•
43 diapositivas
Cisco Connect Toronto 2018 DNA automation-the evolution to intent-based net...
Cisco Canada
1.2K vistas
•
68 diapositivas
Cisco connect montreal 2018 enterprise networks - say goodbye to vla ns
Cisco Canada
1.5K vistas
•
57 diapositivas
Cisco connect montreal 2018 - Network Slicing: Horizontal Virtualization
Cisco Canada
1.3K vistas
•
59 diapositivas
Más contenido relacionado
Presentaciones para ti
(20)
Cisco Connect Toronto 2018 IOT - unlock the power of data - securing the in...
Cisco Canada
•
819 vistas
Cisco connect montreal 2018 vision mondiale analyse locale
Cisco Canada
•
680 vistas
Cisco Connect Toronto 2018 dc-aci-anywhere
Cisco Canada
•
3.1K vistas
Cisco Connect Ottawa 2018 data center - protecting your data with Cisco hyp...
Cisco Canada
•
686 vistas
Cisco connect montreal 2018 compute v final
Cisco Canada
•
1.6K vistas
Cisco connect montreal 2018 collaboration les services webex hybrides
Cisco Canada
•
1.6K vistas
Cisco Connect Toronto 2018 model-driven programmability for cisco ios xr-v1
Cisco Canada
•
658 vistas
Cisco Connect Halifax 2018 Accelerating the secure digital business through...
Cisco Canada
•
219 vistas
Cisco Connect Ottawa 2018 dna automation the evolution to intent-based netw...
Cisco Canada
•
689 vistas
Cisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUI
Cisco Canada
•
1.6K vistas
Cisco connect montreal 2018 sd wan - delivering intent-based networking to th...
Cisco Canada
•
631 vistas
Cisco Connect Toronto 2018 DNA assurance
Cisco Canada
•
836 vistas
Cisco Connect Halifax 2018 Application agility and programmability with cis...
Cisco Canada
•
1.1K vistas
Cisco Connect Ottawa 2018 Cisco digital buildings and the 4th utility w co...
Cisco Canada
•
699 vistas
Cisco Connect Toronto 2018 sixty to zero
Cisco Canada
•
547 vistas
Cisco Connect Halifax 2018 Cisco dna - deeper dive
Cisco Canada
•
903 vistas
Cisco Connect Ottawa 2018 dna assurance shortest path to network innocence
Cisco Canada
•
661 vistas
Cisco connect winnipeg 2018 understanding cisco's next generation sdwan sol...
Cisco Canada
•
801 vistas
Cisco Connect Halifax 2018 Cisco dna - network intuitive
Cisco Canada
•
1K vistas
Cisco Connect Vancouver 2017 - Optimizing your client's wi fi experience
Cisco Canada
•
575 vistas
Similar a Cisco connect montreal 2018 saalvare md-program-xr-v2
(20)
PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...
PROIDEA
•
28 vistas
MongoDB World 2018: Managing a Mission Critical eCommerce Application on Mong...
MongoDB
•
639 vistas
Elastic Cloud Enterprise @ Cisco
Elasticsearch
•
8.9K vistas
SDN and metrics from the SDOs
Open Networking Summit
•
371 vistas
Cisco's Open Device Programmability Strategy: Open Discussion
Cisco DevNet
•
1.1K vistas
Data models-and-automation-jp
Miya Kohno
•
991 vistas
Mass Scale Networking
Steve Iatrou
•
9 vistas
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Cisco DevNet
•
11.6K vistas
Cisco Connect Toronto 2018 sd-wan - delivering intent-based networking to t...
Cisco Canada
•
1.9K vistas
Cisco connect winnipeg 2018 gain insight and programmability with cisco dc ...
Cisco Canada
•
245 vistas
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Sanjeev Rampal
•
2.5K vistas
CisCon 2018 - Analytics per Storage Area Networks
AreaNetworking.it
•
357 vistas
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PROIDEA
•
643 vistas
Cisco Connect Toronto 2017 - Model-driven Telemetry
Cisco Canada
•
2K vistas
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Joel W. King
•
1.3K vistas
Plan with confidence: Route to a successful Do178c multicore certification
ICTperspectives | Taliawebs
•
250 vistas
BRKSPG-2069-64bit-package.pdf
Heng30
•
11 vistas
Cisco Connect Toronto 2018 an introduction to Cisco kinetic
Cisco Canada
•
193 vistas
Cisco Connect Ottawa 2018 dev net
Cisco Canada
•
196 vistas
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
MarketingArrowECS_CZ
•
413 vistas
Publicidad
Más de Cisco Canada
(8)
Cisco connect montreal 2018 net devops
Cisco Canada
•
6.5K vistas
Cisco connect montreal 2018 iot demo kinetic fr
Cisco Canada
•
1.3K vistas
Cisco Connect Toronto 2018 network-slicing
Cisco Canada
•
2.1K vistas
Cisco Connect Toronto 2018 the intelligent network with cisco meraki
Cisco Canada
•
945 vistas
Cisco Connect Toronto 2018 consuming public and private clouds
Cisco Canada
•
325 vistas
Cisco Connect Toronto 2018 cloud and on premises collaboration security exp...
Cisco Canada
•
270 vistas
Cisco Connect Ottawa 2018 the intelligent network with Cisco Meraki
Cisco Canada
•
376 vistas
Cisco Connect Ottawa 2018 consuming public and private clouds
Cisco Canada
•
375 vistas
Último
(20)
How to Unmute iPhone.pdf
syedmuneebhaider3
•
0 vistas
Akaike Pitch Deck
ShilpaRamaswamy3
•
0 vistas
LangChain Intro by KeyMate.AI
OzgurOscarOzkan
•
0 vistas
bizhub C287i series
konicaUAE
•
0 vistas
STRENGTH OF MATERIAL.pptx
MohdMeraj15
•
0 vistas
gravimeter.pptx
AlMamun560346
•
0 vistas
BG CSLTTT C1.pptx
MnhQuang14
•
0 vistas
在哪里可以办英国大学文凭《英博夏尔大学毕业证成绩单仿制》
nukotk
•
0 vistas
Plugg Session.pptx
FIWARE
•
0 vistas
Cloud Computing
VICTOR MAESTRE RAMIREZ
•
0 vistas
PB-503R Wireless alarm keypad
Vedard Security Alarm System Store
•
0 vistas
EU opportunities inputs for FIWARE summit.pptx
FIWARE
•
0 vistas
iHubs _ DIHs_FGS_Plugg Sessions.pptx
FIWARE
•
0 vistas
Develop Blockchain App - Blocktech Brew
Blocktech Brew
•
0 vistas
Nest.js Introduction
Takuya Tejima
•
0 vistas
University of Engineering and Technology.docx
MuhammadumairKhan74
•
0 vistas
Business, Strategy, Funding _ Matchmaking .pptx
FIWARE
•
0 vistas
Biking on the edge - Jerome Mies - SRD23
SURF Events
•
0 vistas
在哪里可以办意大利大学文凭《博洛尼亚大学毕业证成绩单仿制》
nukotk
•
0 vistas
Gastro Oesophagal Reflux Disease GERD.pptx
Sudipta Roy
•
0 vistas
Publicidad
Cisco connect montreal 2018 saalvare md-program-xr-v2
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
Publicidad