netconfcentral logo

ieee802-dot1q-lldp-dcbx-tlv

HTML

ieee802-dot1q-lldp-dcbx-tlv@2020-08-10



  module ieee802-dot1q-lldp-dcbx-tlv {

    yang-version 1.1;

    namespace
      'urn:ieee:std:802.1Q:yang:ieee802-dot1q-lldp-dcbx-tlv';

    prefix lldp-dcbx-tlv;

    import ieee802-dot1q-types {
      prefix dot1q-types;
    }
    import ieee802-dot1ab-lldp {
      prefix lldp;
    }

    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";

    revision "2020-08-10" {
      description
        "LLDP extension tlv for DCBX";
      reference
        "IEEE Std 802.1Q-2018 Annex D";

    }


    identity application-priority-selector {
      base 
      description
        "Specify the application priority selection of IEEE Std
      802.1Q-2018 Clause D.11.2.3, Table D-8";
    }

    identity default {
      base application-priority-selector;
      description
        "Indicates the default application selection of the Application
      Priority Table field of the Application Priority TLV specified
      in IEEE Std 802.1Q-2018 Clause D.2.11. Signalled as value 1.";
    }

    identity pri-tcp-sctp {
      base application-priority-selector;
      description
        "Indicates TCP or SCTP application selection of the Application
      Priority Table field of the Application Priority TLV specified
      in IEEE Std 802.1Q-2018 Clause D.2.11. Signalled as value 2.";
    }

    identity pri-udp-dccp {
      base application-priority-selector;
      description
        "Indicates UDP or DCCP application selection of the Application
      Priority Table field of the Application Priority TLV specified
      in IEEE Std 802.1Q-2018 Clause D.2.11. Signalled as value 3.";
    }

    identity pri-tcp-sctp-udp-dccp {
      base application-priority-selector;
      description
        "Indicates TCP, SCTP, UDP or DCCP application selection of the
      Application Priority Table field of the Application Priority TLV
      specified in IEEE Std 802.1Q-2018 Clause D.2.11. Signalled as
      value 4.";
    }

    identity pri-dscp {
      base application-priority-selector;
      description
        "Indicates DSCP application selection of the Application
      Priority Table field of the Application Priority TLV specified
      in IEEE Std 802.1Q-2018 Clause D.2.11. Signalled as value 5.";
    }

    identity application-vlan-selector {
      base 
      description
        "Specify the application vlan selection of IEEE Std 802.1Q-2018
      Clause D.11.14.3, Table D-12";
    }

    identity vlan-pvid-ethertype {
      base application-vlan-selector;
      description
        "Indicates the a PVID or and Ethertype selection of the
      Application VLAN Table field of the Application VLAn TLV
      specified in IEEE Std 802.1Q-2018 Clause D.2.14. Signalled as
      value 1.";
    }

    identity vlan-tcp-sctp {
      base application-vlan-selector;
      description
        "Indicates TCP or SCTP application selection of the Application
      VLAN Table field of the Application VLAN TLV specified in IEEE
      Std 802.1Q-2018 Clause D.2.14. Signalled as value 2.";
    }

    identity vlan-udp-dccp {
      base application-vlan-selector;
      description
        "Indicates UDP or DCCP application selection of the Application
      VLAN Table field of the Application VLAN TLV specified in IEEE
      Std 802.1Q-2018 Clause D.2.14. Signalled as value 3.";
    }

    identity vlan-tcp-sctp-udp-dccp {
      base application-vlan-selector;
      description
        "Indicates TCP, SCTP, UDP or DCCP application selection of the
      Application VLAN Table field of the Application VLAN TLV
      specified in IEEE Std 802.1Q-2018 Clause D.2.14. Signalled as
      value 4.";
    }

    identity vlan-dscp {
      base application-vlan-selector;
      description
        "Indicates DSCP application selection of the Application VLAN
      Table field of the Application VLAN TLV specified in IEEE Std
      802.1Q-2018 Clause D.2.14. Signalled as value 5.";
    }

    grouping ets-configuration-tlv {
      description
        "The Enhanced Transmission Selection configuration TLV";
      reference
        "IEEE Std 802.1Q-2018 Annex D.2.8";

      leaf willing {
        type boolean;
        description
          "True indicates willing to accept configurations from remote
        station";
        reference
          "IEEE Std 802.1Q-2018 Annex D.2.8.3";

      }

      leaf credit-based-shaper {
        type boolean;
        description
          "True indicates station supports the Credit-based Shaper
        transmission selection algorithm";
        reference
          "IEEE Std 802.1Q-2018 Annex D.2.8.4";

      }

      leaf traffic-classes-supported {
        type dot1q-types:num-traffic-class-type;
        description
          "Indicates number of traffic classes supported. The value of 8
        is encoded as 0 in the TLV since 3-bits are used to specify
        the number";
        reference
          "IEEE Std 802.1Q-2018 Annex D.2.8.5";

      }

      list priority-assignment-table {
        key "priority";
        leaf priority {
          type dot1q-types:priority-type;
          description "Indicates priority";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.8.6";

        }

        leaf priority-traffic-class {
          type dot1q-types:traffic-class-type;
          description
            "Indicates mapped traffic class for priority";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.8.6";

        }

        leaf transmission-selection-algorithm {
          type identityref {
            base dot1q-types:transmission-selection-algorithm;
          }
          description
            "Transmission selection algorithm";
          reference
            "IEEE Std 802.1Q-2018 Clause 8.6.8, Table 8-6";

        }
      }  // list priority-assignment-table

      list tc-bandwidth-table {
        key "traffic-class";
        leaf traffic-class {
          type dot1q-types:traffic-class-type;
          description
            "Indicates traffic class";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.8.7";

        }

        leaf percentage-bandwidth {
          type uint8 {
            range "0..100";
          }
          description
            "Percentage configured for the traffic class";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.8.7";

        }
      }  // list tc-bandwidth-table

      list tsa-assignment-table {
        key "tsa-traffic-class";
        leaf tsa-traffic-class {
          type dot1q-types:traffic-class-type;
          description
            "Indicates traffic class";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.8.8";

        }

        leaf transmission-selection-algorithm {
          type identityref {
            base dot1q-types:transmission-selection-algorithm;
          }
          description
            "Transmission selection algorithm";
          reference
            "IEEE Std 802.1Q-2018 Clause 8.6.8, Table 8-6";

        }
      }  // list tsa-assignment-table
    }  // grouping ets-configuration-tlv

    grouping ets-recommendation-tlv {
      description
        "Recommendation of Enhanced Transmission Selection configuration
      TLV";
      reference
        "IEEE Std 802.1Q-2018 Annex D.2.9";

      list priority-assignment-table {
        key "priority";
        leaf priority {
          type dot1q-types:priority-type;
          description "Indicates priority";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.9.3";

        }

        leaf priority-traffic-class {
          type dot1q-types:traffic-class-type;
          description
            "Indicates mapped traffic class for priority";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.9.3";

        }
      }  // list priority-assignment-table

      list tc-bandwidth-table {
        key "traffic-class";
        leaf traffic-class {
          type dot1q-types:traffic-class-type;
          description
            "Indicates traffic class";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.9.4";

        }

        leaf percentage-bandwidth {
          type uint8 {
            range "0..100";
          }
          description
            "Percentage configured for the traffic class";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.9.4";

        }
      }  // list tc-bandwidth-table

      list tsa-assignment-table {
        key "tsa-traffic-class";
        leaf tsa-traffic-class {
          type dot1q-types:traffic-class-type;
          description
            "Indicates traffic class";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.9.5";

        }

        leaf transmission-selection-algorithm {
          type identityref {
            base dot1q-types:transmission-selection-algorithm;
          }
          description
            "Transmission selection algorithm";
          reference
            "IEEE Std 802.1Q-2018 Clause 8.6.8, Table 8-6";

        }
      }  // list tsa-assignment-table
    }  // grouping ets-recommendation-tlv

    grouping pfc-tlv {
      description
        "The Priority-based flow control configuration TLV";
      reference
        "IEEE Std 802.1Q-2018 Annex D.2.10";

      leaf willing {
        type boolean;
        description
          "True indicates willing to accept configurations from remote
        station";
        reference
          "IEEE Std 802.1Q-2018 Annex D.2.10.3";

      }

      leaf macsec-bypass-capable {
        type boolean;
        description
          "True indicates sending station is not capable of bypassing
        MACsec";
        reference
          "IEEE Std 802.1Q-2018 Annex D.2.10.4";

      }

      leaf number-tc-capable {
        type dot1q-types:num-traffic-class-type;
        description
          "Indicates how many traffic classes may simultaneously support
        PFC.";
        reference
          "IEEE Std 802.1Q-2018 Annex D.2.10.5";

      }

      leaf enable {
        type bits {
          bit p0 {
            position 0;
            description
              "1 indicates PFC is enabled on the priority";
          }
          bit p1 {
            position 1;
            description
              "1 indicates PFC is enabled on the priority";
          }
          bit p2 {
            position 2;
            description
              "1 indicates PFC is enabled on the priority";
          }
          bit p3 {
            position 3;
            description
              "1 indicates PFC is enabled on the priority";
          }
          bit p4 {
            position 4;
            description
              "1 indicates PFC is enabled on the priority";
          }
          bit p5 {
            position 5;
            description
              "1 indicates PFC is enabled on the priority";
          }
          bit p6 {
            position 6;
            description
              "1 indicates PFC is enabled on the priority";
          }
          bit p7 {
            position 7;
            description
              "1 indicates PFC is enabled on the priority";
          }
        }
        description
          "PFC enabled per priority";
        reference
          "IEEE Std 802.1Q-2018 Annex D.2.10.6";

      }
    }  // grouping pfc-tlv

    grouping application-priority-tlv {
      description
        "The application priority table TLV";
      reference
        "IEEE Std 802.1Q-2018 Annex D.2.11";

      list application-priority-table {
        key "application-priority";
        leaf application-priority {
          type dot1q-types:priority-type;
          description
            "Priority for which the Protocol ID is being used";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.11.3";

        }

        leaf application-priority-selector {
          type identityref {
            base application-priority-selector;
          }
          description
            "Selector to determine what the Protocol ID means.";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.11.3";

        }

        leaf application-priority-protocol {
          type uint16 {
            range "0..65535";
          }
          description
            "Protocol ID of the type indicated by the selector";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.11.3";

        }
      }  // list application-priority-table
    }  // grouping application-priority-tlv

    grouping application-vlan-tlv {
      description
        "The Application VLAN table TLV";
      reference
        "IEEE Std 802.1Q-2018 Annex D.2.14";

      list application-vlan-table {
        key "application-vlan";
        leaf application-vlan {
          type dot1q-types:vlanid;
          description
            "Vlan for which the Protocol ID is being used";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.14.3";

        }

        leaf application-vlan-selector {
          type identityref {
            base application-vlan-selector;
          }
          description
            "Selector to determine what the Protocol ID means.";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.14.3";

        }

        leaf application-vlan-protocol {
          type uint16 {
            range "0..65535";
          }
          description
            "Protocol ID of the type indicated by the selector";
          reference
            "IEEE Std 802.1Q-2018 Annex D.2.14.3";

        }
      }  // list application-vlan-table
    }  // grouping application-vlan-tlv

    augment /lldp:lldp/lldp:port {
      description
        "Augments port with the dcbx extension tlv";
      leaf tlvs-tx-org-dcbx-enable {
        type bits {
          bit ets-configuration {
            position 0;
            description
              "802.1Q-2018 Annex D2.8";
          }
          bit ets-recommendation {
            position 1;
            description
              "802.1Q-2018 Annex D2.9";
          }
          bit pfc {
            position 2;
            description
              "802.1Q-2018 Annex D2.10";
          }
          bit application-priority {
            position 3;
            description
              "802.1Q-2018 Annex D2.11";
          }
          bit application-vlan {
            position 4;
            description
              "802.1Q-2018 Annex D2.14";
          }
        }
        description
          "Bitmap including the dcbxSet of tlvs from Table D.1 of
        802.1Q-2018";
        reference
          "IEEE Std 802.1Q-2018 Annex D.1";

      }

      container ets-configuration-tlv-extension {
        uses ets-configuration-tlv;
      }  // container ets-configuration-tlv-extension

      container ets-recommendation-tlv-extension {
        uses ets-recommendation-tlv;
      }  // container ets-recommendation-tlv-extension

      container pfc-tlv-extension {
        uses pfc-tlv;
      }  // container pfc-tlv-extension

      container application-priority-tlv-extension {
        uses application-priority-tlv;
      }  // container application-priority-tlv-extension

      container application-vlan-tlv-extension {
        uses application-vlan-tlv;
      }  // container application-vlan-tlv-extension
    }

    augment /lldp:lldp/lldp:port/lldp:remote-systems-data {
      description
        "Augments port remote-systems-data with received dcbx extension
      tlvs";
      container ets-configuration-tlv-extension {
        uses ets-configuration-tlv;
      }  // container ets-configuration-tlv-extension

      container ets-recommendation-tlv-extension {
        uses ets-recommendation-tlv;
      }  // container ets-recommendation-tlv-extension

      container pfc-tlv-extension {
        uses pfc-tlv;
      }  // container pfc-tlv-extension

      container application-priority-tlv-extension {
        uses application-priority-tlv;
      }  // container application-priority-tlv-extension

      container application-vlan-tlv-extension {
        uses application-vlan-tlv;
      }  // container application-vlan-tlv-extension
    }
  }  // module ieee802-dot1q-lldp-dcbx-tlv

Summary

  
  
Organization Institute of Electrical and Electronics Engineers
  
Module ieee802-dot1q-lldp-dcbx-tlv
Version 2020-08-10
File ieee802-dot1q-lldp-dcbx-tlv.yang
  
Prefix lldp-dcbx-tlv
Namespace urn:ieee:std:802.1Q:yang:ieee802-dot1q-lldp-dcbx-tlv
  
Cooked /cookedmodules/ieee802-dot1q-lldp-dcbx-tlv/2020-08-10
YANG /src/ieee802-dot1q-lldp-dcbx-tlv@2020-08-10.yang
XSD /xsd/ieee802-dot1q-lldp-dcbx-tlv@2020-08-10.xsd
  
Abstract IEEE Std 802.1Q extension tlvs for LLDP
  
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

Groupings

Grouping Objects Abstract
application-priority-tlv application-priority-table The application priority table TLV
application-vlan-tlv application-vlan-table The Application VLAN table TLV
ets-configuration-tlv willing credit-based-shaper traffic-classes-supported priority-assignment-table tc-bandwidth-table tsa-assignment-table The Enhanced Transmission Selection configuration TLV
ets-recommendation-tlv priority-assignment-table tc-bandwidth-table tsa-assignment-table Recommendation of Enhanced Transmission Selection configuration TLV
pfc-tlv willing macsec-bypass-capable number-tc-capable enable The Priority-based flow control configuration TLV