ieee802-dot1ax-types

Common types used within 802.1AX Link Aggregation modules. Copyright (C) IEEE (2025). This version of this YANG module is part...

  • Version: 2025-05-22

    ieee802-dot1ax-types@2025-05-22


    
      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-05-22" {
          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 link carrying
    all traffic and any other links in the LAG are standby.
    All packets are mapped to the lowest link number that is
    active in the aggregation. This is updated whenever a link
    becomes active or inactive in the aggregation. The pattern
    supports any number of links with link numbers between 1
    and 4095. Any links in the aggregation with a link number
    greater than 4095 are not used.
    The map consists of an identical entry for each CID, with
    a list of numbers from 1 to 4095, followed by the number 0.
    The MD5 digest calculated for this map is
    0xd2dc4cf241740239408945bd87391286 (hex) or
    0txM8kF0AjlAiUW9hzkShg== (base64).";
        }
    
        identity two-plus-n {
          base link-map-patterns;
          description
            "Provides basic load-balancing on two links and any other
    links in the aggregation are standby. All packets with an
    even CID value are mapped to the link with the lowest link
    number that is active in the aggregation, and all packets
    with an odd CID value are mapped to the link with the
    highest link number that is active in the aggregation.
    This is updated whenever a link becomes active or inactive
    in the aggregation. The pattern supports any number of
    links with link numbers between 1 and 4095. Any links in
    the aggregation with a link number greater than 4095 are
    not used.
    The map consists of an identical entry for each even CID
    containing a list of numbers from 1 to 4095, followed by
    the number 0, and an identical entry for each odd CID
    containing a list of numbers from 4095 to 1, followed by
    the number 0.
    The MD5 digest calculated for this map is
    0xfe8fec2effe6cd1cbd78c2a968aa5d20 (hex) or
    /o/sLv/mzRy9eMKpaKpdIA== (base64).";
        }
    
        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";
    
        }
      }  // module ieee802-dot1ax-types
    

© 2024 YumaWorks, Inc. All rights reserved.