netconfcentral logo

ieee802-dot1q-congestion-isolation

HTML

ieee802-dot1q-congestion-isolation@2020-08-10



  module ieee802-dot1q-congestion-isolation {

    yang-version 1.1;

    namespace
      "urn:ietf:params:xml:ns:yang:ieee802-dot1q-congestion-isolation";

    prefix dot1q-ci;

    import ietf-interfaces {
      prefix if;
    }
    import ietf-yang-types {
      prefix yang;
    }
    import ieee802-types {
      prefix ieee;
    }
    import ieee802-dot1q-stream-filters-gates {
      prefix sfsg;
    }
    import ieee802-dot1q-types {
      prefix dot1q-types;
    }
    import ieee802-dot1q-bridge {
      prefix dot1q;
    }
    import ietf-inet-types {
      prefix inet;
    }

    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
      "This YANG module augments the configuration and operational state
data for interfaces for the Congestion Isolation.";

    revision "2020-08-10" {
      description
        "Initial revision from P802.1Qcz.";
      reference
        "IEEE Std 802.1Qcz-202X";

    }


    feature congestion-isolation {
      description
        "Feature Congestion Indication";
    }

    typedef abs-traffic-class-plus-one-type {
      type enumeration {
        enum "monitored-queue-tc-1" {
          value 1;
        }
        enum "monitored-queue-tc-2" {
          value 2;
        }
        enum "monitored-queue-tc-3" {
          value 3;
        }
        enum "monitored-queue-tc-4" {
          value 4;
        }
        enum "monitored-queue-tc-5" {
          value 5;
        }
        enum "monitored-queue-tc-6" {
          value 6;
        }
        enum "monitored-queue-tc-7" {
          value 7;
        }
        enum "monitored-queue-tc-8" {
          value 8;
        }
        enum "congesting-queue-tc-1" {
          value -1;
        }
        enum "congesting-queue-tc-2" {
          value -2;
        }
        enum "congesting-queue-tc-3" {
          value -3;
        }
        enum "congesting-queue-tc-4" {
          value -4;
        }
        enum "congesting-queue-tc-5" {
          value -5;
        }
        enum "congesting-queue-tc-6" {
          value -6;
        }
        enum "congesting-queue-tc-7" {
          value -7;
        }
        enum "congesting-queue-tc-8" {
          value -8;
        }
        enum
          "not-participating-congestion-isolation" {
          value 0;
        }
      }
      description
        "Specifies a value that can be translated to the numeric value
of the traffic class to be used as either the congesting or
monitored queue. The absolute value of the enumerated value is
the value of the taffic class plus 1. A value of 0 indicates the
traffic class is not participating in congestion isolation. For
example, the enumerated value congesting-queue-tc-5 specifies
that traffic class 4 is used as the congesting queue.";
    }

    augment /dot1q:bridges/dot1q:bridge/dot1q:component/sfsg:stream-filters/sfsg:stream-filter-instance-table/sfsg:stream-handle-spec {
      if-feature congestion-isolation;
      description
        "Dot1q Congestion Isolation";
      container congestion-isolation {
        leaf null-handle {
          type empty;
          description
            "The stream_handle specification represents the value when
no stream_handle is provided.";
        }
      }  // container congestion-isolation
    }

    augment /if:interfaces/if:interface/dot1q:bridge-port {
      if-feature congestion-isolation;
      container cip-port-parameters {
        leaf cip-mac-address {
          type ieee:mac-address;
          config false;
          description
            "The source MAC address of a CIM, belonging to the system
transmitting the CIM";
          reference
            "98.4.1.2.1 of IEEE Std 802.1Qcz-202X";

        }

        leaf cip-ipv4-address {
          type inet:ipv4-address;
          config false;
          description
            "The source IPv4 address of a CIM, belonging to the system
transmitting the IPv4 layer-3 CIM.";
          reference
            "98.4.1.2.2 of IEEE Std 802.1Qcz-202X";

        }

        leaf cip-ipv6-address {
          type inet:ipv6-address;
          config false;
          description
            "The source IPv6 address of a CIM, belonging to the system
transmitting the IPv6 layer-3 CIM.";
          reference
            "98.4.1.2.3 of IEEE Std 802.1Qcz-202X";

        }

        leaf cip-cim-port {
          type inet:port-number;
          config false;
          description
            "The UDP port number to be used by a peer transmitting a
layer-3 CIM. This value will be sent to the peer via LLDP in
the CI TLV";
          reference
            "98.4.1.2.4 of IEEE Std 802.1Qcz-202X";

        }

        list queue-map {
          key "priority";
          description
            "An array of integers, one entry for each traffic class, 0
through 7, specifying a value that can be translated to the
numeric value of the traffic class to be used as either the
congesting traffic class or the monitored traffic class for
the traffic class specified by the index. The integers range
in value from -8 to 8. A value of 0 in the table specifies
that the traffic class is not participating in congestion
isolation. A positive number specifies a traffic class for a
monitored queue that is one less than the value (e.g. a
value of 5 represents traffic class 4). A negative number
specifies a traffic class for a congesting queue that is one
less than the absolute value (e.g. a value of -4 represents
traffic class 3).";
          reference
            "98.4.1.2.5 of IEEE Std 802.1Qcz-202X";

          leaf priority {
            type dot1q-types:priority-type;
            description
              "There are eight values of Priority that map to an
absolute value that is a traffic class plus one, or the
value 0 which indicates the traffic class is not used by
congestion isolation.";
            reference
              "98.4.1.2.5 of IEEE Std 802.1Qcz-202X";

          }

          leaf abs-traffic-class-plus-one {
            type abs-traffic-class-plus-one-type;
            description
              "A value that can be translated to represent a traffic
class or an indication of non-use. A value of 0 specifies
that the traffic class is not participating in congestion
isolation. A positive number specifies a traffic class for
a monitored queue, and a negative number specifies a
traffic class for a congesting queue.";
            reference
              "98.4.1.2.5 of IEEE Std 802.1Qcz-202X";

          }
        }  // list queue-map

        leaf min-header-octets {
          type uint16;
          description
            "The minimum number of octets to include in the Encapsulated
MSDU field of each CIM generated. The default value is 48.";
          reference
            "98.4.1.2.6 of IEEE Std 802.1Qcz-202X";

        }

        leaf max-cim-tx {
          type uint16;
          description
            "The maximum number of times a CIM PDU will be sent for a
congesting flow. The default value is 3.";
          reference
            "98.4.1.2.7 of IEEE Std 802.1Qcz-202X";

        }
      }  // container cip-port-parameters
    }

    augment /dot1q:bridges/dot1q:bridge/dot1q:component {
      if-feature congestion-isolation;
      leaf ci-master-enable {
        type boolean;
        description
          "Specifies whether CI is enabled in this system.";
        reference
          "98.4.1.1.1 of IEEE Std 802.1Qcz-202X";

      }

      leaf ci-cim-tx-priority {
        type dot1q-types:priority-type;
        config false;
        description
          "Specifies the priority value to be used when transmitting
CIMs from the system. The default is 6.";
        reference
          "98.4.1.1.2 of IEEE Std 802.1Qcz-202X";

      }

      leaf ci-max-flow-life {
        type uint32;
        config false;
        description
          "Specifies the maximum number of centiseconds that a
congesting flow entry, created by the receipt of a CIM, can
remain in the CI stream table after the congesting queue has
transitioned from congested back to non-congested. The default
value is 100.";
        reference
          "98.4.1.1.3 of IEEE Std 802.1Qcz-202X";

      }

      container ci-peers {
        list ci-peer-table {
          key "reception-port";
          description
            "Contains entries for each participating immediate peer and
provides the information needed to generate a CIM for
transmission to the peer.";
          reference
            "98.3.6 of IEEE Std 802.1Qcz-202X";

          leaf reception-port {
            type dot1q-types:port-number-type;
            description
              "The port number where the immediate congestion isolaton
participating peer is attached.";
            reference
              "98.3.6 of IEEE Std 802.1Qcz-202X";

          }

          leaf cim-type {
            type enumeration {
              enum "l2" {
                value 0;
              }
              enum "ipv4" {
                value 1;
              }
              enum "ipv6" {
                value 2;
              }
            }
            description
              "The format of the CIM expected by the peer.";
            reference
              "98.3.6 of IEEE Std 802.1Qcz-202X";

          }

          leaf peer-mac-address {
            type ieee:mac-address;
            description
              "The destination MAC address to use when generating a CIM
for the peer.";
            reference
              "98.3.6 of IEEE Std 802.1Qcz-202X";

          }

          leaf peer-ipv4-address {
            type inet:ipv4-address;
            description
              "The destination IPv4 address to use when generating an
IPv4 layer-3 CIM for the peer.";
            reference
              "98.3.6 of IEEE Std 802.1Qcz-202X";

          }

          leaf peer-ipv6-address {
            type inet:ipv6-address;
            description
              "The destination IPv6 address to use when generating an
IPv6 layer-3 CIM for the peer.";
            reference
              "98.3.6 of IEEE Std 802.1Qcz-202X";

          }

          leaf peer-udp-port {
            type inet:port-number;
            description
              "The UDP port number to use when generating a layer-3 CIM
for the peer.";
            reference
              "98.3.6 of IEEE Std 802.1Qcz-202X";

          }

          leaf peer-cim-encap-len {
            type uint16 {
              range "0..512";
            }
            description
              "The number of octets from the MSDU to include in the
Encapsulated MSDU field of the CIM PDU";
            reference
              "98.3.6 of IEEE Std 802.1Qcz-202X";

          }
        }  // list ci-peer-table

        leaf max-ci-peer-entries {
          type uint32;
          config false;
          description
            "Specifies the maximum number of CI peer entries that can be
stored";
          reference
            "98.3.6 of IEEE Std 802.1Qcz-202X";

        }
      }  // container ci-peers

      container ci-streams {
        list ci-stream-table {
          key "stream-handle-id";
          config false;
          description
            "Contains entries for each congesting flow and has a 1:1
mapping to entries in the IEEE Std 802.1CB Stream Identity
table.";
          reference
            "98.3.7 of IEEE Std 802.1Qcz-202X";

          leaf stream-handle-id {
            type uint32;
            config false;
            description
              "There is a unique stream handle ID for each congesting
flow stored in the CI stream table";
            reference
              "98.4.1.5.1 of IEEE Std 802.1Qcz-202X";

          }

          leaf cim-count {
            type uint16;
            config false;
            description
              "Contains a count of the number of CIMs sent for a
congesting flow";
            reference
              "98.4.1.5.2 of IEEE Std 802.1Qcz-202X";

          }

          leaf create-time {
            type yang:timeticks;
            config false;
            description
              "The time (SysUpTime, IETF RFC 3418) at which the CI
stream table entry was created";
            reference
              "98.4.1.5.3 of IEEE Std 802.1Qcz-202X";

          }

          leaf create-mask {
            type bits {
              bit local-create {
                position 0;
                description
                  "CI Stream entry was created because congestion was
detected locally by the AQM.";
              }
              bit cim-create {
                position 1;
                description
                  "CI Stream entry was created because of the receipt of
a CIM.";
              }
            }
            config false;
            description
              "Indicates the reason for creating or updating the CI
stream table entry. The LSB indicates that the entry was
created or updated because the AQM determined that a
forwarded frame is part of a congesting flow. The MSB
indicates that the entry was created or updated because of
the receipt of a CIM.";
            reference
              "98.4.1.5.4 of IEEE Std 802.1Qcz-202X";

          }
        }  // list ci-stream-table

        leaf queue-key {
          type uint16;
          config false;
          description
            "Represents the unique queue identity of a congesting queue
at an egress port that a congesting flow is traversing. The
key is calculated by the product of the congesting traffic
class number plus one and the port number.";
          reference
            "98.4.1.5.5 of IEEE Std 802.1Qcz-202X";

        }

        leaf dest-mac-address {
          type ieee:mac-address;
          config false;
          description
            "The destination MAC addresss of a congesting flow.";
          reference
            "98.4.1.5.6 of IEEE Std 802.1Qcz-202X";

        }

        leaf source-mac-address {
          type ieee:mac-address;
          config false;
          description
            "The source MAC addresss of a congesting flow.";
          reference
            "98.4.1.5.7 of IEEE Std 802.1Qcz-202X";

        }

        leaf vid {
          type dot1q-types:vlan-index-type;
          config false;
          description
            "The VID of a congesting flow.";
          reference
            "98.4.1.5.8 of IEEE Std 802.1Qcz-202X";

        }

        leaf msdu {
          type yang:hex-string;
          config false;
          description
            "The intial octets of the MSDU of a congesting flow. The
number of octets to keep in the CI Stream Table entry is
specified by the peer CIM encapsulation length of the CI
peer table";
          reference
            "98.4.1.5.9 of IEEE Std 802.1Qcz-202X";

        }
      }  // container ci-streams

      leaf max-ci-stream-entries {
        type uint32;
        config false;
        description
          "Specifies the maximum number of CI stream entries that can be
stored";
        reference
          "98.4.1.5 of IEEE Std 802.1Qcz-202X";

      }
    }
  }  // module ieee802-dot1q-congestion-isolation

Summary

  
  
Organization Institute of Electrical and Electronics Engineers
  
Module ieee802-dot1q-congestion-isolation
Version 2020-08-10
File ieee802-dot1q-congestion-isolation.yang
  
Prefix dot1q-ci
Namespace urn:ietf:params:xml:ns:yang:ieee802-dot1q-congestion-isolation
  
Cooked /cookedmodules/ieee802-dot1q-congestion-isolation/2020-08-10
YANG /src/ieee802-dot1q-congestion-isolation@2020-08-10.yang
XSD /xsd/ieee802-dot1q-congestion-isolation@2020-08-10.xsd
  
Abstract This YANG module augments the configuration and operational state data for interfaces for the Congestion Isolation.
  
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

 
This YANG module augments the configuration and operational state
data for interfaces for the Congestion Isolation.

Typedefs

Typedef Base type Abstract
abs-traffic-class-plus-one-type enumeration Specifies a value that can be translated to the numeric value of the traffic class to be used as either the congesting or monitored queue. The absolute value of the enumerated value is the value of the taffic class plus 1. A value of 0 indicates the traff...