Routing Area Yang Architecture Design Team Update

Slides:



Advertisements
Similar presentations
Virtual LANs.
Advertisements

© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Addressing in an Enterprise Network Introducing Routing and Switching in the.
IETF 90 Toronto Yang Data Model for OSPF Protocol draft-yeung-netmod-ospf-01 and beyond Derek Yeung Derek Yeung Dean Bogdanovic
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
YANG Data Model for IPv4-in-IPv6 Softwire draft-sun-softwire-yang November 2014 Q. Sun, H. Wang, Y. Cui, I. Farrer (presenter), M. Boucadair.
XRBLOCK IETF 85 Atlanta Network Virtualization Architecture Design and Control Plane Requirements draft-fw-nvo3-server2vcenter-01 draft-wu-nvo3-nve2nve.
IETF YANG models for VLAN interface classification draft-wilton-netmod-intf-vlan-yang Robert Wilton (Cisco)
Author: Maros Marsalek (Honeycomb PTL)
Network Device YANG Organizational Model draft-rtgyangdt-rtgwg-device-model-03 Authors: Acee Lindem, Christian Hopps, Dean Bogdanovic, Lou Berger (Ed.)
Shaopeng, Ho Architect of Chinac Group
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
draft-ietf-teas-yang-te-topo-05
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
Virtual Subnet : A L3VPN-based Subnet Extension Solution
Routing Area Yang Architecture Design Team Update
Presenter: Jeffrey Zhang
IETF 97 Seoul, South Korea Yang Data Model for OSPF Protocol draft-ietf-ospf-yang-06 draft-ietf-ospf-sr-yang-00 Derek Yeung Derek Yeung
draft-ietf-teas-yang-te-topo-01
IETF 95 – Buenos Aires April 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-te-03 draft-ietf-teas-yang-rsvp-03 Tarek Saad (Presenter)
Chapter 5: Inter-VLAN Routing
NETCONF Configuration I/F Advertisement by WSDL and XSD
Partial Locking of a Datastore in NETCONF
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
IETF #99 Broadband Forum (BBF) YANG Update
NETCONF Base Notifications for NMDA
Yang-Push On-change Notification Capability
Balazs Lengyel, Ericsson
IETF 103 NETMOD BBF YANG Update
Factory default Setting draft-wu-netmod-factory-default-01
draft-ietf-rtgwg-ni-model-03 Impact on LxVPN device models
IETF YANG Routing Types Update
Interface extensions YANG & VLAN sub-interface YANG Status update
IETF 98 NETMOD Working Group
NMDA Q & A draft-dsdt-nmda-guidelines &
DetNet DetNet Flow Information Model draft-farkas-detnet-flow-information-model-02 Balázs Varga, János Farkas, Rodney Cummings, Jiang Yuanlong and.
RIFT YANG draft-zhang-rift-yang-00
YANG Mount draft-clemm-netmod-mount IETF 98 Chicago, 30 March 2017
IGMP & MLD Snooping YANG Model
Post WG LC NMDA datastore architecture draft
OSPF WG Status IETF 98, Chicago
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 Data Model for FlexE Interface Management
János Farkas, Balázs Varga, Rodney Cummings, Jiang Yuanlong
Editors: Bala’zs Varga, Jouni Korhonen
draft-ietf-teas-yang-l3-te-topo-02
QoS Yang Model Aseem Choudhary, Norm Strahle, Ing-Whar Chen,
RIFT YANG draft-zhang-rift-yang-01
Task 62 Scope – Config / Operational State
NETMOD Versioning Design Team 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.
Interface extensions YANG & VLAN sub-interface YANG Status update
Schema version selection Reshad Rahman (presenting), Rob Wilton
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
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/

Design Team Status Summary Routing WG Standards Track Drafts Other Design Team Drafts NDMA Status Relevant Non-Design Team Drafts YANG Network Instance Draft Update YANG Tags Draft Update Target To Conclude Design Team at IETF 101 IETF 100

Routing WG Standards Track Drafts Routing Area Common YANG Data Types – draft-ietf-rtgwg-routing-types-17 On RFC Editor Queue YANG Logical Network Elements – draft-ietf-rtgwg-lne-model-04 Dependent on NETMOD YANG Schema Mount Minimal change to put schema mount point in container Working Group Last Call complete YANG Network Instances – draft-ietf-rtgwg-ni-model-04 Also Dependent on NETMOD YANG Schema Mount Update Later IETF 100

Other Design Team Drafts YANG Module Tags draft-rtgyangdt-netmod-module-tags-02 Work proceeding in NETMOD Needs Review Network Device YANG Logical Organization draft-ietf-rtgwg-device-model-02 Expired – will not be progressed in current form with fixed device hierarchy (we will never reach consensus on one overall YANG model structure for network devices) Could be revived based but based on YANG Module Tags IETF 100

Network Management Datastore Architecture (NDMA) Fully embraced by IETF Routing Area RFC 8022 BIS Accepted NETMOD WG document Modules revised rather than renaming (e.g., ietf-routing-2) State Trees Retained (e.g., ietf-routing-state) Status state trees is “obsolete” rather than “deprecated” since there is minimal implementation Routing Area YANG models should augment this version of draft. IETF 100

Non-Design Team Drafts/Issues NETMOD Schema Mount Key enabler for Nis and LNEs WG LC completed being discussed in NetMod YANG Tree Diagrams Out growth of DT work, but not a DT draft Being discussed in NetMod Open issues left from original (private and public list) Handling YANG module revisions Do we (the routing area) need a DT position on this? IETF 100

Network Instance (NI) Update Changes to YANG tree representation of schema mount Schema mount points put in containers as required Server implementation of schema mount restrictions example Uses parent-reference to limit interface instances to those with bind-network-instance-name equal to current network-instance name. L3VPN YANG model aligned with YANG Network Instance model Discussions with L2VPN/EVPN YANG model authors initiated Proposed refactoring with instance specific information under ni-type and non-instance core information into new (top-level) modules Working Group Last complete Minor changes to examples requested IETF 100

Logical Network Element (LNE) Update Changes to YANG tree representation of schema mount Schema mount points put in containers as required Server implementation of schema mount restrictions example Working Group Last complete Minor changes to examples requested IETF 100

YANG Tags Draft Update Provides user controllable hashtags on modules Could be used to support the logical device model Being discussed in NetMod Still an individual draft IETF 100

Future Plans Focus on YANG revisions, based on today’s discussion Formally disband before IETF 101 Support documents through publication LNIs, NIs, Types, 8022bis, Schema Mount, Trees IETF 99

LNEs and NIs: Modeling Device Partitioning LNE Example Network Device (Physical or Virtual) Logical Network Element Logical Network Element Managed =true Net Instance Net Instance Net Instance Net Instance Net Instance Net Instance Interfaces Interfaces LNE: Logical Network Element NI: Network Instance Separate management sub-domains Sub-domains can be managed independently and by a top level manager (managed=true) Commonly called logical system or router; or virtual switch, chassis, fabric, or device context Can be supported via multiple logical devices and VMs Where only limited top level management of subdomains is supported Separate routing / switching domains Can represent of an RFC 4364 VRF or a Layer 2 Virtual Switch Instance (VSI) or a bridge/router (i.e., both) General virtualized instance implying a separate L2, L3, or L2/L3 context. For L3, this implies a unique IPv4/IPv6 address space. IETF 99

LNE: Module Tree module: ietf-logical-network-element +--rw logical-network-elements +--rw logical-network-element* [name] +--rw name string +--rw managed? boolean +--rw description? string +--mp root augment /if:interfaces/if:interface: +--rw bind-lne-name? -> /logical-network-elements/logical-network-element/name notifications: +---n bind-lne-name-failed +--ro name -> /if:interfaces/interface/name +--ro bind-lne-name -> /if:interfaces/interface/lne:bind-lne-name +--ro error-info? string LNE Root only used when managed=true Covers cases of asynchronous interface  NI bind failures IETF 99

Implementation example: LNE Raymond Cheh, Dean Bogdanovic

LNE Architecture Example Router 2 LNE Router 1 Device1 Device2 IETF 100

Adding Interfaces to LNE grouping interface-grp { list interface { key name; leaf name { type string; } leaf-list address { type inet:ip-prefix; leaf iso-address { list logical-network-element { key name; leaf name { type string; } uses interface-grp; IETF 100

Interface naming Since the interfaces of a LNE can reside on different physical devices, potentially, the same interface on the different devices can be assigned to the same LNE. config { ietf-sys:system : { hostname : "device1” }, ietf-if:interfaces : { interface : [ { name : eth-0/0/0, ietf-lne:bind-lne-name : "Router1” } ] } config { ietf-sys:system : { hostname : "device2” }, ietf-if:interfaces : { interface : [ { name : eth-0/0/0, ietf-lne:bind-lne-name : "Router1” } ] } IETF 100

The interface name on an LNE has the device-name and the interface-name on that device together logical-network-elements { logical-network-element { name : "Router1", ietf-if:interfaces : { interface : [ { name : "device1:eth-0/0/0", description : "Connection to Server 1” }, name : "device2:eth-0/0/0", description : "Connection to Backbone network" } Pros: Having the device name in the LNE interface name makes it easy for users to know exactly which interface they are managing Cons: From YANG point-of-view, requires a new construct to be able to take multiple "leaf-ref" to make up the new value. IETF 100

One LNE across multiple physical network elements Has to consider the capabilities of the different HW when you mix them into a logical network-element. E.g. if a user wants to construct an aggregated-ethernet interface from physical interfaces on different HW, that HW needs to support multi-chassis LAG, and they need to be compatible between each other. When the different HW have different capabilities Should the resulting LNE only use the common features that are present on every one of the component chassis in the LNE or Should the operator be aware of the differences and can make sure of them if the interface resides on the chassis that can do it. IETF 100

Out-of-band management It is easy to identify the management IP address of a physical device (even one with multiple REs but managed as a single device). In case of LNE, what is, say, the IP address of the LNE? There needs to be a separate IP address and what about the out-of-band management address? This is a problem for multiple LNEs on a single physical device or a LNE spanning multiple physical devices. IETF 100

Out-of-band management VPC IP pool manager A P I Network Management System (NMS) SNMP Orchestrator IP1:161 IPn#161 IP Pool #SNMP Mesos Tasks Information Load Balancer LNE #1 IP A LNE #n IP B SNMP container (port X) SNMP container (port Y) IETF 100

Out-of-band management The hierarchy is : - Public IP Pools (Floating Pool CIDR)     +-- nodes (get 1 IP address of the pool)          +-- services (map to one container task: 1 internal IP Address, one or many internal ports)             +-- ports (The list of ports that are exposed via the public IP, tcp, udp, and the internal port they are mapped to) IETF 100

Recycled Slides from NETMOD Presentations and Previous IETFs See: https://datatracker.ietf.org/doc/slides-99-bess-03b-yang-lneni-impact-on-mvpn-models/ IETF 100

LxVPN Support NI Type Root Type For per VRF, PE/core information draft-ietf-rtgwg-ni-model-03: module: ietf-network-instance +--rw network-instances +--rw network-instance* [name] +--rw name string +--rw enabled? boolean +--rw description? string +--rw (ni-type)? +--rw (root-type)? +--:(vrf-root) | +--mp vrf-root? +--:(vsi-root) | +--mp vsi-root? +--:(vv-root) +--mp vv-root? NI Type For per VRF, PE/core information Root Type For VRF/VSI information in the CE/Vxx context IETF 99

NI Likely Impact on BESS There are three types of LxVPN information to model: Core/PE + not instance specific Goes in augmentation of a module present at top level e.g., bgp, interfaces, or even top of network instances Core/PE + is associated with a named NI Goes into augmentation of: ni-types (preferred) or other module and associated with bind-ni-name (ala interfaces) CE-Context Information, per VRF/VSI Goes in augmentation of a module present under vrf/vsi-root Do any any of these exist? Reminder: Implementations, not models, decide what gets mounted at top level and under each vrf/vsi root +--rw network-instances +--rw network-instance* [name] +--rw name string +--rw enabled? boolean +--rw description? string +--rw (ni-type)? | +--:(l3vpn) //augmentation | +--rw l3vpn:l3vpn | | ... +--rw (root-type)? +--:(vrf-root) +--mp vrf-root +--ro rt:routing-state/ | +--ro router-id? | +--ro control-plane-protocols | +--ro control-plane-protocol* | +--ro ospf:ospf/ | ... +--rw rt:routing/ | +--rw router-id? | +--rw control-plane-protocols | +--rw control-plane-protocol* | +--rw ospf:ospf/ | ... +--ro if:interfaces@ | ... +--ro if:interfaces-state@ IETF 99

LNE: Module Example module: ietf-logical-network-element +--rw logical-network-elements +--rw logical-network-element* [name] +--rw managed? boolean +--rw name string +--mp root ... Managed=true +--ro yanglib:modules-state/ | ... +--rw sys:system/ +--ro sys:system-state/ +--ro rt:routing-state/ | +--ro router-id? quad | +--ro control-plane-protocols | +--ro control-plane-protocol* [] | +--ro ospf:ospf/ | +--ro instance* [af] | ... +--rw rt:routing/ +--rw if:interfaces/ +--ro if:interfaces-state/ ... IETF 99

Section 2.3: Device View vs Logical Network Element (cont.) Each view logical-network-element can have Full Device View or Logical Network Element Limited View device-view=true +--rw device +--rw info +--rw hardware +--rw interfaces | +--rw interface* [name] | +--rw name string | +--rw bind-network-element-id? uint8 | | ... +--rw qos +--rw logical-network-elements +--rw logical-network-element* [network-element-id] | +--rw network-element-id uint8 | +--rw default-networking-instance-name? string | +--rw system-management | | +--rw device-view? boolean | | +-- ... | +--rw networking-instances | +--rw networking-instance* [networking-instance-name] | +--rw networking-instance-name string | +-- ... device-view=false +--rw device +--rw info +--rw hardware +--rw interfaces | +--rw interface* [name] | +--rw name string | +--rw bind-network-element-id? uint8 | | ... +--rw qos +--rw logical-network-elements +--rw logical-network-element* [network-element-id] | +--rw network-element-id uint8 | +--rw default-networking-instance-name? string | +--rw system-management | | +--rw device-view? boolean | | +-- ... | +--rw networking-instances | +--rw networking-instance* [networking-instance-name] | +--rw networking-instance-name string | +-- ... | ... +--rw network-element-id uint8 ... device-view=false +--rw device +--rw info +--rw hardware +--rw interfaces | +--rw interface* [name] | +--rw name string | +--rw bind-network-element-id? uint8 | | ... +--rw qos +--rw logical-network-elements +--rw logical-network-element* [network-element-id] | +--rw network-element-id uint8 | +--rw default-networking-instance-name? string | +--rw system-management | | +--rw device-view? boolean | | +-- ... | +--rw networking-instances | +--rw networking-instance* [networking-instance-name] | +--rw networking-instance-name string | +-- ... IETF 93 Colors not shown for all elements