13
IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness ([email protected]), Ciena January 25, 2020

IEEE 802.1Q Bridging and Connectivity Fault Management ... · IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness ([email protected]),

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IEEE 802.1Q Bridging and Connectivity Fault Management ... · IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness (mholness@ciena.com),

IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction

Marc Holness ([email protected]), CienaJanuary 25, 2020

Page 2: IEEE 802.1Q Bridging and Connectivity Fault Management ... · IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness (mholness@ciena.com),

2

IEEE 802.1 YANG Model Development• Represent Models representation using UML

– Where UML representation was not available, take normative text (e.g., managed objects clause) and created UML representation

– UML representation has benefit of ease of communication to larger diverse group (that may or may not be YANG fluent)

• Define YANG structure and relationship to other YANG modules– Understanding relationship of existing [foundational] YANG models (e.g., IETF Interface,

etc.) • YANG modeling and module definition• Utilize GitHub as a YANG repository

– This allowed other interested members to view the IEEE 802.1 YANG models (which are draft at this time)

– The standardized models will also be deposited in GitHub, in the relevant directories

Page 3: IEEE 802.1Q Bridging and Connectivity Fault Management ... · IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness (mholness@ciena.com),

3

IEEE 802.1 Bridging (802.1Qcp) Project• The current IEEE 802.1Q Bridging YANG modules are defined as part of

802.1Qcp-2018 (which is now standardized)• The scope of the Bridge types currently modeled are

– Two-Port MAC Relay– Customer VLAN Bridges– Provider Bridges

Page 4: IEEE 802.1Q Bridging and Connectivity Fault Management ... · IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness (mholness@ciena.com),

4

IEEE 802.1Q Bridging and CFM YANG Object Hierarchy

IETF System Management

IETF Interface Management IETF Routing 802.1Q Bridge

PAE System

...

IP

IS-IS

OSPF

...

...

PAE

Bridge Port

TPMR

Customer VLAN Bridge

Provider Bridge

CFM

Maintenance Domain

Maintenance Association

CFM Stack

Default MD Level

Maintenance Group

MEP

Page 5: IEEE 802.1Q Bridging and Connectivity Fault Management ... · IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness (mholness@ciena.com),

5

IEEE 802.1Q UML Representation of Generic Bridge Model

* bridgestring name; // (12.4) r-wmacAddress address; // (12.4) r-wenum type; // r-wint ports; // (12.4) rcounter32 up-time; // (12.4) rint components; // r

componentstring name; // r-wint id; // (12.3) r-wenum type; // (12.3) r-wmacAddress address; // (8.13.8, 13.24) r-wbool traf fic-class-enabled; // (12.4.1.5.1) r-wint ports; // (12.4.1.1.3) rif-ref *bridge-port // rstruct capabilities // (12.4.1.5.2) r

name*

filtering-databaseint aging-time; // (12.7, 8.8.3) r-wint size; // (12.7) rint static-entries; // (12.7, 8.8.1) rint dynamic-entries; // (12.7, 8.8.1) rint static-vlan-registration-entries; // (12.7, 8.8.2) rint dynamic-vlan-registration-entries; // (12.7, 8.8.5) rint mac-address-registration-entries; // (12.7, 8.8.4) r

database-id, address, vid*database-id, vid*

permanent-databaseint size; // (12.7.6) rint static-entries; // (12.7.6) rint static-vlan-registration-entries; // (12.7.6) r

database-id, address, vid*

bridge-vlanint version; // (12.10.1.3) rint max-vids; // (12.10.1.3) rbool override-default-pvid; // (12.10.1.3) rstuct protocol-template; // (12.10.1.7) rint max-msti; // (12.10.1.7) r

vlan-idint vid; // (12.10.2) r-wstring name; // (12.10.2) r-wif-ref *untagged-ports; // (8.8.2, 12.10.2.1.3) rif-ref *egress-ports; // (8.8.10, 12.10.2.1.3) r

protocol-group-databasestring frame-format-type; // (12.10.1.7) r-wstruct frame-format; // (12.10.1.7) r-wint protocol-group-id; // (6.12.2) r-w

vid*vids*

vid-to-fid-allocationint *vids; // (12.10.3) r-wint fid; // (12.10.3) r-wenum allocation-type; // (12.10.3) r

0 .. 1

vlan-registration-entriesint database-id; // (12.7.7) r-wint vid; // (12.7.7) r-wenum entry-type; // (12.7.7) r-w

filtering-entriesint database-id; // (12.7.7) r-wmacAddress address; // (12.7.7) r-wint vid; // (12.7.7) r-wenum entry-type; // (12.7.7) r-wenum status; // r

filtering-entriesint database-id; // (12.7.7) r-wmacAddress address; // (12.7.7) r-wint vid; // (12.7.7) r-wenum status; // r

port-mapif-ref port-number; // (8.8.1) r-wstruct map; // (8.8.1) r-w

port-mapif-ref port-number; // (8.8.1) r-wstruct map; // (8.8.1) r-w

port-mapif-ref port-number; // (8.8.1) r-wstruct map; // (8.8.1) r-w

port-number* port-number*port-number*

bridge-mstint *mstid; // (12.12.1) r-w

fid-to-mstid-allocationint *fids; // (12.12.2) r-wint mstid; // (12.12.2) r-w

fid*

• The various bridge types (i.e., Two-Port MAC Relay, Customer VLAN Bridge, and Provider Bridge) are derivatives of this generic 802.1Q Bridge model

• It is an objective that this generic Bridge model can gracefully accommodate even more complex Bridges (e.g., Provider Backbone Bridges, etc.)

Page 6: IEEE 802.1Q Bridging and Connectivity Fault Management ... · IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness (mholness@ciena.com),

6

IEEE 802.1Q UML Representation of Bridging Port Model

ietf-interfacesname*

vid-translationsint local-vid; // (12.10.1.8, 6.9) r-wint relay-vid; // (12.10.1.8, 6.9) r-w

egress-vid-translationsint relay-vid; // (12.10.1.9, 6.9) r-wint local-vid; // (12.10.1.9, 6.9) r-w

local-vid*

interfacesstring name; // r-wstring description; // r-wif-type type; // r-wbool enabled; // r-wenum link-up-down-trap-enable; // r-wenum admin-status; // renum oper-status; // rdate-time last-change; // rint32 if-index; // raddress phys-address; // rif-ref * higher-layer-if; // rif-ref * lower-layer-if; // rguage64 speed; // r

bridge-portstring component-name; // r-wint pvid; // (12.10.1) r-wint default-priority; // (12.6.2) r-wstruct priority-regeneration-table; // (12.6.2, 6.9.4) r-wenum pcp-selection; // (12.6.2, 6.9.3) r-wstruct pcp-decoding-table; // (12.6.2) r-wstruct pcp-encoding-table; // (12.6.2) r-wbool use-dei; // (12.6.2, 6.9.3) r-wbool drop-encoding; // (12.6.2, 8.6.6) r-wenum service-access-priority-selection; // (12.6.2, 6.13) r-wstruct service-access-priority; // (12.6.2, 6.13.1) r-wstruct traf fic-class-table; // (12.6.3, 8.6.6) r-wenum acceptable-frame; // (12.10.1.3, 6.9) r-wbool enable-ingress-filtering; // (12.10.1.4, 8.6.2) r-wbool restricted-vlan-registration; // (12.10.1.6, 11.2.3.2.3) r-wbool enable-vid-translation-table; // (12.10.1.8, 6.9) r-wbool enable-egress-vid-translation-table; // (12.10.1.9, 6.9) r-wstruct protocol-group-vid-set; // (12.10.1.7) r-wint admin-point-to-point; // (6.8.2, 12.4.2) r-wbool protocol-based-vlan-classificat ion; // (5.4.1.2) rint max-vid-set-entries; // (12.10.1.1.3) rint port-number; // (13.25, 12.4.2, 12.3.i) renum port-type; // (12.4.2.1) rmacAddress address; // (12.4.2) rbits capabilities; // (12.4.2, 12.10.1.1.3) rbits type-capabilities; // (12.4.2) rbool external; // (12.4.2) rbool oper-point-to-point; // (12.4.2) r

relay-vid*

statisticsdate-time discontinuity-time; // rcounter64 in-octets, in-unicast-pkts, in-broadcast-pkts, in-multicast-pkts; // rcounter64 in-discards, in-errors, in-unknown-protos, ; // rcounter64 out-octets, out-unicast-pkts, out-broadcast-pkts, out-multicast-pkts; // rcounter64 out-discards, out-errors; // r

bridge-port-statisticscounter64 delay-exceeded-discards, mtu-exceeded-discards; // (12.6.1.1.3) rcounter64 frame-rx, octets-rx, frame-tx, octets-tx; // (12.6.1.1.3) rcounter64 discard-inbound, forward-outbound, discard-lack-of-buffers; // (12.6.1.1.3) rcounter64 discard-transit-delay-exceeded, discard-on-error; // (12.6.1.1.3) rcounter64 discard-on-ingress-filtering; // (12.6.1.1.3) r

• The Bridge Port model is an augmentation (e.g., extension) of the IETF Interface Management Model (RFC 7223)

• Each Bridge Port is associated with one Interface, and in most situations, each Bridge Port is associated with a different interface

• However, there are situations in which multiple Bridge Ports are associated with the same interface– For example, several Bridge Ports can each correspond

one-to-one with several Ethernet private lines (or SDH virtual circuits) but all on the same Interface

– Or multiple Bridge 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 Bridge Port

Page 7: IEEE 802.1Q Bridging and Connectivity Fault Management ... · IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness (mholness@ciena.com),

7

IEEE 802.1 Bridging Port ModelsModel -1• Bridge Ports are assigned to an Interface that is

independent of the underlying MAC (or service)• Bridge Port data and MAC data attributes are

associated with separate Interfaces

Model -2• Bridge Ports are underlying MAC (or service) share the

same Interface• Bridge Port and MAC specific data attributes associated

with same Interface

Ethernet

Bridge Port

MAC

Y

A

BRIDGE COMPONENT

Bridge Ports

{Y,Z}

Bridge Port

MAC

Y

Ethernet

Bridge Port

MAC

Z

B

BRIDGE COMPONENT

Bridge Ports

{A,B}

Ethernet

Bridge Port

MAC

Z

Ethernet

Ethernet Ethernet

Bridge Bridge Ethernet Ethernet

NOTE: The Bridge Port YANG model (used by the 802.1Q Bridge) has been developed to accommodate both Model-1 and Model-2

Page 8: IEEE 802.1Q Bridging and Connectivity Fault Management ... · IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness (mholness@ciena.com),

8

IEEE 802.1Q Bridging YANG Modules

• The following YANG module structure is definedModule Description

ieee802-types.yang General type definitions used within IEEE 802 standards

ieee802-dot1q-types.yang General type definitions used by IEEE 802.1Q standard

ieee802-dot1q-bridge.yang Generic IEEE 802.1Q Bridge YANG module, which is augmented by specific 802.1Q bridges.

ieee802-dot1q-tpmr.yang Two-Port MAC Relay YANG module, which augments the generic bridge YANG module.

ieee802-dot1q-vlan-bridge.yang Customer VLAN Bridge YANG module, which augments the generic bridge YANG module.

ieee802-got1q-pb.yang Provider Bridges YANG module, which augments the generic bridge YANG module.

• Generic bridge model that can be augmented by specific Bridges

Page 9: IEEE 802.1Q Bridging and Connectivity Fault Management ... · IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness (mholness@ciena.com),

9

IEEE 802.1Q CFM YANG Model Design Objectives

• The CFM YANG model– References the YANG Bridge modules introduced by 802.1Qcp– Structured such that it can be gracefully extended to support G.8052.1

modeling• ITU-T Q14/15 developing a G.8052.1 YANG data modeling for Y.1731 Ethernet OAM

– Structured such that it decouples 802.1Q Bridge specifics from the base/generic CFM model

• BBF that would like to apply CFM to their devices

– Structured such that it can be augmented to meet the MEF members needs

Page 10: IEEE 802.1Q Bridging and Connectivity Fault Management ... · IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness (mholness@ciena.com),

10

IEEE 802.1Q UML Representation of Base CFM Model

• It is an objective that this base CFM model can be gracefully extended (i.e., augmented) to support IEEE 802.1Q Bridge compliant devices and non-IEEE 802.1Q devices

* bridgestring name; // (12.4) r-wmacAddress address; // (12.4) r-wenum type; // r-wint ports; // (12.4) rcounter32 up-time; // (12.4) rint components; // r

name*

ma-id*maintenance-groupstring maintenance-group-id // r-wstring md-id; // r-wstring ma-id; // r-wstruct service-id; // (12.14.5.3.2) r-wref bridge-id; // r-wref component-name // r-w

default-md-levelint bridge-id; // r-wint component-id; // r-wstruct primary-service-id; // (12.14.3.1.2) r-wstruct associated-service-ids; // (12.14.3.1.3) r-wbool md-status; // (12.14.3.1.3) r-wint md-level; // (12.14.3.1.3) r-wenum mhf-creation; // (12.14.3.1.3) r-wenum id-permission; // (12.14.3.1.3) r-w

config-errorif-ref port; // r-wstruct service-id; // (12.14.4.1.2) r-wenum error-type; // (12.14.4.1.3) r

cfm-stackif-ref port; // r-wint md-level; // (12.14.2.1.2) r-wenum direct ion; // (12.14.4.1.2) r-wstruct service-id; // r-wstring maintenance-group-id; // rint mep-id; // (12.14.2.1.3) rint md-id; // rint ma-id; // raddress mac-address; // (12.14.2.1.3) renum maintenance-point; // (12.14.2.1.3) r

componentstring name; // r-wint id; // (12.3) r-wenum type; // (12.3) r-wmacAddress address; // (8.13.8, 13.24) r-wbool traf fic-class-enabled; // (12.4.1.5.1) r-wint ports; // (12.4.1.1.3) rif-ref *bridge-port // rstruct capabilities // (12.4.1.5.2) r

mep

mep-id*

maintenance-domainstring md-id; // r-wchoice md-name; // (21.6.5.3) r-wint md-level; // (12.14.5.1.3) r-wenum mhf-creation; // (12.14.5.1.3) r-wenum id-permission; // (12.14.5.1.3) r-waddress fault-alarm-transmission; // (12.14.5.1.3) r-w

maintenance-associationstring ma-id; // r-wchoice ma-name; // (21.6.5.4) r-wenum ccm-interval; // (12.14.6.1.3) r-waddress fault-alarm-transmission; // (12.14.5.1.3) r-wenum mhf-creation; // (12.14.5.1.3) r-wenum id-permission; // (12.14.3.1.3) r-w

mep-id*

maintenance-association-mepint mep-id; //(12.14.6.1.3) r-w

Page 11: IEEE 802.1Q Bridging and Connectivity Fault Management ... · IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness (mholness@ciena.com),

11

IEEE 802.1Qcx YANG Update

• The following YANG module structure is defined

Module Description

ieee802-dot1q-cfm-type.yang Generic type definitions used by the CFM YANG modules.

ieee802-dot1q-cfm.yang Base/common CFM YANG module. This module can be used and extended by both IEEE 802.1Q Bridge compliant and non-Bridge compliant devices.

ieee802-dot1q-cfm-bridge.yang Defines IEEE 802.1Q Bridge specific extensions of the base CFM YANG module.

ieee802-dot1q-cfm-alarm.yang Defines common CFM specific alarms.

Page 12: IEEE 802.1Q Bridging and Connectivity Fault Management ... · IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness (mholness@ciena.com),

12

IEEE 802.1 YANG and GitHub

• Draft YANG modules generated by active projects are deposited in the respective STANDARD IEEE DRAFTSWORKINGGROUP (e.g., 802.1) PROJECT (e.g., Qcx) folder

• Published (i.e., standardized with approved PARs) YANG modules are deposited in the respective STANDARD IEEE PUBLISHEDWORKING GROUP (e.g., 802.1) folder

• YANG modules that are intended for IEEE work, but does not yet have a Project Authorization Request (PAR) are deposited in the EXPERIMENTAL IEEE WORKINGGROUP folder

YANG

Standard

Tools

Vendor

IEEE

IETF

ODP

Open Conf ig

Experimental

IETF

ODP

IEEE

802.3

802.1

Draft

RFC

Drafts

1588

ETSI

MEF

BBF

Published

1588

802.1

802.11

802.3

802

ABcu

Qcr

Qcw

Qcx

1588

802.1

802.11

802.3

802

Page 13: IEEE 802.1Q Bridging and Connectivity Fault Management ... · IEEE 802.1Q Bridging and Connectivity Fault Management YANG Data Model Introduction Marc Holness (mholness@ciena.com),