YANG Background and Discussion Why we need a

YANG Background and Discussion: Why we need a new language for NETCONF configuration modeling The YANG Gang IETF 70 Vancouver, Canada

NETCONF: how we got here NETCONF base protocol defined in RFC 4741 Defines RPC mechanism and operations Leaves content and data models for future work <get>, <get-config> and <edit-config> allow any XML No data modeling language == no data models

YANG Immediate need for a NETCONF DML Multi-vendor design group Leverage experience gained from multiple implementations Meeting over the past 7 months Building blocks to write NETCONF “MIBs” Allow interoperability Be able to consume models from everyone, use tools from anywhere Configuration, RPCs, notifications Formal syntax for automation Generate XSD or Relax. NG for manager/application Tools available today on yang-central. org

NETCONF-specific Issues Expressing default values, config data vs state data, integrity constraints Protocol operations effects on models (e. g. , coupling to <edit-config> Key constructs Instance naming “augment” extends existing models NETCONF error messages

Why not an XML schema language? Schema languages describe syntax of a document YANG models the semantics of a database Constraints on the finished product Operations guided by the model Commit time Semantics drive the syntax Simple XML validation is not sufficient Example: Mandatory fields must appear in all instances But don't appear in every RPC (“delete”)

Extended Subset Syndrome Need to limit XML schema languages Need to allow semantic information Add extensions for NETCONF-specific information What are you left with? Limit content for NETCONF integration Avoid inappropriate constructs Knowing the schema language isn’t sufficient Tools can’t enforce constraints SMI’s use of ASN. 1 is a famous example Extended subset of ASN. 1 1987 Standard tools cannot be used

YANG hits the mark Readability Rules Simple, direct, extensible Email, patch, and RFC friendly Didn't boil the ocean Limited scope Based on three proprietary DMLs But maximize utility within that scope Years of experience within multiple vendors Quality draft backed by running code Usable in current form Download the code and use it today
- Slides: 7