YANG in a Nutshell The YANG Gang IETF 71. YANG has... A reasonable self-contained specification A focus on readers and reviewers Text-based Email, patch,

Slides:



Advertisements
Similar presentations
Complex Types and Typed Instance Identifiers as YANG Extension
Advertisements

Project Proposal Anton Tkacik, Lukas Sedlak
XML-based Network Management Rob Enns
YANG Boot Camp The YANG Gang IETF 71. YANG Boot Camp The YANG Gang IETF 71.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 8: Monitoring the Network Connecting Networks.
Simple tutorial Yang & Netconf.
The Hierarchical Scan Description Language (HSDL) was developed by to complement BSDL.
Introducing the Specifications of the MEF
© 2009 Cisco Systems, Inc. All rights reserved. Cisco Public Presentation_ID 1 Diffserv Yang Model
NETCONF Server and RESTCONF Server Configuration Models draft-ietf-netconf-server-model-06 NETCONF WG IETF #92 Dallas, TX, USA.
NETMOD Architecture Phil Shafer IETF 72.
draft-kwatsen-netconf-zerotouch-01
SMI to XSD Translations IETF70 David Harrington. Agenda The Need The Approaches Comparisons.
Netconf Monitoring IETF 70 Mark Scott Sharon Chisholm Hector Trevino
Abierman-nanog-30may03 1 XML Router Configs BOF Operator Involvement Andy Bierman
© Hitachi, Ltd All rights reserved. NETCONF Configuration I/F Advertisement by WSDL and XSD Hideki Okita, Tomoyuki Iijima, Yoshifumi Atarashi, Ray.
NetConf Data Model draft-adwankar-netconf-datamodel-01.txt Sandeep Adwankar.
Tutorial 1 Combinational Logic Synthesis. Introduction to VHDL VHDL = Very high speed Hardware Description Language VHDL and Verilog are the industry.
Using DSDL plus annotations for Netconf (+) data modeling Rohan Mahy draft-mahy-canmod-dsdl-01.
Abierman-netconf-mar03 1 NETCONF BOF 56th IETF San Francisco, California March 17, 2003 Discussion: Admin:
68th IETF – OPS area – XML MIB Modules XML MIB Modules draft-stephan-ops-xml-mib-module-template-00 draft-stephan-ops-xml-mib-module-template-00.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
© 2006 Open Grid Forum Network Measurements Working Group Summary of the Version 2 Schemata Richard Hughes-Jones Martin Swany, Jason.
I2RS draft-rfernando-yang-mods.txt I2RS Yang Extensions draft-rfernando-yang-data-mods R.Fernando, P.Chinnakannan, M.Madhayyan, A.Clemm.
XML and Database.
Network Schemata Martin Swany. Perspective UNIS – Uniform Network Information Schema –Unification of perfSONAR Lookup Service (LS) and Topology Service.
Protocol for I2RS I2RS WG IETF #89 London, UK Dean Bogdanovic v0.1.
1 Complex Types and Typed Instance Identifiers IETF #76 NETMOD WG
Representing Netconf Data Models using Document Schema Definition Languages (DSDL) Rohan Mahy Sharon Chisholm Lada Lhotka IETF 72 - Dublin.
NMWG GGF13 Seoul March 2005 R. Hughes-Jones Manchester Network Measurements Working Group Summary of the Work on "new" Schemata Richard Hughes-Jones Main.
Management Considerations Sharon Chisholm
Abierman-netconf-mar04 1 NETCONF WG 59th IETF Seoul, Korea March 3, 2003 March 4, 2003.
Created by Jan Medved I2RS Related/Relevant Yang Models Currently in Use March 2014 Robert Varga, Anton Tkacik, Jan Medved.
Using DSDL plus annotations for Netconf (+) data modeling Rohan Mahy draft-mahy-canmod-dsdl-01.
PG 1 Framework for Netconf Data Models Netmod BOF – IETF 60 Sharon Chisholm –
Using XML Schema to define NETCONF Content Sharon Chisholm Alex Clemm TJ Tjong
Kalua DML Examples
1 SNMPv2 by Behzad Akbari Fall 2008 In the Name of the Most High.
Netconf Schema Query Mark Scott IETF 70 Vancouver December 2007
1 IETF69 BOF XSD for accessing SMIv2 data models Yan Li
YANG Background and Discussion: Why we need a new language for NETCONF configuration modeling The YANG Gang IETF 70 Vancouver, Canada.
XML Extensible Markup Language
Netmod Netconf Data Modeling Sharon Chisholm Nortel
Netconf Notifications Sharon Chisholm Hector Trevino IETF 67 November 2006.
YANG Modelling and NETCONF Protocol Discussion
YANG Roque Gagliano.
NETCONF Server and RESTCONF Server Configuration Models draft-ietf-netconf-server-model-07 NETCONF WG IETF 93 Prague.
Using DSDL plus annotations for Netconf (+) data modeling
IETF69 BOF XSD for accessing SMIv2 data models
“with-defaults” capability in NETCONF
The SUPA Information Model
Subscribing to YANG datastore push updates draft-netconf-yang-push-00 IETF #94 Yokohama A. Clemm A. Gonzalez Prieto
NETCONF Configuration I/F Advertisement by WSDL and XSD
Subscribing to YANG datastore push updates draft-ietf-netconf-yang-push-02 NETMOD WG IETF #95 Buenos Aires 4-April-2015 Alexander Clemm Alberto Gonzalez.
Comparison of NMDA datastores draft-ietf-netmod-nmda-diff-00
draft-levin-xcon-cccp-02.txt Orit Levin
UDP based Publication Channel for Streaming Telemetry
Factory default Setting draft-wu-netmod-factory-default-01
YANG model for ANI IETF101 draft-eckert-anima-enosuchd-raft-yet-99
NMDA Q & A draft-dsdt-nmda-guidelines &
YANG Mount draft-clemm-netmod-mount IETF 98 Chicago, 30 March 2017
Post WG LC NMDA datastore architecture draft
YANG Instance Data for Documenting Server Capabilities
Smart filters for Push Updates – Problem Statement draft-clemm-netconf-push-smart-filters-ps-00 Alexander Clemm, Eric Voit, Xufeng Liu, Igor Bryskin,
Getting to Know Model-Driven Management With the YANG Catalog
IETF Prague BFD Unsolicited
YANG Data Models for TE and RSVP draft-ietf-teas-yang-te-21 draft-ietf-teas-yang-rsvp-11 draft-ietf-teas-yang-rsvp-te-07 Tarek Saad, Juniper Networks Rakesh.
Interface extensions YANG & VLAN sub-interface YANG Status update
YANG Data Models for TE and RSVP draft-ietf-teas-yang-te-21 draft-ietf-teas-yang-rsvp-11 draft-ietf-teas-yang-rsvp-te-07 Tarek Saad, Juniper Networks Rakesh.
Comparison of NMDA datastores draft-ietf-netmod-nmda-diff-02
Presentation transcript:

YANG in a Nutshell The YANG Gang IETF 71

YANG has... A reasonable self-contained specification A focus on readers and reviewers Text-based , patch, and RFC friendly Limited Scope, but extensible Ability to model config data, state data, RPCs, and notifications Experience gained by existing implementations Design is based on four proprietary modeling languages

Support for YANG Running code (multiple implementations) People outside the YANG team using it in other WGs in the IETF Backing of several NETCONF implementers Growing group of fans and admirers

Semantics and syntax YANG Anything Else Legacy tools Out going XML Semantic World Syntactic World Validation XML Schema Relax-NG Models semantics and data organization Syntax falls out of semantics Think SMI for NETCONF Models semantics and data organization Syntax falls out of semantics Think SMI for NETCONF

container system { leaf host-name { type inet:host; description "Name of this host"; } container services { container ssh { presence "Enables SSH"; description "SSH service specific configuration"; // more leafs, containers and stuff here... } Easy to read, easy to learn Grok factor Direct encoding of data hierarchy Grok factor Direct encoding of data hierarchy fred

Model-Based Infrastructure YANG can form the infrastructure for the management plane inside the device Not required, but common wisdom Three implementations do this Ease the maintenance, stability, and enhance-ability of the device YANG can form the infrastructure for the management plane inside the device Not required, but common wisdom Three implementations do this Ease the maintenance, stability, and enhance-ability of the device Management Plane CLI Management application YANG Modules YANG Modules S1S2S3 NETCONF Server Subcomponents

Constraints using "must" container timeout { leaf access-timeout { description "Maximum time without server response"; units seconds; mandatory true; type uint32; } leaf retry-timer { description "Period to retry operation"; units seconds; type uint32; must "$this <../access-timeout" { error-app-tag retry-timer-invalid; error-message "The retry timer must be " + "less than the access timeout"; } Constrains nodes by XPath expression Also: keyref unique range pattern Also: keyref unique range pattern

Extensibility with "augment" augment interfaces/interface { when "type = 'ethernet'"; container ether-options { leaf auto-negotiation { type empty; } fe-0/0/0 ethernet Extends data model Current or imported modules Inserts nodes Into an existing hierarchy Nodes appear in current module's namespace Original (augmented) module is unchanged Allows sparse augmentation Nodes are only added when condition is true "when" is XPath expression Extends data model Current or imported modules Inserts nodes Into an existing hierarchy Nodes appear in current module's namespace Original (augmented) module is unchanged Allows sparse augmentation Nodes are only added when condition is true "when" is XPath expression

The "grouping" Statement Defines a reusable collection of nodes Use multiple times A modules may use groupings imported from other modules Refinement Use as structure, record, or object Defines a reusable collection of nodes Use multiple times A modules may use groupings imported from other modules Refinement Use as structure, record, or object YANG Example: grouping target { leaf address { type inet:ip-address; description "Target IP address"; } leaf port { type inet:ip-port; description "Target port number"; } container peer { container destination { uses target; } NETCONF XML Encoding:

The "rpc" Statement Defines RPC method names input parameters output parameters Defines RPC method names input parameters output parameters rpc activate-software-image { input { leaf image-name { type string; } output { leaf status { type string; } image.tgz

Tools (yang-central.org) pyang (python) Validates YANG Translates between YANG and YIN (XML) Generates XSD yangto (binary) Validates YANG Generates XSD, dependencies, etc libsmi Translates SMI/SMIv2 MIBs to YANG Other goodies Emacs mode

YANGsters Unite! Read the draft There's a lot more in there Join the mailing list Try out the tools Tutorial at: