ieee802-dot1q-stream-filters-gates

This module provides management of IEEE 802.1Q Bridge components that support Stream Filters and Stream Gates. References in th...

  • Version: 2023-07-03

    ieee802-dot1q-stream-filters-gates@2023-07-03


    
      module ieee802-dot1q-stream-filters-gates {
    
        yang-version 1.1;
    
        namespace
          "urn:ieee:std:802.1Q:yang:ieee802-dot1q-stream-filters-gates";
    
        prefix sfsg;
    
        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
          "This module provides management of IEEE 802.1Q Bridge components
    that support Stream Filters and Stream Gates.
    
    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
            "Published as part of IEEE Std 802.1Qcz-2023.";
          reference
            "IEEE Std 802.1Qcz-2023 - Bridges and Bridged Networks - Amendment:
            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-11-06" {
          description
            "Published as part of IEEE Std 802.1Qcr-2020.";
          reference
            "IEEE Std 802.1Qcr-2020, Bridges and Bridged Networks -
            Asynchronous Traffic Shaping.";
    
        }
    
    
        feature closed-gate-state {
          description
            "The bridge component supports gate state closed.";
          reference
            "IEEE Std 802.1Q";
    
        }
    
        typedef priority-spec-type {
          type enumeration {
            enum "zero" {
              value 0;
              description "Priority 0";
            }
            enum "one" {
              value 1;
              description "Priority 1";
            }
            enum "two" {
              value 2;
              description "Priority 2";
            }
            enum "three" {
              value 3;
              description "Priority 3";
            }
            enum "four" {
              value 4;
              description "Priority 4";
            }
            enum "five" {
              value 5;
              description "Priority 5";
            }
            enum "six" {
              value 6;
              description "Priority 6";
            }
            enum "seven" {
              value 7;
              description "Priority 7";
            }
            enum "wildcard" {
              value 8;
              description "wildcard value";
            }
          }
          description
            "The frame's priority value";
          reference
            "8.6.5.2 of IEEE Std 802.1Q";
    
        }
    
        typedef ipv-spec-type {
          type enumeration {
            enum "zero" {
              value 0;
              description "Priority 0";
            }
            enum "one" {
              value 1;
              description "Priority 1";
            }
            enum "two" {
              value 2;
              description "Priority 2";
            }
            enum "three" {
              value 3;
              description "Priority 3";
            }
            enum "four" {
              value 4;
              description "Priority 4";
            }
            enum "five" {
              value 5;
              description "Priority 5";
            }
            enum "six" {
              value 6;
              description "Priority 6";
            }
            enum "seven" {
              value 7;
              description "Priority 7";
            }
            enum "null" {
              value 8;
              description "null value";
            }
          }
          description
            "An IPV can be either of the following:
      1) The null value. For a frame that passes through the gate, the
         priority value associated with the frame is used to determine
         the frame's traffic class, using the Traffic Class Table as
         specified in 8.6.6.
      2) An internal priority value. For a frame that passes through
         the gate, the IPV is used, in place of the priority value
         associated with the frame, to determine the frame's traffic
         class, using the Traffic Class Table as specified in 8.6.6.";
          reference
            "8.6.5.2 of IEEE Std 802.1Q";
    
        }
    
        typedef gate-state-value-type {
          type enumeration {
            enum "closed" {
              value 0;
              description "Gate closed";
            }
            enum "open" {
              value 1;
              description "Gate open";
            }
          }
          description
            "The gate-state-value-type indicates a gate state, open or closed,
    for the stream gate.";
          reference
            "12.31.3.2.1 of IEEE Std 802.1Q";
    
        }
    
        grouping sfsg-parameters {
          description
            "The grouping of all stream filter and stream gate parameters.";
          container stream-gates {
            description
              "This container encapsulates all nodes related to Stream Gates.";
            list stream-gate-instance-table {
              key "stream-gate-instance-id";
              description
                "Each list entry contains a set of parameters that defines a
    single stream gate (8.6.5.4), as detailed in Table 12-36.
    Entries in the table can be created or removed dynamically in
    implementations that support dynamic configuration of stream
    gates.";
              reference
                "12.31.3 of IEEE Std 802.1Q";
    
              leaf stream-gate-instance-id {
                type uint32;
                description
                  "An integer table index that allows the stream gate to be
    referenced from Stream Filter Instance Table entries.";
                reference
                  "12.31.2.5 of IEEE Std 802.1Q
                  8.6.5.3 of IEEE Std 802.1Q
                  8.6.5.4 of IEEE Std 802.1Q";
    
              }
    
              leaf gate-enable {
                type boolean;
                default "false";
                description
                  "A Boolean variable that indicates whether the operation of
    the state machines is enabled (TRUE) or disabled (FALSE).
    This variable is set by management. The default value of this
    variable is FALSE.";
                reference
                  "8.6.9.4.14 of IEEE Std 802.1Q";
    
              }
    
              leaf admin-gate-states {
                type gate-state-value-type;
                default "open";
                description
                  "The administratively set gate state of this gate.";
                reference
                  "12.31.3.2.1 of IEEE Std 802.1Q
                  8.6.10.4 of IEEE Std 802.1Q";
    
              }
    
              leaf admin-ipv {
                type ipv-spec-type;
                default "null";
                description
                  "The administratively set internal priority value
    specification.";
                reference
                  "12.31.3.3 of IEEE Std 802.1Q
                  8.6.10.6 of IEEE Std 802.1Q
                  8.6.5.4 of IEEE Std 802.1Q";
    
              }
            }  // list stream-gate-instance-table
    
            leaf max-stream-gate-instances {
              type uint32;
              config false;
              description
                "The maximum number of Stream Gate instances supported by this
    Bridge component.";
              reference
                "12.31.1.2 of IEEE Std 802.1Q";
    
            }
          }  // container stream-gates
    
          container stream-filters {
            description
              "This container encapsulates all nodes related to stream filters.";
            reference
              "12.31 of IEEE Std 802.1Q";
    
            list stream-filter-instance-table {
              key "stream-filter-instance-id";
              description
                "Each list entry contains a set of parameters that defines a
    single stream filter (8.6.5.1) with associated maximum SDU size
    filtering (8.6.5.3.1), as detailed in Table 12-35. Entries can
    be created or removed dynamically in implementations that
    support dynamic configuration of stream filters. The value of
    the stream-handle-spec and priority-spec parameters associated
    with a received frame determine which stream filter is selected
    by the frame, and therefore what combination of filtering and
    policing actions is applied to the frame. If the
    stream-handle-spec and priority-spec parameters associated with
    a received frame match more than one stream filter, the stream
    filter that is selected is the one that appears earliest in the
    ordered list. If a received frame's stream-handle-spec and
    priority-spec does not match any of the stream filters in the
    list, the frame is processed as if stream filters and stream
    gates would not be supported.";
              reference
                "12.31.2 of IEEE Std 802.1Q";
    
              leaf stream-filter-instance-id {
                type uint32;
                mandatory true;
                description
                  "An integer index value that determines the place of the
    stream filter in the ordered list of stream filter instances.
    The values are ordered according to their integer value;
    smaller values appear earlier in the ordered list.";
                reference
                  "12.31.2.1 of IEEE Std 802.1Q";
    
              }
    
              choice stream-handle-spec {
                description
                  "The stream_handle specification data type allows either of
    the following to be represented:
    a) A stream_handle value, represented as an integer.
    b) The wildcard value, which matches any frame";
                reference
                  "12.31.2.2 of IEEE Std 802.1Q";
    
                leaf wildcard {
                  type empty;
                  description
                    "The stream handle specification represents a wildcard
    value.";
                }
                leaf stream-handle {
                  type uint32;
                  mandatory true;
                  description
                    "The stream handle specification refers to a
    stream_handle value.";
                }
              }  // choice stream-handle-spec
    
              leaf priority-spec {
                type priority-spec-type;
                mandatory true;
                description
                  "The priority specification data type allows either of the
    following to be represented:
    a) A priority value, represented as an integer.
    b) The wildcard value, which matches any priority.";
                reference
                  "12.31.2.3 of IEEE Std 802.1Q";
    
              }
    
              leaf max-sdu-size {
                type uint32;
                units "octets";
                mandatory true;
                description
                  "The allowed maximum SDU size, in octets. If set to 0, any
    SDU size is accepted.";
                reference
                  "8.6.5.3.1 of IEEE Std 802.1Q";
    
              }
    
              leaf stream-blocked-due-to-oversize-frame-enabled {
                type boolean;
                default "false";
                description
                  "A value of true indicates that
    stream-blocked-due-to-oversize-frame is set to true as soon
    as a frame exceeds max-sdu-size.";
                reference
                  "8.6.5.3.1 of IEEE Std 802.1Q";
    
              }
    
              leaf stream-blocked-due-to-oversize-frame {
                type boolean;
                default "false";
                description
                  "Indicates by value true that frames are permanently
    discarded as a result of an initial frame exceeding
    max-sdu-size. The value of
    stream-blocked-due-to-oversize-frame can be administratively
    reset to false.";
                reference
                  "8.6.5.3.1 of IEEE Std 802.1Q";
    
              }
    
              leaf stream-gate-ref {
                type leafref {
                  path "../../../stream-gates/stream-gate-instance-table/stream-gate-instance-id";
                }
                mandatory true;
                description
                  "This node refers to the stream gate (12.31.3) that is
    associated with the stream filter. The relationship between
    stream filters and stream gates is many to one; a given
    stream filter can be associated with only one stream gate,
    but there can be multiple stream filters associated with a
    given stream gate.";
                reference
                  "12.31.3.1 of IEEE Std 802.1Q";
    
              }
            }  // list stream-filter-instance-table
    
            leaf max-stream-filter-instances {
              type uint32;
              config false;
              description
                "The maximum number of stream filter instances supported by
    this Bridge component.";
              reference
                "12.31.1.1, 8.6.5.1 of IEEE Std 802.1Q";
    
            }
          }  // container stream-filters
        }  // grouping sfsg-parameters
      }  // module ieee802-dot1q-stream-filters-gates
    

© 2023 YumaWorks, Inc. All rights reserved.