netconfcentral logo

ieee802-dot1q-ats@2017-12-20



  module ieee802-dot1q-ats {

    yang-version 1;

    namespace
      'urn:ieee:std:802.1Q:yang:ieee802-dot1q-ats';

    prefix ats;

    import ieee802-dot1q-bridge {
      prefix dot1q;
    }
    import ieee802-dot1q-stream-filters-gates {
      prefix sfsg;
    }

    organization
      "Institute of Electrical and Electronics Engineers";

    contact
      "WG-URL: http://grouper.ieee.org/groups/802/1/
    WG-EMail: stds-802-1@ieee.org
    Contact: IEEE 802.1 Working Group Chair
    Postal: C/O IEEE 802.1 Working Group
            IEEE Standards Association
            445 Hoes Lane
            P.O. Box 1331
            Piscataway
            NJ 08855-1331
            USA
    
    E-mail: STDS-802-1-L@LISTSERV.IEEE.ORG";

    description
      "This module provides management of 802.1Q bridge components that
    support Asynchronous Traffic Shaping (ATS). This experimental YANG
    module is an individual contribution, does not represent a
    formally sanctioned YANG module of IEEE. Therefore, this YANG
    module will change in incompatible ways from its current revision
    to the formally published YANG module for IEEE Std 802.1Q.";

    revision "2017-12-20" {
      description
        "Initial module for Stream Filter and Stream Gate extensions for
      ATS, as specified in IEEE 802.1Qcr.";
      reference
        "IEEE 802.1Qcr";

    }


    typedef shaper-ref-type {
      type leafref {
        path "/dot1q:bridges/dot1q:bridge/dot1q:component/ats:shapers/ats:shaper-instance-table/ats:shaper-instance-id";
      }
      description
        "This type is used to refer to an ATS shaper instance.";
    }

    typedef shaper-group-ref-type {
      type leafref {
        path "/dot1q:bridges/dot1q:bridge/dot1q:component/ats:shaper-groups/ats:shaper-group-instance-table/ats:shaper-group-instance-id";
      }
      description
        "This type is used to refer to an ATS shaper group instance.";
    }

    augment /dot1q:bridges/dot1q:bridge/dot1q:component/sfsg:stream-filters/sfsg:stream-filter-instance-table/sfsg:filter-specification-list/sfsg:filter-specification {
      description
        "Augment the Bridge component Stream Filter specification type
      by a ATS shaper filter specification type.";
      leaf shaper-ref {
        type shaper-ref-type;
        mandatory true;
        description
          "A reference to the ATS shaper associated with this filter.";
      }
    }

    augment /dot1q:bridges/dot1q:bridge/dot1q:component {
      description
        "Augment the Bridge component by
       a) ATS Shapers
       b) ATS Shaper Groups";
      container shapers {
        description
          "This container comprises all ATS shaper instance related
        nodes.";
        list shaper-instance-table {
          key "shaper-instance-id";
          description
            "Each table row in the Shaper Instance Table comprises a set
          of parameters that defines a singe ATS shaper instance, as
          detailed in 8.6.5.2.3.";
          reference
            "IEEE 802.1Qcr:
              Clause 12.34.4";

          leaf shaper-instance-id {
            type uint32;
            mandatory true;
            description
              "An integer table index that allows the shaper instance to
            be referenced from Stream Filter Instance Table entries.";
            reference
              "IEEE 802.1Qcr:
                Clause 12.33.4.1";

          }

          leaf committed-information-rate {
            type uint64;
            mandatory true;
            description
              "The committed information rate parameter of the shaper
            instance, in bits per second (8.6.5.2.3).";
            reference
              "IEEE 802.1Qcr:
                Clause 8.6.5.2.3";

          }

          leaf committed-burst-size {
            type uint32;
            mandatory true;
            description
              "The committed burst size parameter of the shaper
            instance, in bits (8.6.5.2.3).";
            reference
              "IEEE 802.1Qcr:
                Clause 8.6.5.2.3";

          }

          leaf shaper-group-ref {
            type shaper-group-ref-type;
            mandatory true;
            description
              "The ShaperGroupInstanceID parameter identifies the shaper
            group (12.32.5) that is associated with the shaper
            instance. Multiple shaper instance can be associated to
            one shaper group, as detailed in 8.6.5.2.3.";
            reference
              "IEEE 802.1Qcr:
                Clause 12.33.4.4";

          }
        }  // list shaper-instance-table

        leaf max-shaper-instances {
          type uint32;
          config false;
          description
            "The maximum number of shaper instances supported by this
          Bridge component.";
          reference
            "IEEE 802.1Qcr:
              Clause 12.33.1.3";

        }
      }  // container shapers

      container shaper-groups {
        description
          "This container comprises all ATS shaper group related nodes.";
        list shaper-group-instance-table {
          key "shaper-group-instance-id";
          description
            "Each table row in the Shaper Group Instance Table comprises
          a set of parameters that defines a singe ATS shaper group
          instance (8.6.5.2.3), as detailed in Table 12-38.";
          reference
            "IEEE 802.1Qcr:
              Clause 12.34.5";

          leaf shaper-group-instance-id {
            type uint32;
            description
              "An integer table index that allows the shaper group
            instance to be referenced from Shaper Instance Table
            entries.";
            reference
              "IEEE 802.1Qcr:
                Clause 12.33.5.1";

          }

          leaf max-residence-time {
            type uint32;
            mandatory true;
            description
              "The maximum residence time parameter of the shaper group,
            in nanoseconds.";
            reference
              "IEEE 802.1Qcr:
                Clause 8.6.5.2.3";

          }
        }  // list shaper-group-instance-table

        leaf max-shaper-group-instances {
          type uint32;
          config false;
          description
            "The maximum number of shaper group instances supported by
          this Bridge component.";
          reference
            "IEEE 802.1Qcr:
              Clause 12.33.1.4";

        }
      }  // container shaper-groups
    }
  }  // module ieee802-dot1q-ats