IEEE 802.1Q YANG Bridge Port Interface Model in Support of 802.1AX, 802.1X, etc. Marc Holness Version Sept 2016

Similar documents
IEEE 802.1Q YANG Bridge Port Interface Model in Support of 802.1AX, 802.1X, etc. Marc Holness Version July 2016

IEEE 802.1Q YANG Interface Framework in support of Link Aggregation (802.1AX), Security (802.1X), and CFM (802.1ag)

IEEE 802.1Q YANG Interface Framework in support of Link Aggregation (802.1AX), Security (802.1X), and CFM (802.1ag)

IEEE YANG Data Modeling Overview

IEEE P802.1Qcp YANG Instance Document IEEE 802 Plenary Meeting. Marc Holness Version 2 13 March 2017

IEEE P802.1Qcp YANG Instance Document IEEE 802 Plenary Meeting. Marc Holness Version March 2017

Chapter 4 Configuring Switching

IEEE 802.1Qcx (CFM) Data Model Overview. Marc Holness Version 0.2 March 2018

VLAN - SP6510P8 2013/4. Copyright 2011 Micronet Communications, INC

Index. Numerics. Index p priority (QoS) definition Q VLAN standard w as a region 5-54

Changes to 802.1Q necessary for 802.1Qbz (bridging media)

Configuring Interfaces and Circuits

VLAN. Mario Baldi. Pietro Nicoletti. Politecnico di Torino. Studio Reti

EstiNet L2/SDN Switch Web User Interface USER GUIDE

Configuring Port-Based and Client-Based Access Control (802.1X)

Monitoring Ports. Port State

Figure 7-1 Unicast Static FDB window

Configuring Q-in-Q VLAN Tunnels

Contents. Configuring LLDP 2

Routing Between VLANs Overview

Path MTU Discovery in Bridged Network

Sections Describing Standard Software Features

Contents. Configuring LLDP 2

IEEE YANG Progress. Marc Holness Version June 2016

Contents. Configuring LLDP 2

User's Manual. RASP-MG1500 Series Web-smart Gigabit Ethernet Switch User s Manual. (Please read carefully before you use the switch)

Configuring Virtual Private LAN Services

Contents. Configuring LLDP 2

Sections Describing Standard Software Features

Routing Between VLANs Overview

Web Smart Switch. LevelOne GES GE + 4GE SFP Web Smart Switch. User Manual. Version

Index. Numerics. Index 1

Comment A: Text for Sequencing sublayer

Junos Enterprise Switching

Point-to-Multipoint and Multipoint-to-Multipoint Services on PBB-TE System

JN0-343 Q&As. Juniper Networks Certified Internet Specialist (JNCIS-ENT) Pass Juniper JN0-343 Exam with 100% Guarantee

SWP-0208G, 8+2SFP. 8-Port Gigabit Web Smart Switch. User s Manual

Improving Bandwidth Efficiency When Bridging on RPR. November 2001

Configuring Rapid PVST+ Using NX-OS

Technical Specification MEF External Network Network Interface (ENNI) Phase 2. January 2012

BRIDGE COMPONENTS. Panagiotis Saltsidis

Configuring Private VLANs

Table of Contents 1 LLDP Configuration 1-1

1.1 MRP MAC Address Registration Protocol (MMRP) - Purpose

IEEE Bridge Model

Bridge Functions Consortium

CISCO SRW208MP-EU SWITCH 8 x 10/100 PoE /100/1000 mini-gbic porttia, WebView/ Max PoE

DES P MANUAL WEBSMART SWITCH V1.05

RBRIDGES/TRILL. Donald Eastlake 3 rd Stellar Switches AND IS-IS.

Product features. Applications

CompSci 356: Computer Network Architectures. Lecture 8: Spanning Tree Algorithm and Basic Internetworking Ch & 3.2. Xiaowei Yang

Token Ring VLANs and Related Protocols

PFC and Untagged Frames

Token Ring VLANs and Related Protocols

Technical Specification MEF 37. Abstract Test Suite for ENNI. January 2012

Configuring STP. Understanding Spanning-Tree Features CHAPTER

Configuring Q-in-Q VLAN Tunnels

Layering for the TSN Layer 2 Data Plane

Understanding Issues Related to Inter VLAN Bridging

802.1D/Q Compliance and Spatial Reuse

Chapter. Managed Switch Software Monitoring. In This Chapter...

62HConfiguring port role restriction 131H37. 63HConfiguring TC-BPDU transmission restriction 132H38. 64HEnabling TC-BPDU guard 133H38

Configuring MST Using Cisco NX-OS

CHAPTER 18 INTERNET PROTOCOLS ANSWERS TO QUESTIONS

Internet Protocols (chapter 18)

DD2490 p Layer 2 networking. Olof Hagsand KTH CSC

13. Spanning Tree Protocols

Configuring Priority Flow Control

White Paper: Control Plane Implementation on Coordinated Shared Networks (CSN)

RADview-EMS/NGN Element Management System for NGN Applications ETX-102, ETX-201, ETX-202

ET4254 Communications and Networking 1

User Handbook. Switch Series. Default Login Details. Version 1.0 Edition

20 GE PoE-Plus + 4 GE PoE-Plus Combo SFP + 2 GE SFP L2 Managed Switch, 185W

Configuring STP and RSTP

Internet Engineering Task Force (IETF) Obsoletes: 7223 March 2018 Category: Standards Track ISSN:

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

Configuring IEEE 802.1Q Tunneling and Layer 2 Protocol Tunneling

Configuring Rapid PVST+

Configuring Private VLANs

Operation Manual IPv4 Routing H3C S3610&S5510 Series Ethernet Switches. Table of Contents

Configuring STP and Prestandard IEEE 802.1s MST

GS-5424G User Manual

Configure Multipoint Layer 2 Services

Chapter 5: STP. * What is STP? How does STP work?

Spanning Tree Protocol

Understanding Basic 802.1ah Provider Backbone Bridge

Ethernet interface commands

RBRIDGES LAYER 2 FORWARDING BASED ON LINK STATE ROUTING

24-Port 10/100 L3 Switch Model: Web Configuration Guide

3. INTERCONNECTING NETWORKS WITH SWITCHES. THE SPANNING TREE PROTOCOL (STP)

Managed Ethernet Switch User s Manual

Bridge Functions Consortium

Configuring VLANs. Understanding VLANs CHAPTER

HP MSR Router Series. Layer 2 LAN Switching Command Reference(V7)

Configuring Access and Trunk Interfaces

Bridging Solution for the MAN: Address Separation

FSOS. Ethernet Configuration Guide

The features and functions of the D-Link Smart Managed Switch can be configured through the web-based management interface.

Table of Contents 1 MSTP Configuration 1-1

VLAN Features on Hanlong IP Phones

Transcription:

IEEE 802.1Q YANG Port Interface Model in Support of 802.1AX, 802.1X, etc. Marc Holness Version 0.1 12 Sept 2016

IEEE 802.1Q Port Each Port is associated with one Interface, and in most situations, each Port is associated with a different interface However, there are situations in which multiple Ports are associated with the same interface For example, several Ports can each correspond one-to-one with several private lines (or SDH virtual circuits) but all on the same Interface Or multiple Ports can each correspond to a single internal LAN (I-LAN) port Alternatively, there is the Link Aggregation (IEEE Std 802.1AX) case where there are many physical Ports for one Port Marc Holness (mholness@ciena.com) - 2

IEEE 802.1Q Port The Relay Entity handles the media access methodindependent functions of relaying frames among Ports. It uses the EISS (6.8, 6.9) provided by each Port Each Port also functions as an end station and shall provide the Service to an LLC Entity that operates LLC Type 1 procedures to support protocol identification, multiplexing, and demultiplexing, for PDU transmission and reception by the Spanning Tree Protocol Entity and other higher layer entities Marc Holness (mholness@ciena.com) - 3

CFM Maintenance Point Placement CFM entities are specified as shims that make use of and provide the ISS or EISSS at SAPs within the network The relationships among MPs, and between the MPs and the other entities in a, are configurable Marc Holness (mholness@ciena.com) - 4

IEEE 802.1 Objects Within YANG Object Hierarchy IETF System Management IETF Interface Management IETF Routing 802.1Q... PAE System PAE IS-IS TPMR... IP Port... OSPF... Customer VLAN Provider Marc Holness (mholness@ciena.com) - 5

IETF Interface Management Model IETF Interface Management Model (RFC 7223) can be represented using UML as shown below Interface stack leaf nodes Marc Holness (mholness@ciena.com) - 6

The Port Interface Model ietf-interfaces interfaces string name; // r-w string description; // r-w if-type type; // r-w bool enabled; // r-w enum link-up-down-trap-enable; // r-w bridge-port * name string component-name; // r-w if-ref service-if // r-w int pvid; // (12.10.1) r-w int default-priority; // (12.6.2) r-w struct priority-regeneration-table; // (12.6.2, 6.9.4) r-w enum pcp-selection; // (12.6.2, 6.9.3) r-w struct pcp-decoding-table; // (12.6.2) r-w struct pcp-encoding-table; // (12.6.2) r-w bool use-dei; // (12.6.2, 6.9.3) r-w bool drop-encoding; // (12.6.2, 8.6.6) r-w enum service-access-priority-selection; // (12.6.2, 6.13) r-w struct service-access-priority; // (12.6.2, 6.13.1) r-w struct traffic-class-table; // (12.6.3, 8.6.6) r-w enum acceptable-frame; // (12.10.1.3, 6.9) r-w bool enable-ingress-filtering; // (12.10.1.4, 8.6.2) r-w bool restricted-vlan-registration; // (12.10.1.6, 11.2.3.2.3) r-w bool vid-translation-table; // (12.10.1.8, 6.9) r-w bool egress-vid-translation-table; // (12.10.1.9, 6.9) r-w int protocol-group-id; // (6.12.2) r-w struct protocol-group-database-contents; // (12.10.1.7) r-w int admin-point-to-point; // (6.8.2, 12.4.2) r-w * name interfaces-state string name; // r if-type type; // r enum admin-status; // r enum oper-status; // r date-time last-change; // r int32 if-index; // r address phys-address; // r if-ref * higher-layer-if; // r if-ref * lower-layer-if; // r guage64 speed; // r bridge-port bool protocol-based-vlan-classification;// (5.4.1.2) r int max-vid-set-entries; // (12.10.1.1.3) r int port-number; // (13.25, 12.4.2) r enum port-type; // (12.4.2.1) r macaddress address; // (12.4.2) r int capabilities; // (12.4.2, 12.10.1.1.3) r int type-capabilities; // (12.4.2) r bool external; // (12.4.2) r bool oper-point-to-point; // (12.4.2) r * * vid-translations int local-vid; // (12.10.1.8, 6.9) r-w int relay-vid; // (12.10.1.8, 6.9) r-w relay-vid local-vid egress-vid-translations int relay-vid; // (12.10.1.9, 6.9) r-w int local-vid; // (12.10.1.9, 6.9) r-w statistics date-time discontinuity-time; // r counter64 in-octets, in-unicast-pkts, in-broadcast-pkts, in-multicast-pkts; // r counter64 in-discards, in-errors, in-unknown-protos, ; // r counter64 out-octets, out-unicast-pkts, out-broadcast-pkts, out-multicast-pkts; // r counter64 out-discards, out-errors; // r bridge-port-statistics counter64 delay-exceeded-discards, mtu-exceeded-discards; // (12.6.1.1.3) r counter64 frame-rx, octets-rx, frame-tx, octets-tx; // (12.6.1.1.3) r counter64 discard-inbound, forward-outbound, discard-lack-of-buffers; // (12.6.1.1.3) r counter64 discard-transit-delay-exceeded, discard-on-error; // (12.6.1.1.3) r counter64 discard-on-ingress-filtering, discard-ttl-expired; // (12.6.1.1.3) r Marc Holness (mholness@ciena.com) - 7

The Port Interface Model ietf-interfaces Spanning Tree interfaces string name; // r-w string description; // r-w if-type type; // r-w bool enabled; // r-w enum link-up-down-trap-enable; // r-w bridge-port * name string component-name; // r-w if-ref service-if // r-w int pvid; // (12.10.1) r-w int default-priority; // (12.6.2) r-w struct priority-regeneration-table; // (12.6.2, 6.9.4) r-w enum pcp-selection; // (12.6.2, 6.9.3) r-w struct pcp-decoding-table; // (12.6.2) r-w struct pcp-encoding-table; // (12.6.2) r-w bool use-dei; // (12.6.2, 6.9.3) r-w bool drop-encoding; // (12.6.2, 8.6.6) r-w enum service-access-priority-selection; // (12.6.2, 6.13) r-w struct service-access-priority; // (12.6.2, 6.13.1) r-w struct traffic-class-table; // (12.6.3, 8.6.6) r-w enum acceptable-frame; // (12.10.1.3, 6.9) r-w bool enable-ingress-filtering; // (12.10.1.4, 8.6.2) r-w bool restricted-vlan-registration; // (12.10.1.6, 11.2.3.2.3) r-w bool vid-translation-table; // (12.10.1.8, 6.9) r-w bool egress-vid-translation-table; // (12.10.1.9, 6.9) r-w int protocol-group-id; // (6.12.2) r-w struct protocol-group-database-contents; // (12.10.1.7) r-w int admin-point-to-point; // (6.8.2, 12.4.2) r-w spanning-tree bool port-enabled // (12.8.2.1.3) r-w int port-priority; // (13.27.46) r-w int path-cost; // (13.27.25) r-w bool admin-edge-port // (13.27.1) r-w int auto-edge-port // (13.27.6) r-w bool mac-enabled // 802.1AC) r-w bool mac-operational // (802.1AC) r-w bool enable-bpdu-rx // (13.27.23) r-w bool enable-bpdu-tx; // (13.27.24) r-w bool protocol-migration // (12.8.2.5) r-w * name interfaces-state string name; // r if-type type; // r enum admin-status; // r enum oper-status; // r date-time last-change; // r int32 if-index; // r address phys-address; // r if-ref * higher-layer-if; // r if-ref * lower-layer-if; // r guage64 speed; // r bridge-port bool protocol-based-vlan-classification;// (5.4.1.2) r int max-vid-set-entries; // (12.10.1.1.3) r int port-number; // (13.25, 12.4.2, 12.3.i) r enum port-type; // (12.4.2.1) r macaddress address; // (12.4.2) r int capabilities; // (12.4.2, 12.10.1.1.3) r int type-capabilities; // (12.4.2) r bool external; // (12.4.2) r bool oper-point-to-point; // (12.4.2) r spanning-tree date-time uptime; // (12.8.2.1.3) r enum port-state; // (12.8.2.1.3) r struct port-identifier; // (12.8.2.1.3) r int designated-root; // (13.27.20) r int designated-cost; // (13.27.20) r int designated-bridge; // (13.27.20) r string designated-port; // (13.27.20) r bool topology-change-ack; // (13.27.72) r date-time hello-time // (13.27.48) r bool oper-edge-port // (13.27.44) r counter64 port-forward-transitions // r * local-vid * vid-translations int local-vid; // (12.10.1.8, 6.9) r-w int relay-vid; // (12.10.1.8, 6.9) r-w relay-vid egress-vid-translations int relay-vid; // (12.10.1.9, 6.9) r-w int local-vid; // (12.10.1.9, 6.9) r-w statistics date-time discontinuity-time; // r counter64 in-octets, in-unicast-pkts, in-broadcast-pkts, in-multicast-pkts; // r counter64 in-discards, in-errors, in-unknown-protos, ; // r counter64 out-octets, out-unicast-pkts, out-broadcast-pkts, out-multicast-pkts; // r counter64 out-discards, out-errors; // r bridge-port-statistics counter64 delay-exceeded-discards, mtu-exceeded-discards; // (12.6.1.1.3) r counter64 frame-rx, octets-rx, frame-tx, octets-tx; // (12.6.1.1.3) r counter64 discard-inbound, forward-outbound, discard-lack-of-buffers; // (12.6.1.1.3) r counter64 discard-transit-delay-exceeded, discard-on-error; // (12.6.1.1.3) r counter64 discard-on-ingress-filtering, discard-ttl-expired; // (12.6.1.1.3) r spanning-tree counter64 port-forward-transitions // r Marc Holness (mholness@ciena.com) - 8

The Generic YANG Model * bridge string name; // (12.4) r-w macaddress address; // (12.4) r-w enum type; // r-w int ports; // (12.4) r counter32 up-time; // (12.4) r int components; // r name component string name; // r-w int id; // (12.3) r-w enum type; // (12.3) r-w macaddress address; // (8.13.8, 13.24) r-w bool traffic-class-enabled; // (12.4.1.5.1) r-w bool mmrp-enabled-status; // (12.4.1.5.1)r-w int ports; // (12.4.1.1.3) r if-ref *bridge-port // r struct capabilities // (12.4.1.5.2) r * The list of Ports 0.. 1 filtering-database int aging-time; // (12.7, 8.8.3) r-w int size; // (12.7) r int static-entries; // (12.7, 8.8.1) r int dynamic-entries; // (12.7, 8.8.1) r int static-vlan-registration-entries; // (12.7, 8.8.2) r int dynamic-vlan-registration-entries; // (12.7, 8.8.5) r int mac-address-registration-entries; // (12.7, 8.8.4) r * database-id, vid vlan-registration-entries int database-id; // (12.7.7) r-w int vid; // (12.7.7) r-w enum entry-type; // (12.7.7) r-w database-id, address, vid * filtering-entries int database-id; // (12.7.7) r-w macaddress address; // (12.7.7) r-w int vid; // (12.7.7) r-w enum entry-type; // (12.7.7) r-w enum status; // r port-number * port-number port-number * port-map if-ref port-number; // (8.8.1) r-w struct map; // (8.8.1) r-w * port-map if-ref port-number; // (8.8.1) r-w struct map; // (8.8.1) r-w permanent-database int size; // (12.7.6) r int static-entries; // (12.7.6) r int static-vlan-registration-entries;// (12.7.6) r database-id, address, vid * filtering-entries int database-id; // (12.7.7) r-w macaddress address; // (12.7.7) r-w int vid; // (12.7.7) r-w enum status; // r port-map if-ref port-number; // (8.8.1) r-w struct map; // (8.8.1) r-w bridge-vlan int version; // (12.10.1.3) r int max-vids; // (12.10.1.3) r bool override-default-pvid; // (12.10.1.3) r stuct protocol-template; // (12.10.1.7) r int max-msti; // (12.10.1.7) r vids * vid * protocol-group-database string frame-format-type; // (12.10.1.7) r-w struct frame-format; // (12.10.1.7) r-w int protocol-group-id; // (6.12.2) r-w vid-to-fid-allocation int *vids; // (12.10.3) r-w int fid; // (12.10.3) r-w enum allocation-type; // (12.10.3) r vlan-id int vid; // (12.10.2) r-w string name; // (12.10.2) r-w if-ref *untagged-ports; // (8.8.2, 12.10.2.1.3) r if-ref *egress-ports; // (8.8.10, 12.10.2.1.3) r Marc Holness (mholness@ciena.com) - 9

Port Interface Stack Models

Interface Stack Diagram Representation A SAP is an abstraction and does not necessarily correspond to any concrete realization within a system The entities that support a particular SAP compose an interface stack Each YANG Interface definition contains an interface stack table OBJECT Interface {1} INTERFACE REFERENCE Pointer or Index INTERFACE SERVICE DATA INTERFACE Service Access Point (SAP) Interface Type 1 Shim/Service 1 Interface Index (1) Interface Type Service 1 Interface Augments {Service 1} Higher Layer () Lower Layer (2) Interface Type 2 Shim/Service 2 Interface Index (2) Interface Type Service 2 Interface Augments {Service 2} Higher Layer (1) Lower Layer () Marc Holness (mholness@ciena.com) - 11

Basic Ports are associated with components Port Port Marc Holness (mholness@ciena.com) - 12

Basic (Port) Models Model-1 Ports are assigned to an Interface that is independent of the underlying (or service) Port data and data attributes are associated with separate Interfaces BRIDGE COMPONENT Ports {A,B} Model-2 Ports are underlying (or service) share the same Interface Port and specific data attributes associated with same Interface BRIDGE COMPONENT Ports {Y,Z} A B Y Z Port Port Port Port Y Z Marc Holness (mholness@ciena.com) - 13

Model-1 Port NETCONF Example <rpc message-id= 101 xmlns= urnietfparamsxmlnsyangietf-interfaces > <edit-config> <target> <running/> </target> <config> <top xmlns="http//example.com/schema/1.2/config"> <bridges xcoperation= create > <bridge> <name>bridge-name</name> <component> <name>cvlan-comp</name> </component> </bridge> </bridges> Marc Holness (mholness@ciena.com) - 14

Model-1 Port NETCONF Example <interface xcoperation= create > <name>if-y</name> <type>ethernetcsmacd</type> <ethernet-interface-attributes> </ethernet-interface-attributes> </interface> <interface xcoperation= create > <name>if-a</name> <type>bridge</type> <bridge-port> <component-name>cvlan-comp</component-name> <service-if>if-y</service-if> </bridge-port> </interface> Marc Holness (mholness@ciena.com) - 15

Model-1 Port NETCONF Example <interface xcoperation= create > <name>if-z</name> <type>ethernetcsmacd</type> <ethernet-interface-attributes> </ethernet-interface-attributes> </interface> <interface xcoperation= create > <name>if-b</name> <type>bridge</type> <bridge-port> <component-name>cvlan-comp</component-name> <service-if>if-z</service-if> </bridge-port> </interface> </top> </config> </edit-config> </rpc> Marc Holness (mholness@ciena.com) - 16

Model-2 Port NETCONF Example <rpc message-id= 101 xmlns= urnietfparamsxmlnsyangietf-interfaces > <edit-config> <target> <running/> </target> <config> <top xmlns="http//example.com/schema/1.2/config"> <bridges xcoperation= create > <bridge> <name>bridge-name</name> <component> <name>cvlan-comp</name> </component> </bridge> </bridges> Marc Holness (mholness@ciena.com) - 17

Model-2 Port NETCONF Example <interface xcoperation= create > <name>if-y</name> <type>ethernetcsmacd</type> <bridge-port> <component-name>cvlan-comp</component-name> </bridge-port> <ethernet-interface-attributes> </ethernet-interface-attributes> </interface> <interface xcoperation= create > <name>if-z</name> <type>ethernetcsmacd</type> <bridge-port> <component-name>cvlan-comp</component-name> </bridge-port> <ethernet-interface-attributes> </ethernet-interface-attributes> </interface> </top> </config> </edit-config> </rpc> Marc Holness (mholness@ciena.com) - 18

Basic with Link Aggregation Agg Port specific configuration gets applied Aggregator specific configuration gets applied System then utilizes LACP signaling to tie together aggregation members with the Aggregator Port Port Port Port AGGREGATOR AGGREGATOR AGG AGG PORT PORT Marc Holness (mholness@ciena.com) - 19

Evolution of Port Model-1 Link Aggregation BRIDGE COMPONENT Ports {A,B} BRIDGE COMPONENT Ports {A,B} A Port B Port A Port Aggregator B Port Aggregator Y Z Y Agg Port Z Agg Port Marc Holness (mholness@ciena.com) - 20

Evolution of Port Model-1 Link Aggregation The Port Interfaces (A) and (B) are extended to include AGGREGATOR specific configuration and operational data Interface (Y) and (Z) will be extended to include AGGREGATION PORT specific configuration and operational data From a YANG perspective, this is an augmentation LACP operation determines which AGGREGATION PORT points to which AGGREGATOR Marc Holness (mholness@ciena.com) - 21

Model-1 Port NETCONF Example <rpc message-id= 101 xmlns= urnietfparamsxmlnsyangietf-interfaces > <edit-config> <target> <running/> </target> <config> <top xmlns="http//example.com/schema/1.2/config"> <interface xcoperation= merge > <name>if-y</name> <agg-port-interface-attributes> </agg-port-interface-attributes> </interface> <interface xcoperation= merge > <name>if-z</name> <agg-port-interface-attributes> </agg-port-interface-attributes> </interface> Marc Holness (mholness@ciena.com) - 22

Model-1 Port NETCONF Example <interface xcoperation= merge > <name>if-a</name> <aggregator-interface-attributes> </aggregator-interface-attributes> </interface> <interface xcoperation= merge > <name>if-b</name> <aggregator-interface-attributes> </aggregator-interface-attributes> </interface> </top> </config> </edit-config> </rpc> Marc Holness (mholness@ciena.com) - 23

Evolution of Port Model-2 Link Aggregation BRIDGE COMPONENT Ports {Y,Z} BRIDGE COMPONENT Ports {A,B} Y Port Z Port A Port B Port Aggregator Aggregator Y Agg Port Z Agg Port Marc Holness (mholness@ciena.com) - 24

Evolution of Port Model-2 Link Aggregation Port data is removed from Interfaces (Y) and (Z) Interface (Y) and (Z) will be extended to include AGGREGATION PORT specific configuration and operational data Interface (A) and (B) are created Interface (A) and (B) will be extended to include AGGREGATOR specific and BRIDGE PORT configuration and operational data LACP operation determines which AGGREGATION PORT points to which AGGREGATOR NOTE Moving (i.e., deleting and recreating) the Port [configuration and operational] data from Interfaces (Y) and (Z), to newly created Interfaces (A) and (B) may result in loss of operational state information Marc Holness (mholness@ciena.com) - 25

Model-2 Port NETCONF Example <rpc message-id= 101 xmlns= urnietfparamsxmlnsyangietf-interfaces > <edit-config> <target> <running/> </target> <config> <top xmlns="http//example.com/schema/1.2/config"> <interface> <name>if-y</name> <bridge-port xcoperation= delete > <port-number>y</port-number> </bridge-port> <agg-port-interface-attributes xcoperation= merge > </agg-port-interface-attributes> </interface> <interface> <name>if-z</name> <bridge-port xcoperation= delete > <port-number>z</port-number> </bridge-port> <agg-port-interface-attributes xcoperation= merge > </agg-port-interface-attributes> </interface> Marc Holness (mholness@ciena.com) - 26

Model-2 Port NETCONF Example <interface xcoperation= create > <name>if-a</name> <type>ieee8023adlag</type> <bridge-port> <component-name>cvlan-comp</component-name> </bridge-port> <aggregator-interface-attributes> </aggregator-interface-attributes> </interface> NOTE port configuration and operational data attributes removed from Interface (Y) needs to be [somehow] preserved and set on Interface (A) <interface xcoperation= create > <name>if-b</name> <type>ieee8023adlag</type> <bridge-port> <component-name>cvlan-comp</component-name> </bridge-port> <aggregator-interface-attributes> </aggregator-interface-attributes> </interface> </top> </config> </edit-config> </rpc> NOTE port configuration and operational data attributes removed from Interface (Z) needs to be [somehow] preserved and set on Interface (B) Marc Holness (mholness@ciena.com) - 27

Evolution of Port Model Security and LAG BRIDGE COMPONENT Ports {A,B} BRIDGE COMPONENT Ports {A,B} A Port B Port A Port Aggregator B Port Aggregator Aggregator Aggregator Y Agg Port Z Agg Port MacSecControlled M PAE SecY N PAE SecY MacSecControlled Agg Port Agg Port Y Z Marc Holness (mholness@ciena.com) - 28

Evolution of Port Model Security and LAG BRIDGE COMPONENT Ports {A,B} BRIDGE COMPONENT Ports {A,B} A Port B Port A Port Aggregator B Port Aggregator Aggregator Aggregator Y Agg Port Z Agg Port MacSecControlled M PAE SecY N PAE SecY MacSecControlled NOTE Is this is problem? The AGGREGATION PORTS are still associated with Interface (Y) and (Z), instead of Interface (M) and (N) which are connected to the AGGREGATORS. Y Agg Port Z Agg Port Marc Holness (mholness@ciena.com) - 29

Evolution of Port Model Security and LAG A PAE (service shim) is inserted in the Interface stack The PAE/SECY/PAC is associated with Interface (M) and (N) Marc Holness (mholness@ciena.com) - 30

Evolution of Port Model-1 Sec and HLE HLE Ports BRIDGE COMPONENT Ports {A} HLE Ports BRIDGE COMPONENT Ports {A} {A} {A} A Port HLE Z A Port HLE PAE SecY Z MacSecControlled Marc Holness (mholness@ciena.com) - 31

Evolution of Port Model-1 Sec and HLE Higher Layer Entity (HLE) references Port Interface (e.g., (A)) HLE specific configuration and operational data extends Port Interface (A) data PAE Sec configuration and operational data extends Port Interface (A) Marc Holness (mholness@ciena.com) - 32

Model-1 Port NETCONF Example <rpc message-id= 101 xmlns= urnietfparamsxmlnsyangietf-interfaces > <edit-config> <target> <running/> </target> <config> <top xmlns="http//example.com/schema/1.2/config"> <bridges xcoperation= create > <bridge> <name>bridge-name</name> <component> <name>cvlan-comp</name> </component> </bridge> </bridges> <HLE xcoperation= create > </HLE> Marc Holness (mholness@ciena.com) - 33

Model-1 Port NETCONF Example <interface xcoperation= create > <name>if-z</name> <type>ethernetcsmacd</type> <ethernet-interface-attributes> </ethernet-interface-attributes> </interface> <interface xcoperation= create > <name>if-a</name> <type>bridge</type> <bridge-port> <component-name>cvlan-comp</component-name> <service-if>if-z</service-if> </bridge-port> <HLE-interface-attributes> </HLE-interface-attributes> </interface> </top> </config> </edit-config> </rpc> Marc Holness (mholness@ciena.com) - 34

Model-1 Port NETCONF Example <rpc message-id= 101 xmlns= urnietfparamsxmlnsyangietf-interfaces > <edit-config> <target> <running/> </target> <config> <top xmlns="http//example.com/schema/1.2/config"> <interface> <name>if-a</name> <pae> </pae> </interface> </top> </config> </edit-config> </rpc> Marc Holness (mholness@ciena.com) - 35

Evolution of Port Model-2 Sec and HLE HLE Ports BRIDGE COMPONENT Ports {A} HLE Ports BRIDGE COMPONENT Ports {B} {A} {B} A Port HLE B Port HLE PAE SecY MacSecControlled A Marc Holness (mholness@ciena.com) - 36

Evolution of Port Model-2 Sec and HLE The Port and HLE data is removed from Interface (A) Interface (B) is created The Port and HLE data attributes are added to Interface (B) Sec configuration (and operational) data is added to Interface (B) The Port pointers within the Component and HLE needs to change NOTE Moving (i.e., deleting and recreating) the Port and HLE (e.g., Spanning Tree) [configuration and operational] data from Interfaces (A), to newly created Interfaces (B) may result in loss of operational state information Marc Holness (mholness@ciena.com) - 37

Model-2 Port NETCONF Example <rpc message-id= 101 xmlns= urnietfparamsxmlnsyangietf-interfaces > <edit-config> <target> <running/> </target> <config> <top xmlns="http//example.com/schema/1.2/config"> <bridges xcoperation= create > <bridge> <name>bridge-name</name> <component> <name>cvlan-comp</name> </component> </bridge> </bridges> <HLE xcoperation= create > </HLE> Marc Holness (mholness@ciena.com) - 38

Model-2 Port NETCONF Example <interface xcoperation= create > <name>if-a</name> <type>ethernetcsmacd</type> <bridge-port> <component-name>cvlan-comp</component-name> </bridge-port> <HLE-interface-attributes> </HLE-interface-attributes> <ethernet-interface-attributes> </ethernet-interface-attributes> </interface> </top> </config> </edit-config> </rpc> Marc Holness (mholness@ciena.com) - 39

Model-2 Port NETCONF Example <rpc message-id= 101 xmlns= urnietfparamsxmlnsyangietf-interfaces > <edit-config> <target> <running/> </target> <config> <top xmlns="http//example.com/schema/1.2/config"> <interface> <name>if-a</name> <bridge-port xcoperation= delete > <port-number>a</port-number> </bridge-port> <HLE-interface-attributes xcoperation= delete > </HLE-interface-attributes> </interface> Marc Holness (mholness@ciena.com) - 40

Model-2 Port NETCONF Example <interface xcoperation= create > <name>if-b</name> <type>ethernetcsmacd</type> <bridge-port> <component-name>cvlan-comp</component-name> </bridge-port> <HLE-interface-attributes> </HLE-interface-attributes> <pae> </pae> </interface> </top> </config> </edit-config> </rpc> NOTE PAE (Port Access Entity) configuration and operational data attributes removed from Interface (A) needs to be [somehow] preserved and set on Interface (B) NOTE port configuration and operational data attributes removed from Interface (A) needs to be [somehow] preserved and set on Interface (B) Marc Holness (mholness@ciena.com) - 41

Conclusions/Observations and Recommendations

Conclusions/Observations The Port provides an interface to both the Relay Entity as well as higher layer entities (e.g., spanning tree, IP router, end stations, etc.) Consequently, [configuration and operational] data associated HLEs as well as the relay entity are associated with a Port Additionally, other 802.1Q-2014 features contributes to the [configuration and operational] data associated with a Port Congestion Notification (CN), for congestion aware end stations or components Stream Reservation Protocol (SRP) Edge Control Protocol (ECP) Consequently, care should be taken to preserve Port (and HLE) [configuration and operational data when protocol entities are introduced within the Port (interface stack) Marc Holness (mholness@ciena.com) - 43

Recommendation Both models (Model-1 and Model-2) have pros and cons, and can work It is a matter of perspective and the device that the model may be realized on The Port YANG model (used by the 802.1Q ) will be developed to accommodate both Model-1 and Model-2 Model-1 BRIDGE COMPONENT Model-2 BRIDGE COMPONENT Ports {A,B} Ports {Y,Z} A B Y Z Port Port Port Port Y Z Marc Holness (mholness@ciena.com) - 44

YANG Model Enhancement identify bridgeinterface { description "Generic interface property that represents any interface that can be associated with an IEEE 802.1Q compliant component. Any new Interface types would derive from this identity to automatically pick up related configuration or operational data." } augment "/ifinterfaces/ifinterface" { when derived-from-or-self(iftype, ianaifbridge ) or derived-from-or-self(iftype, ianaifethernetcsmacd ) or derived-from-or-self(iftype, ianaifieee8023adlag ) or derived-from-or-self(iftype, bridgeinterface ) { description "Applies when a Port, or an underlying or LAG."; } description "Augment the Interface model with the Port."; container bridge-port { description " Port is an extension of the IETF Interfaces model (RFC7223)."; } } Marc Holness (mholness@ciena.com) - 45

YANG Model Excerpt feature simple-bridge-port { description "A simple bridge port allows underlying () layers to share the same Interface as the Port."; } feature flexible-bridge-port { description "A flexible bridge port supports an Interface that is a Port to be a separate Interface from the underlying () layer."; } Marc Holness (mholness@ciena.com) - 46

Backup Material Port Interface

Evolution of Port Model-1 Link Aggregation Link Aggregation (or LACP) is OFF Link Aggregation (or LACP) is ON Marc Holness (mholness@ciena.com) - 48

Evolution of Port Model-2 Link Aggregation Initial Configuration Link Aggregation (or LACP) is OFF Link Aggregation (or LACP) is ON Marc Holness (mholness@ciena.com) - 49

Evolution of Port Model-1 Internal LAN BRIDGE COMPONENT Ports {A,B} BRIDGE COMPONENT Ports {C,D} A Port B Port C Port D Port X ILAN Y Z Marc Holness (mholness@ciena.com) - 50

Evolution of Port Model-1 Internal LAN BRIDGE COMPONENT Ports {A,B} BRIDGE COMPONENT Ports {C,D} A Port ILAN B Port ILAN C Port D Port X Z Marc Holness (mholness@ciena.com) - 51