This YANG module defines a model for Ethernet Segments. Copyright (c) 2022 IETF Trust and the persons identified as authors of ...
Version: 2022-09-20
module ietf-ethernet-segment { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-ethernet-segment"; prefix l2vpn-es; import ietf-yang-types { prefix yang; reference "RFC 6991: Common YANG Data Types (see Section 3)"; } organization "IETF OPSA (Operations and Management Area) Working Group"; contact "WG Web: <https://datatracker.ietf.org/wg/opsawg/> WG List: <mailto:opsawg@ietf.org> Editor: Mohamed Boucadair <mailto:mohamed.boucadair@orange.com> Editor: Samier Barguil <mailto:samier.barguilgiraldo.ext@telefonica.com> Author: Oscar Gonzalez de Dios <mailto:oscar.gonzalezdedios@telefonica.com>"; description "This YANG module defines a model for Ethernet Segments. Copyright (c) 2022 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Revised BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info). This version of this YANG module is part of RFC 9291; see the RFC itself for full legal notices."; revision "2022-09-20" { description "Initial version."; reference "RFC 9291: A YANG Network Data Model for Layer 2 VPNs."; } typedef es-ref { type leafref { path "/l2vpn-es:ethernet-segments/l2vpn-es:ethernet-segment/l2vpn-es:name"; } description "Defines a type for referencing an Ethernet segment in other modules."; } identity esi-type { description "T (Ethernet Segment Identifier (ESI) Type) is a 1-octet field (most significant octet) that specifies the format of the remaining 9 octets (ESI Value)."; reference "RFC 7432: BGP MPLS-Based Ethernet VPN, Section 5"; } identity esi-type-0-operator { base esi-type; description "This type indicates an arbitrary 9-octet ESI value, which is managed and configured by the operator."; } identity esi-type-1-lacp { base esi-type; description "When the IEEE 802.1AX Link Aggregation Control Protocol (LACP) is used between the Provider Edge (PE) and Customer Edge (CE) devices, this ESI type indicates an auto-generated ESI value determined from LACP."; reference "IEEE Std 802.1AX: Link Aggregation"; } identity esi-type-2-bridge { base esi-type; description "The ESI value is auto-generated and determined based on the Layer 2 bridge protocol."; } identity esi-type-3-mac { base esi-type; description "This type indicates a MAC-based ESI value that can be auto-generated or configured by the operator."; } identity esi-type-4-router-id { base esi-type; description "This type indicates a Router ID ESI value that can be auto-generated or configured by the operator."; } identity esi-type-5-asn { base esi-type; description "This type indicates an Autonomous System (AS)-based ESI value that can be auto-generated or configured by the operator."; } identity df-election-methods { description "Base Identity Designated Forwarder (DF) election method."; } identity default-7432 { base df-election-methods; description "The default DF election method. The default procedure for DF election at the granularity of <ES,VLAN> for VLAN-based service or <ES, VLAN bundle> for VLAN-(aware) bundle service is referred to as 'service carving'."; reference "RFC 7432: BGP MPLS-Based Ethernet VPN, Section 8.5"; } identity highest-random-weight { base df-election-methods; description "The highest random weight (HRW) method."; reference "RFC 8584: Framework for Ethernet VPN Designated Forwarder Election Extensibility, Section 3"; } identity preference { base df-election-methods; description "The preference-based method. PEs are assigned with preferences to become the DF in the Ethernet Segment (ES). The exact preference-based algorithm (e.g., lowest-preference algorithm or highest-preference algorithm) to use is signaled at the control plane."; } identity es-redundancy-mode { description "Base identity for ES redundancy modes."; } identity single-active { base es-redundancy-mode; description "Indicates Single-Active redundancy mode for a given ES."; reference "RFC 7432: BGP MPLS-Based Ethernet VPN, Section 14.1.1"; } identity all-active { base es-redundancy-mode; description "Indicates All-Active redundancy mode for a given ES."; reference "RFC 7432: BGP MPLS-Based Ethernet VPN, Section 14.1.2"; } container ethernet-segments { description "Top container for the Ethernet Segment Identifier (ESI)."; list ethernet-segment { key "name"; description "Top list for ESIs."; leaf name { type string; description "Includes the name of the Ethernet Segment (ES) that is used to unambiguously identify an ES."; } leaf esi-type { type identityref { base esi-type; } default "esi-type-0-operator"; description "T-(ESI Type) is a 1-octet field (most significant octet) that specifies the format of the remaining 9 octets (ESI Value)."; reference "RFC 7432: BGP MPLS-Based Ethernet VPN, Section 5"; } choice esi-choice { description "Ethernet segment choice between several types. For ESI Type 0: The esi is directly configured by the operator. For ESI Type 1: The auto-mode must be used. For ESI Type 2: The auto-mode must be used. For ESI Type 3: The directly-assigned or auto-mode must be used. For ESI Type 4: The directly-assigned or auto-mode must be used. For ESI Type 5: The directly-assigned or auto-mode must be used."; case directly-assigned { description "Explicitly assign an ESI value."; leaf ethernet-segment-identifier { type yang:hex-string { length "29"; } description "10-octet ESI."; } } // case directly-assigned case auto-assigned { description "The ESI is auto-assigned."; container esi-auto { description "The ESI is auto-assigned."; choice auto-mode { description "Indicates the auto-assignment mode. ESI can be automatically assigned either with or without indicating a pool from which the ESI should be taken. For both cases, the server will auto-assign an ESI value 'auto-assigned-ESI' and use that value operationally."; leaf esi-pool-name { type string; description "The auto-assignment will be made from the pool identified by the ESI-pool-name."; } leaf auto { type empty; description "Indicates an ESI is fully auto-assigned."; } } // choice auto-mode leaf auto-ethernet-segment-identifier { type yang:hex-string { length "29"; } config false; description "The value of the auto-assigned ESI."; } } // container esi-auto } // case auto-assigned } // choice esi-choice leaf esi-redundancy-mode { type identityref { base es-redundancy-mode; } description "Indicates the ES redundancy mode."; reference "RFC 7432: BGP MPLS-Based Ethernet VPN, Section 14.1"; } container df-election { description "Top container for the DF election method properties."; leaf df-election-method { type identityref { base df-election-methods; } default "default-7432"; description "Specifies the DF election method."; reference "RFC 8584: Framework for Ethernet VPN Designated Forwarder Election Extensibility"; } leaf revertive { when "derived-from-or-self(../df-election-method, 'preference')" { description "The revertive value is only applicable to the preference method."; } type boolean; default "true"; description "The default behavior is that the DF election procedure is triggered upon PE failures following configured preference values. Such a mode is called the 'revertive' mode. This mode may not be suitable in some scenarios where, e.g., an operator may want to maintain the new DF even if the former DF recovers. Such a mode is called the 'non-revertive' mode. The non-revertive mode can be configured by setting 'revertive' leaf to 'false'."; reference "RFC 8584: Framework for Ethernet VPN Designated Forwarder Election Extensibility, Section 1.3.2"; } leaf election-wait-time { type uint32; units "seconds"; default "3"; description "Designated Forwarder Wait timer."; reference "RFC 8584: Framework for Ethernet VPN Designated Forwarder Election Extensibility"; } } // container df-election leaf split-horizon-filtering { type boolean; description "Controls split-horizon filtering. It is enabled when set to 'true'. In order to achieve split-horizon filtering, every Broadcast, Unknown Unicast, or Multicast (BUM) packet originating from a non-DF PE is encapsulated with an MPLS label that identifies the origin ES."; reference "RFC 7432: BGP MPLS-Based Ethernet VPN, Section 8.3"; } container pbb { description "Provider Backbone Bridging (PBB) parameters ."; reference "IEEE 802.1ah: Provider Backbone Bridges"; leaf backbone-src-mac { type yang:mac-address; description "The PEs connected to the same CE must share the same Provider Backbone (B-MAC) address in All-Active mode."; reference "RFC 7623: Provider Backbone Bridging Combined with Ethernet VPN (PBB-EVPN), Section 6.2.1.1"; } } // container pbb list member { key "ne-id interface-id"; description "Includes a list of ES members."; leaf ne-id { type string; description "An identifier of the network element where the ES is configured within a service provider network."; } leaf interface-id { type string; description "Identifier of a node interface."; } } // list member } // list ethernet-segment } // container ethernet-segments } // module ietf-ethernet-segment
© 2023 YumaWorks, Inc. All rights reserved.