Common types used within 802.1AX Link Aggregation modules. Copyright (C) IEEE (2025). This version of this YANG module is part...
Version: 2025-03-11
module ieee802-dot1ax-types { yang-version 1.1; namespace "urn:ieee:std:802.1AX:yang:ieee802-dot1ax-types"; prefix dot1ax-types; organization "IEEE 802.1 Working Group"; contact "WG-URL: http://www.ieee802.org/1/ WG-Email: stds-802-1-l@ieee.org Contact: IEEE 802.1 Working Group Chair Postal: C/O IEEE 802.1 Working Group IEEE Standards Association 45 Hoes Lane Piscataway, NJ 08854 USA E-mail: stds-802-1-chairs@ieee.org"; description "Common types used within 802.1AX Link Aggregation modules. Copyright (C) IEEE (2025). This version of this YANG module is part of IEEE Std 802.1AX; see the standard itself for full legal notices."; revision "2025-03-11" { description "Published as part of IEEE Std 802.1AXdz-202y. The following reference statement identifies each referenced IEEE Standard as updated by applicable amendments."; reference "IEEE Std 802.1AX-2020 Link Aggregation: IEEE Std 802.1AXdz-202y."; } feature cscd { description "Conversation Sensitive Collection and Distribution (CSCD) is supported."; reference "5.3.2, 6.6 of IEEE Std 802.1AX"; } feature dwc { description "The Discard Wrong Conversation option in CSCD is supported."; reference "5.3.2, 6.6 of IEEE Std 802.1AX"; } feature sid-map { description "The Service ID to Conversation ID map is supported for use by distribution algorithms."; } feature c-vid-dist-alg { description "Supports distribution based on C-VIDs."; } feature s-vid-dist-alg { description "Supports distribution based on S-VIDs."; } feature i-sid-dist-alg { description "Supports distribution based on I-SIDs."; } feature te-sid-dist-alg { description "Supports distribution based on TE-SIDs."; } feature flow-hash-dist-alg { description "Supports distribution based on Flow Hash."; } feature basic-link-maps { description "Pre-defined admin-conv-link-map configurations to distribute packets on either one or two active links, with any remaining links available as standby."; } identity distribution-algorithm { description "Each distribution algorithm is identified by a sequence of 4 octets, structured as shown in Figure 8-1. Distribution algorithm identifiers are used by network administrators to select between algorithms and, in Conversation-sensitive LACP and (if supported) Distributed Resilient Network Interconnect (DRNI) operation, to check whether partners and neighbors are using the same algorithm. This identity is intended to serve as base identity, not to be directly referenced. Vendor specific, combination (ex: multi-layer), and other customized distribution algorithms can be created as their own identities in their own YANG files, derived from this imported base type. When the identity description specifies a 4 octet value, this value is used for cscd purposes, and included in LACPDUs. Otherwise the identity is used purely for local selection of a distribution algorithm, and the unspecified distribution algorithm is used for cscd purposes."; reference "8.1, 8.2 of IEEE Std 802.1AX"; } identity unspecified { base distribution-algorithm; description "The 'Unspecified distribution algorithm' identifier has been reserved for use when the algorithm is unknown (or is not advertised). The algorithm identifier is 00-80-C2-00."; reference "Table 8-1 of IEEE Std 802.1AX"; } identity c-vids-nomap { base distribution-algorithm; description "Distribution based on C-VIDs (8.2.1). No Service ID mapping table is used. The algorithm identifier is 00-80-C2-01."; reference "Table 8-1 of IEEE Std 802.1AX"; } identity c-vids-map { base distribution-algorithm; description "Distribution based on C-VIDs (8.2.1). A Service ID mapping table is used. The algorithm identifier is 00-80-C2-81."; reference "Table 8-1 of IEEE Std 802.1AX"; } identity s-vids-nomap { base distribution-algorithm; description "Distribution based on S-VIDs (8.2.2). No Service ID mapping table is used. The algorithm identifier is 00-80-C2-02."; reference "Table 8-1 of IEEE Std 802.1AX"; } identity s-vids-map { base distribution-algorithm; description "Distribution based on S-VIDs (8.2.2). A Service ID mapping table is used. The algorithm identifier is 00-80-C2-82."; reference "Table 8-1 of IEEE Std 802.1AX"; } identity i-sids-nomap { base distribution-algorithm; description "Distribution based on I-SIDs (8.2.3). No Service ID mapping table is used. The algorithm identifier is 00-80-C2-03."; reference "Table 8-1 of IEEE Std 802.1AX"; } identity i-sids-map { base distribution-algorithm; description "Distribution based on I-SIDs (8.2.3). A Service ID mapping table is used. The algorithm identifier is 00-80-C2-83."; reference "Table 8-1 of IEEE Std 802.1AX"; } identity te-sids-nomap { base distribution-algorithm; description "Distribution based on TE-SIDs (8.2.4). No Service ID mapping table is used. The algorithm identifier is 00-80-C2-04."; reference "Table 8-1 of IEEE Std 802.1AX"; } identity te-sids-map { base distribution-algorithm; description "Distribution based on TE-SIDs (8.2.4). A Service ID mapping table is used. The algorithm identifier is 00-80-C2-84."; reference "Table 8-1 of IEEE Std 802.1AX"; } identity flow-hash-nomap { base distribution-algorithm; description "Distribution based on Flow Hash (8.2.5). No Service ID mapping table is used. The algorithm identifier is 00-80-C2-05."; reference "Table 8-1 of IEEE Std 802.1AX"; } identity flow-hash-map { base distribution-algorithm; description "Distribution based on Flow Hash (8.2.5). A Service ID mapping table is used. The algorithm identifier is 00-80-C2-85."; reference "Table 8-1 of IEEE Std 802.1AX"; } identity link-map-patterns { description "Base identity for patterns filling the admin-conv-link-map. This identity is intended to serve as base identity, not to be directly referenced. Use of the identity allows vendors to augment the module with vendor specified patterns,"; reference "7.3.1.1.34, 6.6.3.1 of IEEE Std 802.1AX"; } identity one-plus-n { base link-map-patterns; description "Provides active/standby behavior with one active link and up to 63 standby links. All packets are mapped to whichever link that is active in the aggregation has the lowest link number. If that link fails, all packets are mapped to the lowest link number of the remaining links that are active in the aggregation. The map consists of an identical entry for each CID, with a list of numbers from 1 to 64. Supports any number of links in the aggregation (up to 64) with link numbers between 1 and 64. Any links in the aggregation with a link number greater than 64 are not used."; } identity two-plus-n { base link-map-patterns; description "Provides basic load-balancing on two active links with up to 62 standby links. All packets with an even CID value are mapped to the link with the lowest link number in the aggregation, and all packets with an odd CID value are mapped to the link with the highest link number in the aggregation. The map consists of an identical entry for each even CID containing a list of numbers from 1 to 64, and an identical entry for each odd CID containing a list of numbers from 64 to 1. Supports any number of links in the aggregation (up to 64) with link numbers between 1 and 64. Any links in the aggregation with a link number greater than 64 are not used."; } identity service-map-patterns { description "Base identity for patterns filling the admin-conv-service-map. This identity is intended to serve as base identity, not to be directly referenced. Use of the identity allows vendors to augment the module with vendor specified patterns,"; reference "7.3.1.1.36, 6.6.3.1 of IEEE Std 802.1AX"; } typedef lacp-state { type bits { bit lacp-activity { position 1; description "Provides administrative control over when LACPDUs are transmitted. A value of '1' indicates Active mode where LACPDUs are sent regardless of partner's lacp-activity value. A value of '0' indicates Passive mode where LACPDUs are sent only when the partner's lacp-activity value is '1' (partner is in Active mode)."; } bit lacp-timeout { position 2; description "Provides administrative control over the frequency of received LACPDUs. A value of '1' indicates Short Timeout (so partner uses frequent transmission). A value of '0' indicates Long Timeout (so partner can use infrequent transmission)."; } bit aggregation { position 3; description "Provides administrative control over whether this Aggregation Port can be in a LAG with more than one member. A value of '1' indicates the port can be aggregated with other ports. A value of '0' indicates the port can only be a solitary link."; } bit synchronization { position 4; description "The Synchronization state of the MUX state machine."; } bit collecting { position 5; description "The Collecting state of the MUX state machine."; } bit distributing { position 6; description "The Distributing state of the MUX state machine."; } bit defaulted { position 7; description "Indicates the port is using the partner-admin values to select an Aggregator."; } bit expired { position 8; description "The Expired state of the Receive state machine."; } } description "LACP state values as transmitted in LACPDUs. Administrative control over the values of lacp-activity, lacp-timeout, aggregation, and (in partner-admin-lacp-state) synchronization is allowed. The remaining bits are read-only."; reference "6.4.1, 6.4.2.3 of IEEE Std 802.1AX"; } typedef bridge-reserved-addresses { type enumeration { enum "nearest-customer-bridge" { value 0; description "Reserved MAC address 01-C2-80-00-00"; } enum "slow-protocols-multicast" { value 1; description "Reserved MAC address 01-C2-80-00-02"; } enum "nearest-non-tpmr-bridge" { value 2; description "Reserved MAC address 01-C2-80-00-03"; } enum "nearest-bridge" { value 3; description "Reserved MAC address 01-C2-80-00-0E"; } } description "Group addresses that are filtered by some or all types of bridges in order to limit the scope of propagation of PDUs in a Bridged Network."; reference "8.6.3 of IEEE Std 802.1Q"; } grouping link-map { description "Specifies the contents of the admin-conv-link-map."; reference "7.3.1.1.34, 6.6.3.1 of IEEE Std 802.1AX"; choice method { default "cid-list"; description "Provides two ways to specify the map contents."; leaf pattern { type identityref { base link-map-patterns; } description "Use a predefined pattern to fill the map."; } list cid-list { key "cid"; description "Data structure to map a Conversation Identifier (CID) to a Link Number. Each entry consists of a CID and a list of link numbers that can potentially be selected for that CID. An empty list of link-numbers means that no links are selected for the CID."; leaf cid { type uint16 { range "0..4095"; } description "Port Conversation Identifier"; } leaf-list link-numbers { type uint16; description "List of zero or more Link Numbers that can potentially be selected for distribution of frames with this CID."; } } // list cid-list } // choice method } // grouping link-map grouping service-map { description "Specifies the contents of the admin-conv-service-map."; reference "7.3.1.1.36, 6.6.3.1 of IEEE Std 802.1AX"; choice method { default "cid-list"; description "Provides two ways to specify the map contents."; leaf pattern { type identityref { base service-map-patterns; } description "Use a predefined pattern to fill the map."; } list cid-list { key "cid"; description "Data structure to map service identifiers to conversation identifiers. Each entry consists of a Conversation ID (CID) and a list of zero or more Service Identifiers (SIDs) that map to it. An empty list of SIDs means there are no SIDs that map to this CID, and results in the same behavior as not having an entry for this CID."; leaf cid { type uint16 { range "0..4095"; } description "Port Conversation Identifier"; } leaf-list service-ids { type uint32; description "List of zero or more SIDs that map to the CID."; } } // list cid-list } // choice method } // grouping service-map } // module ieee802-dot1ax-types
© 2024 YumaWorks, Inc. All rights reserved.