ieee802-dot1q-types

Common types used within dot1Q-bridge modules. Copyright (C) IEEE (2023). This version of this YANG module is part of IEEE Std...

  • Version: 2023-10-26

    ieee802-dot1q-types@2023-10-26


    
      module ieee802-dot1q-types {
    
        yang-version 1.1;
    
        namespace
          'urn:ieee:std:802.1Q:yang:ieee802-dot1q-types';
    
        prefix dot1q-types;
    
        import ietf-yang-types {
          prefix yang;
        }
    
        organization "IEEE 802.1 Working Group";
    
        contact
          "WG-URL: http://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
        445 Hoes Lane
        Piscataway, NJ 08854
        USA
        
        E-mail: stds-802-1-chairs@ieee.org";
    
        description
          "Common types used within dot1Q-bridge modules.
        
        Copyright (C) IEEE (2023).
        
        This version of this YANG module is part of IEEE Std 802.1Q; see the
        standard itself for full legal notices.";
    
        revision "2023-10-26" {
          description
            "Published as part of IEEE Std 802.1Qcj-2023.  This revision adds
          the isid-type.
          
          The following reference statement identifies each referenced IEEE
          Standard as updated by applicable amendments.";
          reference
            "IEEE Std 802.1Q Bridges and Bridged Networks:
            IEEE Std 802.1Q-2022, IEEE Std 802.1Qcz-2023, IEEE Std 802.1Qcw-2023,
            IEEE Std 802.1Qcj-2023.
            IEEE Std 802 Overview and Architecture: IEEE Std 802-2014.";
    
        }
    
        revision "2023-10-22" {
          description
            "Published as part of IEEE Std 802.1Qcw-2023.
          
          The following reference statement identifies each referenced IEEE
          Standard as updated by applicable amendments.";
          reference
            "IEEE Std 802.1Q Bridges and Bridged Networks:
            IEEE Std 802.1Q-2022, IEEE Std 802.1Qcz-2023, IEEE Std 802.1Qcw-2023.
            IEEE Std 802 Overview and Architecture:
            IEEE Std 802-2014.";
    
        }
    
        revision "2023-07-03" {
          description
            "Published as part of IEEE Std 802.1Qcz-2023.";
          reference
            "IEEE Std 802.1Qcz-2023, Bridges and Bridged Networks - Congestion
            Isolation.";
    
        }
    
        revision "2022-10-29" {
          description
            "Published as part of IEEE Std 802.1Q-2022.";
          reference
            "IEEE Std 802.1Q-2022, Bridges and Bridged Networks.";
    
        }
    
        revision "2020-06-04" {
          description
            "Published as part of IEEE Std 802.1Qcx-2020.";
          reference
            "IEEE Std 802.1Qcx-2020, Bridges and Bridged Networks - YANG Data
            Model for Connectivity Fault Management.";
    
        }
    
        revision "2018-03-07" {
          description
            "Published as part of IEEE Std 802.1Q-2018.";
          reference
            "IEEE Std 802.1Q-2018, Bridges and Bridged Networks.";
    
        }
    
    
        identity dot1q-vlan-type {
          description
            "Base identity from which all 802.1Q VLAN tag types are derived.";
        }
    
        identity c-vlan {
          base dot1q-vlan-type;
          description
            "An 802.1Q Customer VLAN, using the 81-00 EtherType.";
          reference
            "5.5 of IEEE Std 802.1Q";
    
        }
    
        identity s-vlan {
          base dot1q-vlan-type;
          description
            "An 802.1Q Service VLAN, using the 88-A8 EtherType originally
          introduced in 802.1ad, and incorporated into 802.1Q (2011)";
          reference
            "5.6 of IEEE Std 802.1Q";
    
        }
    
        identity transmission-selection-algorithm {
          description
            "Specify the transmission selection algorithms of IEEE Std 802.1Q
          Table 8-6";
        }
    
        identity strict-priority {
          base transmission-selection-algorithm;
          description
            "Indicates the strict priority transmission selection algorithm.";
          reference
            "Table 8-6 of IEEE Std 802.1Q";
    
        }
    
        identity credit-based-shaper {
          base transmission-selection-algorithm;
          description
            "Indicates the credit-based shaper transmission selection algorithm.";
          reference
            "Table 8-6 of IEEE Std 802.1Q";
    
        }
    
        identity enhanced-transmission-selection {
          base transmission-selection-algorithm;
          description
            "Indicates the enhanced transmission selection algorithm.";
          reference
            "Table 8-6 of IEEE Std 802.1Q";
    
        }
    
        identity asynchronous-traffic-shaping {
          base transmission-selection-algorithm;
          description
            "Indicates the asynchronous transmission selection algorithm.";
          reference
            "Table 8-6 of IEEE Std 802.1Q";
    
        }
    
        identity vendor-specific {
          base transmission-selection-algorithm;
          description
            "Indicates a vendor specific transmission selection algorithm.";
          reference
            "Table 8-6 of IEEE Std 802.1Q";
    
        }
    
        identity type-of-operation {
          description
            "Represents the operation type (name).";
        }
    
        typedef name-type {
          type string {
            length "0..32";
          }
          description
            "A text string of up to 32 characters, of locally determined
          significance.";
        }
    
        typedef port-number-type {
          type uint32 {
            range "1..4095";
          }
          description
            "The port number of the Bridge port for which this entry contains
          Bridge management information.";
        }
    
        typedef priority-type {
          type uint8 {
            range "0..7";
          }
          description
            "A range of priorities from 0 to 7 (inclusive). The Priority Code
          Point (PCP) is a 3-bit field that refers to the class of service
          associated with an 802.1Q VLAN tagged frame. The field specifies a
          priority value between 0 and 7, these values can be used by quality of
          service (QoS) to prioritize different classes of traffic.";
        }
    
        typedef num-traffic-class-type {
          type uint8 {
            range "1..8";
          }
          description
            "The number of traffic classes supported or participating in a
          particular feature. There are between 1 and 8 supported traffic
          classes defined by IEEE Std 802.1Q.";
        }
    
        typedef vid-range-type {
          type string {
            pattern
              "([1-9]"
                + "[0-9]{0,3}"
                + "(-[1-9][0-9]{0,3})?"
                + "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)";
          }
          description
            "A list of VLAN IDs, or non overlapping VLAN ranges, in ascending
          order, between 1 and 4094.
          
          This type is used to match an ordered list of VLAN IDs, or contiguous
          ranges of VLAN IDs. Valid VLAN IDs must be in the range 1 to 4094, and
          included in the list in non overlapping ascending order.
          
          For example: 1,10-100,250,500-1000";
        }
    
        typedef vlanid {
          type uint16 {
            range "1..4094";
          }
          description
            "The vlanid type uniquely identifies a VLAN. This is the 12-bit
          VLAN-ID used in the VLAN Tag header. The range is defined by the
          referenced specification. This type is in the value set and its
          semantics equivalent to the VlanId textual convention of the SMIv2.";
        }
    
        typedef vlan-index-type {
          type uint32 {
            range "1..4094 | 4096..4294967295";
          }
          description
            "A value used to index per-VLAN tables. Values of 0 and 4095 are not
          permitted. The range of valid VLAN indices. If the value is greater
          than 4095, then it represents a VLAN with scope local to the
          particular agent, i.e., one without a global VLAN-ID assigned to it.
          Such VLANs are outside the scope of IEEE 802.1Q, but it is convenient
          to be able to manage them in the same way using this YANG module.";
          reference
            "9.6 of IEEE Std 802.1Q";
    
        }
    
        typedef mstid-type {
          type uint32 {
            range "1..4094";
          }
          description
            "In an MSTP Bridge, an MSTID, i.e., a value used to identify a
          spanning tree (or MST) instance";
          reference
            "13.8 of IEEE Std 802.1Q";
    
        }
    
        typedef pcp-selection-type {
          type enumeration {
            enum "8P0D" {
              value 0;
              description
                "8 priorities, 0 drop eligible";
            }
            enum "7P1D" {
              value 1;
              description
                "7 priorities, 1 drop eligible";
            }
            enum "6P2D" {
              value 2;
              description
                "6 priorities, 2 drop eligible";
            }
            enum "5P3D" {
              value 3;
              description
                "5 priorities, 3 drop eligible";
            }
          }
          description
            "Priority Code Point selection types.";
          reference
            "12.6.2.5.3, 6.9.3 of IEEE Std 802.1Q";
    
        }
    
        typedef protocol-frame-format-type {
          type enumeration {
            enum "Ethernet" {
              value 0;
              description
                "Ethernet frame format";
            }
            enum "rfc1042" {
              value 1;
              description
                "RFC 1042 frame format";
            }
            enum "snap8021H" {
              value 2;
              description
                "SNAP 802.1H frame format";
            }
            enum "snapOther" {
              value 3;
              description
                "Other SNAP frame format";
            }
            enum "llcOther" {
              value 4;
              description
                "Other LLC frame format";
            }
          }
          description
            "A value representing the frame format to be matched.";
          reference
            "12.10.1.7.1 of IEEE Std 802.1Q";
    
        }
    
        typedef ethertype-type {
          type string {
            pattern
              "[0-9a-fA-F]{2}-[0-9a-fA-F]{2}";
          }
          description
            "The EtherType value represented in the canonical order defined by
          IEEE 802. The canonical representation uses uppercase characters.";
          reference
            "9.2 of IEEE Std 802";
    
        }
    
        typedef dot1q-tag-type {
          type identityref {
            base dot1q-vlan-type;
          }
          description
            "Identifies a specific 802.1Q tag type";
          reference
            "9.5 IEEE Std 802.1Q";
    
        }
    
        typedef traffic-class-type {
          type uint8 {
            range "0..7";
          }
          description
            "This is the numerical value associated with a traffic class in a
          Bridge. Larger values are associated with higher priority traffic
          classes.";
          reference
            "3.273 of IEEE Std 802.1Q";
    
        }
    
        typedef isid-type {
          type uint32 {
            range "1|255..16777214";
          }
          description
            "The i-sid type represents a Backbone Service Instance Identifier
          (I-SID). This is the 24-bit I-SID field used in the I-TAG TCI of a
          Provider Backbone Bridging frame. The values 0, 2-254, and 16777215
          are reserved for future standardization. The value 255 is dedicated
          to use by the SPB protocol.";
          reference
            "3.108, 9.7 of IEEE Std 802.1Q-2022";
    
        }
      }  // module ieee802-dot1q-types
    

© 2023 YumaWorks, Inc. All rights reserved.