ieee802-dot1q-lldp-basic-tlv

IEEE Std 802.1Q extension TLVs for LLDP References in this YANG module to IEEE Std 802.1Q are to IEEE Std 802.1Q-2022 as amende...

  • Version: 2023-07-03

    ieee802-dot1q-lldp-basic-tlv@2023-07-03


    
      module ieee802-dot1q-lldp-basic-tlv {
    
        yang-version 1.1;
    
        namespace
          'urn:ieee:std:802.1Q:yang:ieee802-dot1q-lldp-basic-tlv';
    
        prefix lldp-basic-tlv;
    
        import ieee802-dot1ab-lldp {
          prefix lldp;
        }
        import ieee802-dot1q-types {
          prefix dot1qtypes;
        }
    
        organization
          "Institute of Electrical and Electronics Engineers";
    
        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
          "IEEE Std 802.1Q extension TLVs for LLDP
    
        References in this YANG module to IEEE Std 802.1Q are to IEEE Std 
        802.1Q-2022 as amended by IEEE Std 802.1Qcz-2023.
    
        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-07-03" {
          description
            "LLDP extension TLVs for the basicSet. Published as part of IEEE
          Std 802.1Qcz-2023.";
          reference
            "Annex D of IEEE Std 802.1Q";
    
        }
    
    
        grouping port-vlan-id-tlv {
          description "Port VLAN ID TLV";
          reference
            "D.2.1 of IEEE Std 802.1Q";
    
          leaf port-vlan-id {
            type dot1qtypes:vlanid;
            description
              "Advertise port VLAN Identifier, Send 0 if unknown or unsupported";
            reference
              "D.2.1 of IEEE Std 802.1Q";
    
          }
        }  // grouping port-vlan-id-tlv
    
        grouping port-and-protocol-vlan-id-tlv {
          description
            "Port and Protocol VLAN ID TLV";
          reference
            "D.2.2 of IEEE Std 802.1Q";
    
          uses port-vlan-id-tlv {
            reference
              "D.2.2 of IEEE Std 802.1Q";
    
          }
    
          leaf flags {
            type bits {
              bit
                port-and-protocol-vlan-supported {
                position 1;
                description
                  "1 = supported, 0 = not supported";
              }
              bit
                port-and-protocol-vlan-enabled {
                position 2;
                description
                  "1 = enabled, 0 = not enabled";
              }
            }
            description
              "Port and Protocol VLAN capability and status. Bit positions 0
            and 3-7 are reserved for future standardization";
            reference
              "D.2.2.1 of IEEE Std 802.1Q";
    
          }
        }  // grouping port-and-protocol-vlan-id-tlv
    
        grouping port-vlan-name-tlv {
          description "Port VLAN NAME TLV";
          reference
            "D.2.3 of IEEE Std 802.1Q";
    
          leaf vlan-id {
            type dot1qtypes:vlanid;
            description
              "The VLAN ID associated with the VLAN Name";
            reference
              "D.2.3.2 of IEEE Std 802.1Q";
    
          }
    
          leaf port-vlan-name {
            type string {
              length "0..32";
            }
            description
              "Advertise port VLAN Name, Send 0 length if unknown or
            unsupported";
            reference
              "D.2.3.3 of IEEE Std 802.1Q";
    
          }
        }  // grouping port-vlan-name-tlv
    
        grouping protocol-identity-tlv {
          description "Protocol Identity TLV";
          reference
            "D.2.4 of IEEE Std 802.1Q";
    
          leaf protocol-identity {
            type string {
              length "1..255";
            }
            description
              "Advertise ProtocolIdentity";
            reference
              "D.2.4.3 of IEEE Std 802.1Q";
    
          }
        }  // grouping protocol-identity-tlv
    
        grouping vid-usage-digest-tlv {
          description "VID Usage Digest TLV";
          reference
            "D.2.5 of IEEE Std 802.1Q";
    
          leaf vid-usage-digest {
            type uint32;
            config false;
            description
              "Advertise VID Usage Digest";
            reference
              "D.2.5.1 of IEEE Std 802.1Q";
    
          }
        }  // grouping vid-usage-digest-tlv
    
        grouping management-vid-tlv {
          description "Management VID TLV";
          reference
            "D.2.6 of IEEE Std 802.1Q";
    
          leaf management-vid {
            type dot1qtypes:vlanid;
            description
              "Advertise Management VID";
            reference
              "D.2.6.1 of IEEE Std 802.1Q";
    
          }
        }  // grouping management-vid-tlv
    
        grouping link-aggregation-tlv {
          description "Link Aggregation TLV";
          reference
            "F.2 of IEEE Std 802.1AX-2020";
    
          leaf aggregation-status {
            type bits {
              bit aggregation-capability {
                position 0;
                description
                  "1 = supported, 0 = not supported";
              }
              bit aggregation-status {
                position 1;
                description
                  "1 = currently aggregated, 0 = not currently aggregated";
              }
              bit port-typeLS {
                position 2;
                description
                  "Least Significant Bit of 2 bit port type value";
              }
              bit port-typeMS {
                position 3;
                description
                  "Most Significant Bit of 2 bit port type value";
              }
            }
            description
              "Link Aggregation capability and status. Bit positions 4-7 are
            reserved for future standardization";
            reference
              "F.2.1 of IEEE Std 802.1AX-2020";
    
          }
    
          leaf aggregated-port-id {
            type uint32;
            description
              "Advertise aggregated port identifier";
            reference
              "F.2.2 of IEEE Std 802.1AX-2020";
    
          }
        }  // grouping link-aggregation-tlv
    
        augment /lldp:lldp {
          description
            "Augments lldp with information needed for system level extension
          TLVs";
          container vid-usage-digest-tlv-extension {
            description
              "The VID Usage Digest TLV";
            uses vid-usage-digest-tlv;
          }  // container vid-usage-digest-tlv-extension
    
          container management-vid-tlv-extension {
            description "The Management VID TLV";
            uses management-vid-tlv;
          }  // container management-vid-tlv-extension
        }
    
        augment /lldp:lldp/lldp:port {
          description
            "Augments port with basic extension TLVs";
          leaf tlvs-tx-org-basic-enable {
            type bits {
              bit port-vlan-id {
                position 0;
                description
                  "D.2.1 of IEEE Std 802.1Q";
              }
              bit port-protocol-vlan-id {
                position 1;
                description
                  "D.2.2 of IEEE Std 802.1Q";
              }
              bit vlan-name {
                position 2;
                description
                  "D.2.3 of IEEE Std 802.1Q";
              }
              bit protocol-identity {
                position 3;
                description
                  "D.2.4 of IEEE Std 802.1Q";
              }
              bit vid-user-digest {
                position 4;
                description
                  "D.2.5 of IEEE Std 802.1Q";
              }
              bit management-vid {
                position 5;
                description
                  "D.2.6 of IEEE Std 802.1Q";
              }
              bit link-aggregation {
                position 6;
                description
                  "Annex F of IEEE Std 802.1AX-2020";
              }
            }
            description
              "Bitmap that includes the basicSet of TLVs from Table D-1 of
            IEEE Std 802.1Q";
            reference
              "D.2 of IEEE Std 802.1Q";
    
          }
    
          container port-vlan-id-tlv-extension {
            description "The Port VLAN ID TLV";
            uses port-vlan-id-tlv;
          }  // container port-vlan-id-tlv-extension
    
          container port-and-protocol-vlan-id-extension {
            description
              "The Port and Protocol VLAN ID TLV";
            uses port-and-protocol-vlan-id-tlv;
          }  // container port-and-protocol-vlan-id-extension
    
          container port-vlan-name-tlv-extension {
            description "The Port VLAN Name TLV";
            uses port-vlan-name-tlv;
          }  // container port-vlan-name-tlv-extension
    
          container protocol-identity-tlv-extension {
            description
              "The Protocol Identity TLV";
            uses protocol-identity-tlv;
          }  // container protocol-identity-tlv-extension
    
          container link-aggregation-tlv-extension {
            description
              "The Link Aggregation TLV";
            uses link-aggregation-tlv;
          }  // container link-aggregation-tlv-extension
        }
    
        augment /lldp:lldp/lldp:port/lldp:remote-systems-data {
          description
            "Augments port remote-systems-data with received basic extension
          TLVs";
          container port-vlan-id-tlv-extension {
            description
              "Holds a received Port VLAN ID TLV";
            uses port-vlan-id-tlv;
          }  // container port-vlan-id-tlv-extension
    
          container port-and-protocol-vlan-id-extension {
            description
              "Holds a received Port and Protocol VLAN ID TLV";
            uses port-and-protocol-vlan-id-tlv;
          }  // container port-and-protocol-vlan-id-extension
    
          container port-vlan-name-tlv-extension {
            description
              "Holds a received VLAN Name TLV";
            uses port-vlan-name-tlv;
          }  // container port-vlan-name-tlv-extension
    
          container protocol-identity-tlv-extension {
            description
              "Holds a received Protocol Identity TLV";
            uses protocol-identity-tlv;
          }  // container protocol-identity-tlv-extension
    
          container link-aggregation-tlv-extension {
            description
              "Holds a received Link Aggregation TLV";
            uses link-aggregation-tlv;
          }  // container link-aggregation-tlv-extension
    
          container vid-usage-digest-tlv-extension {
            description
              "Holds a received VID Usage TLV";
            uses vid-usage-digest-tlv;
          }  // container vid-usage-digest-tlv-extension
    
          container management-vid-tlv-extension {
            description
              "Holds a received Management VID TLV";
            uses management-vid-tlv;
          }  // container management-vid-tlv-extension
        }
      }  // module ieee802-dot1q-lldp-basic-tlv
    

© 2023 YumaWorks, Inc. All rights reserved.