Routing Area Yang Architecture Design Team Update

Slides:



Advertisements
Similar presentations
IETF 90 Toronto Yang Data Model for OSPF Protocol draft-yeung-netmod-ospf-01 and beyond Derek Yeung Derek Yeung Dean Bogdanovic
Advertisements

Protocol for I2RS I2RS WG IETF #89 London, UK Dean Bogdanovic v0.1.
Members: Acee Lindem, Anees Shaikh, Christian Hopps, Dean Bogdanovic, Lou Berger, Qin Wu, Rob Shakir, Stephane Litkowski, Yan Gang Wiki:
IETF 92 Dallas, TX Yang Data Model for OSPF Protocol draft-ietf-ospf-yang-00 Yingzhen Qu Derek Yeung YingZhen Qu
PCE 64 th IETF PCE Policy Architecture draft-berger-pce-policy-architecture-00.txt Lou Berger Igor Bryskin Dimitri Papadimitriou.
Access Control List Model draft-ietf-netmod-acl-model (draft-bogdanovic-netmod-acl-model-02) IETF 91 Honolulu Lisa Huang, Dana Blair, Kiran Koushik, Dean.
Draft-wilton-netmod-intf-ext-yang-01 draft-wilton-netmod-intf-vlan-yang-01 Rob Wilton IETF 94 – Yokohama, NETMOD WG.
Network Device YANG Organizational Model draft-rtgyangdt-rtgwg-device-model-03 Authors: Acee Lindem, Christian Hopps, Dean Bogdanovic, Lou Berger (Ed.)
1 Needing an extensible Mount syntax across Schema, Alias, & Peers IETF 95 Eric Voit, Alex Clemm April 4 th 2016.
SNMP (Simple Network Management Protocol) Overview
Interface extensions YANG & VLAN sub-interface YANG Status update
A use case for Schema Mount
YANG Data Model For RIB Extensions IETF 97, Seoul
YANG Data Model for RIP draft-liu-rtgwg-yang-rip-01
XCON WG IETF-64 Meeting XCON Framework Overview & Issues
Connectionless OAM yang model
draft-ietf-l3sm-l3vpn-service-model IETF 94 - Yokohama
draft-litkowski-isis-yang-isis-cfg IETF 90 - Toronto
Interface extensions YANG & VLAN sub-interface YANG Status update
pim wg multicast YANG team
draft-ietf-teas-yang-te-topo-01
IETF 95 – Buenos Aires April 2016
IETF 95 NETMOD Working Group Buenos Aires April 4, 2016
OpState & Schema Mount Update NETMOD WG Chairs IETF 95 Buenos Aires
pim wg multicast YANG team
L2VPN/EVPN/L3VPN Yang IETF-96 Berlin.
Routing Area Yang Architecture Design Team Update
YANG Data Models for TE and RSVP draft-ietf-teas-yang-rsvp-06 draft-ietf-teas-yang-te-05 Tarek Saad and Rakesh Gandhi.
YANG Data Models for TE and RSVP draft-ietf-teas-yang-te-03 draft-ietf-teas-yang-rsvp-03 Tarek Saad (Presenter)
SNMP (Simple Network Management Protocol) Overview
draft-ietf-teas-yang-te-04
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.
draft-ietf-teas-yang-te-topo-04
IGMP & MLD Snooping YANG Model
NETCONF Base Notifications for NMDA
draft-ietf-pim-igmp-mld-yang-04
IETF 101 NETMOD Working Group
YANG Data Models for TE and RSVP draft-ietf-teas-yang-rsvp-06 draft-ietf-teas-yang-te-05 Tarek Saad and Rakesh Gandhi.
Comparison of NMDA datastores draft-ietf-netmod-nmda-diff-00
IETF 103 NETMOD BBF YANG Update
Joe Clarke (presenting)
YANG Key-Chain Model IETF 97, Seoul
draft-ietf-rtgwg-ni-model-03 Impact on LxVPN device models
IETF YANG Routing Types Update
Stream Issues Alex, Ambika, Eric, Tim
NETMOD IETF 103 Bangkok Nov , 2018
Interface extensions YANG & VLAN sub-interface YANG Status update
IETF 98 NETMOD Working Group
NMDA Q & A draft-dsdt-nmda-guidelines &
YANG Mount draft-clemm-netmod-mount IETF 98 Chicago, 30 March 2017
YANG Data Models MPLS Base and Static LSPs draft-ietf-mpls-base-yang-04 draft-ietf-mpls-static-yang-04 Tarek.
Routing Area Yang Architecture Design Team Update
IGMP & MLD Snooping YANG Model
Post WG LC NMDA datastore architecture draft
Routing Area WG (rtgwg)
YANG Data Models for TE and RSVP draft-ietf-teas-yang-te-08 draft-ietf-teas-yang-rsvp-07 draft-ietf-teas-yang-rsvp-te-01
Yingzhen Qu YANG Data Model for OSPF Protocol draft-ietf-ospf-yang-08 draft-ietf-ospf-sr-yang-02 IETF99, Prague Derek Yeung
Routing Area Common YANG Data Types
YANG Data Models for TE and RSVP draft-ietf-teas-yang-te-06 draft-ietf-teas-yang-rsvp-07 draft-ietf-teas-yang-rsvp-te-00 draft-ietf-mpls-base-yang-04 code.
draft-ietf-teas-yang-te-topo-08
Yang model for requesting
WG Document Status Compiled By: Matt Hartley, Lou Berger, Vishnu Pavan Beeram IETF TEAS Working Group.
YANG Data Models for TE and RSVP draft-ietf-teas-yang-te-19 draft-ietf-teas-yang-rsvp-10 draft-ietf-teas-yang-rsvp-te-05 draft-ietf-teas-yang-te-mpls-01.
draft-ietf-teas-yang-l3-te-topo-02
QoS Yang Model Aseem Choudhary, Norm Strahle, Ing-Whar Chen,
NETMOD Versioning Design Team Update
RIFT YANG draft-zhang-rift-yang-01
NETMOD Versioning Design Team Update
Interface extensions YANG & VLAN sub-interface YANG Status update
Schema version selection Reshad Rahman (presenting), Rob Wilton
Presentation transcript:

Routing Area Yang Architecture Design Team Update Members: Acee Lindem, Anees Shaikh, Christian Hopps, Dean Bogdanovic, Ebban Aries, Lou Berger, Qin Wu, Rob Shakir, Xufeng Liu, Yingzhen Qu Wiki: http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgYangArchDT Repo: https://github.com/ietf-rtg-area-yang-arch-dt/

Agenda Short recap of DT status Draft specific discussions IETF 97

DT current “work” topics WG drafts OpState: YANG Relationship of Config and Operational State (and intended) Conventions Model Classifications New Coming Soon IETF 97

Status: RTGWG drafts Started with so called Meta-Model Now: 2 Standards Track Models Logical Network Element (draft-ietf-rtgwg-lne-model) Network Instance (draft-ietf-rtgwg-ni-model) Both use schema mount 1 Informational Meta Model Network Device YANG Organizational Model (draft-rtgyangdt-rtgwg-device-model) Expect related draft on model classification soon IETF 97

Key Schema Mount Requirements for Routing That any data model can be instantiated within another module Instantiated means that information is maintained only within the ‘mounted’ context This use case only requires mounting of top-level models That a server can control which models are mounted That all capabilities that exist with the mounted module are available e.g. RPC operations, notifications, and augmentations That no additional model is needed to support 1 The schema defines what other modules can be mounted (Note used by LNE or NI modules) IETF 97

Schema Mount Xpath Issue All Xpaths in a mounted model are relative to the mount point. Exactly what you want in many cases. Also requirement for absolute Xpath Example is when ietf-routing (RFC 8022) is mounted in a Network Instance (e.g., VRF) and uses interface-ref (RFC 7223) Absolute path to interface-list is needed (at least this is the intension of NI and LNE) Have some thoughts on how to solve Plan to work with DT and schema mount authors IETF 97

Status: OpState Tracking NetMod DT Note: See A Revised Conceptual Model for YANG Datastores draft-nmdsdt-netmod-revised-datastores-00 Note: draft-ietf-netmod-routing-cfg about to be published Follows RFC7223 –config/-state convention RFC6087bis about to be published Section 5.23 provides related guidance, but not a simple directive IETF 97

Status: Conventions -00 draft (Kudos to new DT members!) Routing Area Common YANG Data Types draft-rtgyangdt-rtgwg-routing-types-00 Covers types expected to be generally useful to YANG modules developed in the routing area Initial set defined Please provide feedback and desired additions Repo: https://github.com/ietf-rtg-area-yang-arch-dt/conventions-features IETF 97

Status: Model Classifications Grew out of the original organizational model discussion/draft Over last two meeting Basic idea is to provide a tag list for identifying module types Covering both well known and unstructured types Assigned during module definition, by vendor or by user Draft should be available soon 2 modules expected: Reusable grouping and an augmentation to library IETF 97

Update on draft-ietf-rtgwg-device-model-01 draft-ietf-rtgwg-ni-model-01 draft-ietf-rtgwg-lne-model-01 Authors: Acee Lindem, Christian Hopps, Dean Bogdanovic, Lou Berger Repo: https://github.com/ietf-rtg-area-yang-arch-dt/meta-model.git

draft-ietf-rtgwg-device-model-01 Draft provides a conceptual model of how modules fit together on a generic network device Recent changes: Really just references Planned changes Editorial: Clarify that this is a logical structure Align text with module classification draft (once published) Change module to be an example This change is already in the repo IETF 97

Recent changes: draft-ietf-rtgwg-lne-model-01 Provides a model of logical device control Recent changes Aligned with latest rev of Schema Mount draft-ietf-netmod-schema-mount Including requiring YANG 1.1 Clarified instance instantiation Editorial: references, IANA section Open items Gated by schema mount Next steps Track schema mount Add examples IETF 97

draft-ietf-rtgwg-ni-model-01 Provides a model of VRFs/VSIs control Recent changes: Aligned with latest rev of Schema Mount draft-ietf-netmod-schema-mount Including requiring YANG 1.1 Clarified instance instantiation Editorial: references, IANA section Open items: Gated by schema mount Security section Examples IETF 97

draft-ietf-rtgwg-ni-model-01 Open Items (cont.) module: ietf-network-instance +--rw network-instances +--rw network-instance* [name] +--rw name +--rw type? +--rw enabled? +--rw description? +--rw network-instance-policy | ... +--rw root? yang-schema-mount Definition of network-instance-policy E.g., RT and RD Options: Preferably reuse existing modules Which is TBD? Opinions? Next steps Address open items Track schema mount IETF 97

To be presented in RTG WG Friday Morning Session I Details and Examples To be presented in RTG WG Friday Morning Session I

Logical Network Element Logical Network Element represents a separate administrative domain on the device It enables multiple tenants on single device Bare metal server and VM Provides administrative boundaries between users Users decide which services they want to run (authorization pending) Recursive (in theory) LNE in a LNE Top LNE has hardware controls, like CPU, fan, power, chassis etc Child LNE has all system management functions other then the hardware platform specifics IETF 97

LNE tree example managed by device admin managed by tenant admin created by device admin +--rw logical-network-elements +--rw logical-network-element* [name] +--rw name string +--rw managed? boolean +--rw description? string +--rw root? augment /rt:routing/rt:control-plane-protocols/ rt:routing-protocol/rt:static-routes: +--rw static-routes +--rw bind-lne-name? string augment /rt:routing/rt:control-plane-protocols/rt:ribs/rt:rib: +--rw rib* [name] | +--rw name string | +--rw address-family? identityref managed by device admin Tenant admin creates static routes and RIB managed by tenant admin IETF 97

LNE tree example managed by device admin managed by tenant admin created by device admin +--rw logical-network-elements +--rw logical-network-element* [name] +--rw name string +--rw managed? boolean +--rw description? string +--rw root? augment /if:interfaces/if:interface: +--rw bind-lne-name? string +--rw vlan-tagging? Boolean +--rw base-interface? if:interface-ref +--rw vlan-id? uint16 augment /rt:routing/rt:control-plane-protocols/ rt:routing-protocol/rt:static-routes: +--rw static-routes augment /rt:routing/rt:routing-instance/rt:ribs/rt:rib: +--rw rib* [name] | +--rw name string | +--rw address-family? identityref managed by device admin Assigning physical interface to tenant Tenant admin designates the assigned Interface as type VLAN Tenant admin creates VLAN managed by tenant admin Tenant admin creates static routes and RIB IETF 97

Notable topics Assinging resources to child LNEs Interface QoS Providing correct access to the tree Managed and unmanaged cases Unmanaged – all data inside child LNEs is opaque to the parent LNE Managed – all (some?) data inside child LNEs is visible to the parent LNE IETF 97

LNE cont’d Top LNE Child LNE Child LNE Interfaces IETF 97

LNE cont’d Top LNE LNE Child LNE Child LNE Interfaces IETF 97

Network Instance Network instance provides routing and switching separation It is part of single LNE Tenant admin has full administrative rights to create and destroy NIs within its LNE IETF 97

Example: NI Model module: networking-instance +--rw networking-instances +--rw networking-instance* [name] +--rw name string +--rw type? identityref +--rw enabled? boolean +--rw description? string +--rw networking-instance-policy | ... +--rw root? augment /if:interfaces/if:interface: +--rw bind-networking-instance-name? string augment /if:interfaces/if:interface/ip:ipv4: augment /if:interfaces/if:interface/ip:ipv6: IETF 97