netconfcentral logo

ieee802-dot1cb-frer-types

HTML

ieee802-dot1cb-frer-types@2020-04-29



  module ieee802-dot1cb-frer-types {

    yang-version 1.1;

    namespace
      "urn:ieee:std:802.1Q:yang:ieee802-dot1cb-frer-types";

    prefix dot1cb-frer-types;

    import ieee802-dot1cb-stream-identification {
      prefix dot1cb-sid;
    }
    import ieee802-dot1cb-stream-identification-types {
      prefix sid-types;
    }
    import ieee802-dot1q-types {
      prefix dot1qtypes;
    }
    import ietf-interfaces {
      prefix if;
    }

    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
      "Management objects that control the frame replication and
elimination from IEEE Std 802.1CB-2017.
This YANG data model conforms to the Network Management Datastore
Architecture defined in RFC 8342.";

    revision "2020-04-29" {
      description
        "D0.3 revision. Note that this module might change in
backward incompatible ways until approved as a standard.";
      reference
        "Clause 10 of IEEE Std 802.1CB-2017";

    }

    revision "2019-09-01" {
      description
        "Initial revision. Note that this module might change in
backward incompatible ways until approved as a standard.";
      reference
        "Clause 10 of IEEE Std 802.1CB-2017";

    }


    feature auto-configuration {
      description
        "Autoconfiguration of entries in the tables for stream identity
table (9.1), sequence recovery table (10.4) and sequence
identification table (10.5)";
      reference
        "Clause 7.11, 10.7 of IEEE Std 802.1CB-2017";

    }

    typedef lan-path-id {
      type int8;
      description
        "An integer specifying a path or LAN. If and only if a packet
matches an entry in the Sequence identification table (10.5)
that specifies HSR or PRP in its frerSeqEncEncapsType (10.5.1.5)
object, tsnStreamIdLanPathId specifies the LanId or PathId value
that must be matched for this tsnStreamIdEntry to apply. A value
of –1 indicates that the LanId or PathId are to be ignored.";
      reference
        "Clause 10.22 of IEEE Std 802.1CB-2017";

    }

    typedef sequence-recovery-algorithm {
      type enumeration {
        enum "vector" {
          value 0;
          description
            "Vector Recovery Algorithm";
          reference
            "Clause 7.4.3.4 of IEEE Std 802.1CB-2017";

        }
        enum "match" {
          value 1;
          description
            "Match Recovery Algorithm";
          reference
            "Clause 7.4.3.5 of IEEE Std 802.1CB-2017";

        }
      }
      description
        "This object is an enumerated value specifying which sequence
recovery algorithm is to be used for this instance of the
Sequence recovery function (7.4.2). The enumeration uses an OUI
or CID as shown in Table 10-1.";
      reference
        "Clause 10.4.1.5 of IEEE Std 802.1CB-2017";

    }

    typedef sequence-history-length {
      type uint32 {
        range "2..max";
      }
      description
        "An integer specifying how many bits of the SequenceHistory
variable (7.4.3.2.2) are to be used.";
      reference
        "Clause 7.4.3.2.2 of IEEE Std 802.1CB-2017";

    }

    typedef sequence-encode-decode-types {
      type enumeration {
        enum "r-tag" {
          value 1;
          description "R-TAG";
          reference
            "Clause 7.8 of IEEE Std 802.1CB-2017";

        }
        enum "hsr-sequence-tag" {
          value 2;
          description "HSR sequence tag";
          reference
            "Clause 7.9 of IEEE Std 802.1CB-2017";

        }
        enum "prp-sequence-trailer" {
          value 3;
          description "PRP sequence trailer";
          reference
            "Clause 7.10 of IEEE Std 802.1CB-2017";

        }
      }
      description
        "There is one Sequence identification table per system, and one
entry in the Sequence identification table for each port and
direction for which an instance of the Sequence encode/decode
function (7.6) is to be created.";
      reference
        "Table 10-2 of IEEE Std 802.1CB-2017";

    }

    grouping sequence-recovery-entry {
      description
        "Each frerSeqRcvyEntry lists the Streams (10.4.1.1), ports
(10.4.1.2), and direction (10.4.1.3) for which instances of a
Sequence recovery function (7.4.2) or Individual recovery
function (7.5) are to be instantiated.";
      reference
        "Clause 10.4.1 of IEEE Std 802.1CB-2017";

      leaf-list stream-list {
        type leafref {
          path
            "/dot1cb-sid:stream-identity-list/dot1cb-sid:handle";
        }
        min-elements 1;
        description
          "A list of the stream_handle values, corresponding to the
values of the tsnStreamIdHandle objects (9.1.1.1) in the
Stream identity table (9.1), to which the system is to apply
the instance of the Sequence recovery function (7.4.2) or
Individual recovery function (7.5).";
        reference
          "Clause 10.4.1.1 of IEEE Std 802.1CB-2017";

      }

      leaf-list port-list {
        type if:interface-ref;
        min-elements 1;
        description
          "The list of ports on each of which the system is to
instantiate the Sequence recovery function (7.4.2), or from
which received packets are to be fed to a single instance of
the Individual recovery function (7.5).";
        reference
          "Clause 10.4.1.2 of IEEE Std 802.1CB-2017";

      }

      leaf direction {
        type sid-types:direction;
        mandatory true;
        description
          "An object indicating whether the Sequence recovery function
(7.4.2) or Individual recovery function (7.5) is to be placed
on the out-facing (True) or in-facing (False) side of the port
(Figure 6-6).";
        reference
          "Clause 10.4.1.3 of IEEE Std 802.1CB-2017";

      }

      leaf reset {
        type boolean;
        mandatory true;
        description
          "A Boolean object indicating that the Sequence recovery
function (7.4.2) or Individual recovery function (7.5) is to
be reset by calling its corresponding SequenceGenerationReset
function (7.4.1.3). Writing the value True to frerSeqRcvyReset
triggers a reset; writing the value False has no effect. When
read, frerSeqRcvyReset always returns the value False.";
        reference
          "Clause 10.4.1.4 of IEEE Std 802.1CB-2017";

      }

      leaf algorithm {
        type sequence-recovery-algorithm;
        default "vector";
        description
          "This object is an enumerated value specifying which sequence
recovery algorithm is to be used for this instance of the
Sequence recovery function (7.4.2). The enumeration uses an
OUI or CID as shown in Table 10-1. The default value for
frerSeqRcvyAlgorithm is Vector_Alg (00-80-C2, 0).";
        reference
          "Clause 10.4.1.5 of IEEE Std 802.1CB-2017";

      }

      leaf history-length {
        when "../algorithm != 'match'";
        type sequence-history-length;
        default "2";
        description
          "An integer specifying how many bits of the SequenceHistory
variable (7.4.3.2.2) are to be used. The minimum and the
default value is 2, maximum is the maximum allowed by the
implementation. [Not used if
frerSeqRcvyAlgorithm (10.4.1.5) = Match_Alg (00-80-C2, 1).]";
        reference
          "Clause 10.4.1.6 of IEEE Std 802.1CB-2017";

      }

      leaf reset-timeout {
        type uint32;
        mandatory true;
        description
          "An unsigned integer specifying the timeout period in
milliseconds for the RECOVERY_TIMEOUT event (item c in 7.4.3.1).";
        reference
          "Clause 10.4.1.7 of IEEE Std 802.1CB-2017";

      }

      leaf invalid-sequence-value {
        type uint32;
        config false;
        description
          "A read-only unsigned integer value that cannot be encoded in a
packet as a value for the sequence_number subparameter
(item b in 6.1), i.e., frerSeqRcvyInvalidSequenceValue is
larger than or equal to RecovSeqSpace (7.4.3.2.1).";
        reference
          "Clause 10.4.1.8 of IEEE Std 802.1CB-2017";

      }

      leaf take-no-sequence {
        type boolean;
        default "false";
        description
          "A Boolean value specifying whether packets with no
sequence_number subparameter are to be accepted (True) or not
(False). Default value False. See item i in 7.1.1.";
        reference
          "Clause 10.4.1.9 of IEEE Std 802.1CB-2017";

      }

      leaf individual-recovery {
        type boolean;
        mandatory true;
        description
          "A Boolean value specifying whether this entry describes a
Sequence recovery function (7.4.2) or Individual recovery
function (7.5).
a) True:  The entry describes an Individual recovery function
   (7.5). Packets discarded by the SequenceGenerationAlgorithm
   (7.4.1.4) will cause the variable RemainingTicks (7.4.3.2.4)
   to be reset. There is no Latent error detection function
   (7.4.4) associated with this entry, so
   frerSeqRcvyLatentErrorDetection (10.4.1.11) cannot also
   be True.
b) False: The entry describes a Sequence recovery function
   (7.4.2). Packets discarded by the
   SequenceGenerationAlgorithm (7.4.1.4) will not cause the
   variable RemainingTicks (7.4.3.2.4) to be reset.";
        reference
          "Clause 10.4.1.10 of IEEE Std 802.1CB-2017";

      }

      leaf latent-error-detection {
        when
          "../individual-recovery = 'false'";
        type boolean;
        mandatory true;
        description
          "A Boolean value indicating whether an instance of the Latent
error detection function (7.4.4) is to be instantiated along
with the Base recovery function (7.4.3) in this Sequence
recovery function (7.4.2) or Individual recovery function
(7.5). frerSeqRcvyLatentErrorDetection cannot be set True if
frerSeqRcvyIndividualRecovery (10.4.1.10) is also True; an
Individual recovery function does not include a Latent error
detection function.";
        reference
          "Clause 10.4.1.11 of IEEE Std 802.1CB-2017";

      }

      container latent-error-detection-parameters {
        when
          "../latent-error-detection = 'false'";
        description
          "The objects in the following subclauses are present if and
only if frerSeqRcvyIndividualRecovery
(10.4.1.10) is False.";
        reference
          "Clause 10.4.1.12 of IEEE Std 802.1CB-2017";

        leaf difference {
          type int32;
          mandatory true;
          description
            "An integer specifying the maximum difference between
frerCpsSeqRcvyDiscardedPackets (10.8.6), and the product of
frerCpsSeqRcvyPassedPackets (10.8.5) and
(frerSeqRcvyLatentErrorPaths – 1) (10.4.1.12.3) that is
allowed. Any larger difference will trigger the detection of
a latent error by the LatentErrorTest function (7.4.4.4).";
          reference
            "Clause 10.4.1.12.1 of IEEE Std 802.1CB-2017";

        }

        leaf period {
          type uint32;
          default "2000";
          description
            "The integer number of milliseconds that are to elapse between
instances of running the LatentErrorTest function (7.4.4.4).
An implementation can have a minimum value for
frerSeqRcvyLatentErrorPeriod, below which it cannot be set,
but this minimum shall be no larger than 1000 ms (1 s).
Default value 2000 (2 s).";
          reference
            "Clause 10.4.1.12.2 of IEEE Std 802.1CB-2017";

        }

        leaf paths {
          type uint16;
          mandatory true;
          description
            "The integer number of paths over which FRER is operating for
this instance of the Base recovery function (7.4.3) and
Latent error detection function (7.4.4).";
          reference
            "Clause 10.4.1.12.3 of IEEE Std 802.1CB-2017";

        }

        leaf reset-period {
          type uint32;
          default "30000";
          description
            "The integer number of milliseconds that are to elapse between
instances of running the LatentErrorReset function (7.4.4.3).
An implementation can have a minimum value for
LatentErrorReset, below which it cannot be set, but this
minimum shall be no larger than 1000 ms (1 s).
Default value 30000 (30 s).";
          reference
            "Clause 10.4.1.12.4 of IEEE Std 802.1CB-2017";

        }
      }  // container latent-error-detection-parameters
    }  // grouping sequence-recovery-entry

    grouping sequence-generation-entry {
      description
        "Each frerSeqGenEntry lists the Streams (10.3.1.1) and direction
(10.3.1.2) for which a single instance of the Sequence
generation function (7.4.1) is to be placed.";
      reference
        "Clause 10.3.1 of IEEE Std 802.1CB-2017";

      leaf-list stream-list {
        type leafref {
          path
            "/dot1cb-sid:stream-identity-list/dot1cb-sid:handle";
        }
        min-elements 1;
        description
          "A list of stream_handle values, corresponding to the values of
the tsnStreamIdHandle objects (9.1.1.1) in the Stream identity
table (9.1), on which this instance of the Sequence generation
function (7.4.1) is to operate. The single instance of the
Sequence generation function created by this frerSeqGenEntry
operates every packet belonging to this Stream, regardless of
the port on which it is received.";
        reference
          "Clause 10.3.1.1 of IEEE Std 802.1CB-2017";

      }

      leaf direction {
        type sid-types:direction;
        mandatory true;
        description
          "An object indicating whether the Sequence generation function
(7.4.1) is to be placed on the out-facing (True) or
in-facing (False) side of the port (Figure 6-6).";
        reference
          "Clause 10.3.1.2 of IEEE Std 802.1CB-2017";

      }

      leaf reset {
        type boolean;
        description
          "A Boolean object indicating that the Sequence generation
function (7.4.1) is to be reset by calling its corresponding
SequenceGenerationReset function (7.4.1.3). Writing the value
True to frerSeqGenReset triggers a reset; writing the value
False has no effect. When read, frerSeqGenReset always
returns the value False.";
        reference
          "Clause 10.3.1.3 of IEEE Std 802.1CB-2017";

      }
    }  // grouping sequence-generation-entry

    grouping sequence-identification-entry {
      description
        "Each entry in the Sequence identification table specifies a port
(10.5.1.2) and direction (10.5.1.3) on which an instance of the
Sequence encode/decode function is to be instantiated for a
list of Streams (10.5.1.1).";
      reference
        "Clause 10.5.1 of IEEE Std 802.1CB-2017";

      leaf-list stream-list {
        type leafref {
          path
            "/dot1cb-sid:stream-identity-list/dot1cb-sid:handle";
        }
        min-elements 1;
        description
          "A list of stream_handles, corresponding to the values of the
tsnStreamIdHandle objects (9.1.1.1) in the Stream identity
table (9.1), for which the system is to use the same
encapsulation (10.5.1.5) for the Sequence encode/decode
function.";
        reference
          "Clause 10.5.1.1 of IEEE Std 802.1CB-2017";

      }

      leaf port {
        type if:interface-ref;
        mandatory true;
        description
          "The port on which the system is to place an instance of the
Sequence encode/decode function (7.6).";
        reference
          "Clause 10.5.1.2 of IEEE Std 802.1CB-2017";

      }

      leaf direction {
        type sid-types:direction;
        mandatory true;
        description
          "An object indicating whether the Sequence encode/decode
function (7.6) is to be placed on the out-facing (True) or
in-facing (False) side of the port (Figure 6-6).";
        reference
          "Clause 10.5.1.3 of IEEE Std 802.1CB-2017";

      }

      leaf active {
        type boolean;
        mandatory true;
        description
          "A Boolean value specifying whether this frerSeqEncEntry is
passive (False), and therefore is used only to decode (extract
information from) input packets passing up the protocol stack,
or active (True), and therefore is used both for recognizing
input packets and for encoding output packets being passed
down the protocol stack.";
        reference
          "Clause 10.5.1.4 of IEEE Std 802.1CB-2017";

      }

      leaf encapsulation {
        type sequence-encode-decode-types;
        description
          "An enumerated value indicating the type of encapsulation used
for this instance of the Sequence encode/decode function (7.6).
The type includes an OUI or CID. The values defined by this
standard are shown in Table 10-2.";
        reference
          "Clause 10.5.1.5 of IEEE Std 802.1CB-2017";

      }

      leaf path-id-lan-id {
        type lan-path-id;
        description
          "A 4-bit integer value to be placed in the PathId field of an
HSR sequence tag (7.9) or the LanId field of a PRP sequence
trailer (7.10) added to an output packet. This managed object
is used only if:
a)  The HSR sequence tag or the PRP sequence trailer is
    selected by the frerSeqEncEncapsType object (10.5.1.5); and
b)  frerSeqEncActive (10.5.1.4) is False (passive)";
        reference
          "Clause 10.5.1.6 of IEEE Std 802.1CB-2017";

      }
    }  // grouping sequence-identification-entry

    grouping stream-split-entry {
      description
        "Each entry in the Stream split table specifies a port (10.6.1.1)
and direction (10.6.1.2) on which an instance of the Stream
splitting function (7.7) is to be instantiated, and the list of
stream_handles specifying its operation.";
      reference
        "Clause 10.6.1 of IEEE Std 802.1CB-2017";

      leaf port {
        type if:interface-ref;
        mandatory true;
        description
          "The port on which the system is to place an instance of the
Stream splitting function (7.7) performing the stream_handle
translations specified by frerSplitInputIdList and
frerSplitOutputIdList (10.6.1.3, 10.6.1.4) is to be placed.";
        reference
          "Clause 10.6.1.1 of IEEE Std 802.1CB-2017";

      }

      leaf direction {
        type sid-types:direction;
        mandatory true;
        description
          "An object indicating whether the instance of the Stream
splitting function (7.7) performing the stream_handle
translations specified by frerSplitInputIdList and
frerSplitOutputIdList (10.6.1.3, 10.6.1.4) is to be placed on
the out-facing (True) or in-facing (False) side of the port
(Figure 6-6).";
        reference
          "Clause 10.6.1.2 of IEEE Std 802.1CB-2017";

      }

      leaf-list input-id-list {
        type leafref {
          path
            "/dot1cb-sid:stream-identity-list/dot1cb-sid:handle";
        }
        min-elements 1;
        description
          "A list of stream_handles (tsnStreamIdHandle values, 9.1.1.1)
that are to be split.";
        reference
          "Clause 10.6.1.3 of IEEE Std 802.1CB-2017";

      }

      leaf-list output-id-list {
        type leafref {
          path
            "/dot1cb-sid:stream-identity-list/dot1cb-sid:handle";
        }
        min-elements 1;
        description
          "A list of stream_handles (tsnStreamIdHandle values, 9.1.1.1)
into which the input packet is to be split, one copy per item
in the frerSplitOutputIdList.";
        reference
          "Clause 10.6.1.4 of IEEE Std 802.1CB-2017";

      }
    }  // grouping stream-split-entry

    grouping autoconfiguration-sequence-entry {
      description
        "Each frerAutSeqEntry objects (10.7.1.1) relates to a single class
of Streams, and specifies how entries are created (and destroyed)
in the Stream identity table (9.1), the Sequence recovery table
(10.4), and the Sequence identification table (10.5).";
      reference
        "Clause 10.7.1.1 of IEEE Std 802.1CB-2017";

      leaf sequence-encapsulation {
        type sequence-encode-decode-types;
        description
          "An enumerated value from Table 10-2, specifying which Sequence
encode/decode function, and therefore, which
type sequence_number encoding, is to be recognized for the
purposes of Autoconfiguration.";
        reference
          "Clause 10.7.1.1.1 of IEEE Std 802.1CB-2017";

      }

      leaf-list receive-port-list {
        type if:interface-ref;
        min-elements 1;
        description
          "The list of ports to which this frerAutSeqEntry applies, and
on which Stream identification functions (6.2), Sequence
encode/decode functions (7.6), and Individual recovery
functions (7.5) are to be autocreated.";
        reference
          "Clause 10.7.1.1.2 of IEEE Std 802.1CB-2017";

      }

      leaf tagged {
        type enumeration {
          enum "tagged" {
            value 1;
            description
              "A frame must have a VLAN tag to be matched.";
          }
          enum "priority" {
            value 2;
            description
              "A frame must be untagged, or have a VLAN tag with a
VLAN ID = 0 to be matched.";
          }
          enum "all" {
            value 3;
            description
              "A frame is matched whether tagged or not.";
          }
        }
        mandatory true;
        description
          "An enumerated value indicating whether packets to be matched
by this frerAutSeqEntry are permitted to have a VLAN tag.";
        reference
          "Clause 10.7.1.1.3 of IEEE Std 802.1CB-2017";

      }

      leaf-list vlan-list {
        type dot1qtypes:vlanid;
        description
          "A list of vlan_identifiers for the packet to match. A null list
matches all vlan_identifiers.";
        reference
          "Clause 10.7.1.1.4 of IEEE Std 802.1CB-2017";

      }

      leaf-list recovery-port-list {
        type if:interface-ref;
        min-elements 1;
        description
          "The list of ports on which Sequence recovery functions (7.4.2)
are to be autocreated by this frerAutSeqEntry.";
        reference
          "Clause 10.7.1.1.5 of IEEE Std 802.1CB-2017";

      }

      leaf destruction-interval {
        type uint64;
        default "86400000";
        description
          "An integer number of milliseconds after which an idle set of
functions created by this frerAutSeqEntry can be destroyed.
A value of 0 indicates that idle autoconfigured functions are
not to be destroyed. Default value is 86 400 000 decimal
(one day).";
        reference
          "Clause 10.7.1.1.6 of IEEE Std 802.1CB-2017";

      }

      leaf reset-interval {
        type uint64;
        mandatory true;
        description
          "The value used to fill frerSeqRcvyResetMSec (10.4.1.7) when
autoconfiguring entries in the Sequence recovery table.";
        reference
          "Clause 10.7.1.1.7 of IEEE Std 802.1CB-2017";

      }

      leaf algorithm {
        type sequence-recovery-algorithm;
        default "vector";
        description
          "The value used to fill frerSeqRcvyAlgorithm (10.4.1.5) when
autoconfiguring entries in the Sequence recovery table.";
        reference
          "Clause 10.7.1.1.8 of IEEE Std 802.1CB-2017";

      }

      leaf history-length {
        when "../algorithm != 'match'";
        type sequence-history-length;
        default "2";
        description
          "The value used to fill frerSeqRcvyHistoryLength (10.4.1.6) when
autoconfiguring entries in the Sequence recovery table.";
        reference
          "Clause 10.7.1.1.9 of IEEE Std 802.1CB-2017";

      }

      leaf create-individual {
        type boolean;
        mandatory true;
        description
          "A Boolean value. If True, the receipt of a packet that triggers
the autoconfiguration of a new tsnStreamIdEntry also triggers
the instantiation of a frerSeqRcvyEntry for an Individual
recovery function.";
        reference
          "Clause 10.7.1.1.10 of IEEE Std 802.1CB-2017";

      }

      leaf create-recovery {
        type boolean;
        mandatory true;
        description
          "A Boolean value. If True, the receipt of a packet that triggers
the autoconfiguration of a new tsnStreamIdEntry can also
trigger the instantiation of a frerSeqRcvyEntry for a Sequence
recovery function.";
        reference
          "Clause 10.7.1.1.11 of IEEE Std 802.1CB-2017";

      }

      leaf latent-error-detection {
        type boolean;
        mandatory true;
        description
          "A Boolean value. If True, the autoconfiguration of a new
Sequence recovery function also creates an associated Latent
Error Detection function.";
        reference
          "Clause 10.7.1.1.12 of IEEE Std 802.1CB-2017";

      }

      leaf latent-error-difference {
        type int32;
        mandatory true;
        description
          "The value used to fill frerSeqRcvyLatentErrorDifference
(10.4.1.12.1) when autoconfiguring entries in the Sequence
recovery table.";
        reference
          "Clause 10.7.1.1.13 of IEEE Std 802.1CB-2017";

      }

      leaf latent-error-period {
        type uint32;
        default "2000";
        description
          "The value used to fill frerSeqRcvyLatentErrorPeriod
(10.4.1.12.2) when autoconfiguring entries in the Sequence
recovery table.";
        reference
          "Clause 10.7.1.1.14 of IEEE Std 802.1CB-2017";

      }

      leaf latent-error-reset-period {
        type uint32;
        default "30000";
        description
          "The value used to fill frerSeqRcvyLatentResetPeriod
(10.4.1.12.4) when autoconfiguring entries in the Sequence
recovery table.";
        reference
          "Clause 10.7.1.1.15 of IEEE Std 802.1CB-2017";

      }
    }  // grouping autoconfiguration-sequence-entry

    grouping autoconfiguration-output-entry {
      description
        "No two (or more) entries in the Output autoconfiguration table
can include the same port in their frerAutSeqReceivePortList
objects (10.7.1.1.2).";
      reference
        "Clause 10.7.2.1 of IEEE Std 802.1CB-2017";

      leaf-list port-list {
        type if:interface-ref;
        min-elements 1;
        description
          "The list of ports to which this frerAutOutEntry applies, and on
which active Sequence encode/decode functions (7.6) are to be
autocreated.";
        reference
          "Clause 10.7.2.1.1 of IEEE Std 802.1CB-2017";

      }

      leaf encapsulation {
        type sequence-encode-decode-types;
        mandatory true;
        description
          "An enumerated value from Table 10-2, specifying which Sequence
encode/decode function, and therefore, which
type sequence_number encoding, is to be used for autoconfigured
Streams on the ports in frerAutSeqReceivePortList
(10.7.1.1.2).";
        reference
          "Clause 10.7.2.1.2 of IEEE Std 802.1CB-2017";

      }

      leaf lan-path-id {
        type lan-path-id;
        description
          "An integer specifying a path or LAN. If and only if
frerAutOutEncaps (10.7.2.1.2) specifies HSR or PRP
frerAutOutLanPathId specifies the LanId or PathId value to be
inserted into the HSR sequence tag or PRP sequence trailer of
autoconfigured packets transmitted on the ports in
frerAutSeqReceivePortList (10.7.1.1.2).";
        reference
          "Clause 10.7.2.1.3 of IEEE Std 802.1CB-2017";

      }
    }  // grouping autoconfiguration-output-entry

    grouping per-port-per-stream-counters {
      description
        "The following counters are instantiated for each port on which
any of the Stream identification function (6.2), Sequencing
function (7.4), or Sequence encode/decode function (7.6) is
configured. The counters are indexed by port number, facing
(in-facing or out-facing), and stream_handle value
(tsnStreamIdHandle, 9.1.1.1).

A Stream identification component (5.3) shall implement the first
two counters tsnCpsSidInputPackets (9.2.1) and
tsnCpsSidOutputPackets (9.2.2); the remainder of the counters in
10.8 are optional for such a system.";
      reference
        "Clause 10.8 of IEEE Std 802.1CB-2017";

      leaf generation-reset {
        type uint64;
        config false;
        description
          "The frerCpsSeqGenResets counter is incremented each time the
SequenceGenerationReset function (7.4.1.3) is called.";
        reference
          "Clause 10.8.2 of IEEE Std 802.1CB-2017";

      }

      leaf receive-out-of-order-packets {
        type uint64;
        config false;
        description
          "The frerCpsSeqRcvyOutOfOrderPackets counter is incremented once
for each packet accepted out-of-order by the
VectorRecoveryAlgorithm (7.4.3.4) or MatchRecoveryAlgorithm
(7.4.3.5). Out-of-order means that the packet’s sequence number
is not one more than the previous packet received.
(See item m in 7.1.1.)";
        reference
          "Clause 10.8.3 of IEEE Std 802.1CB-2017";

      }

      leaf receive-rouge-packets {
        type uint64;
        config false;
        description
          "The frerCpsSeqRcvyRoguePackets counter is incremented once for
each packet discarded by the VectorRecoveryAlgorithm (7.4.3.4)
because its sequence_number subparameter is more than
frerSeqRcvyHistoryLength (10.4.1.6) from RecovSeqNum
(7.4.3.2.3).";
        reference
          "Clause 10.8.4 of IEEE Std 802.1CB-2017";

      }

      leaf receive-passed-packets {
        type uint64;
        config false;
        description
          "The frerCpsSeqRcvyPassedPackets counter is incremented once for
each packet passed up the stack by the VectorRecoveryAlgorithm
(7.4.3.4) or MatchRecoveryAlgorithm (7.4.3.5).";
        reference
          "Clause 10.8.5 of IEEE Std 802.1CB-2017";

      }

      leaf receive-discarded-packets {
        type uint64;
        config false;
        description
          "The frerCpsSeqRcvyDiscardedPackets counter is incremented once
for each packet discarded due to a duplicate sequence number by
the VectorRecoveryAlgorithm (7.4.3.4) or MatchRecoveryAlgorithm
(7.4.3.5).";
        reference
          "Clause 10.8.6 of IEEE Std 802.1CB-2017";

      }

      leaf receive-lost-packets {
        type uint64;
        config false;
        description
          "The frerCpsSeqRcvyLostPackets counter is incremented once for
each packet lost by the VectorRecoveryAlgorithm (7.4.3.4). A
packet is counted as lost if its sequence number is not
received on any ingress port.

NOTE—If per-source sequence numbering is used,
frerCpsSeqRcvyLostPackets can count, as lost, packets that were
sent to another destination, but not lost. See B.2.";
        reference
          "Clause 10.8.7 of IEEE Std 802.1CB-2017";

      }

      leaf receive-tagless-packets {
        type uint64;
        config false;
        description
          "The frerCpsSeqRcvyTaglessPackets counter is incremented once
for each packet received by the VectorRecoveryAlgorithm
(7.4.3.4) that has no sequence_number subparameter
(item b in 6.1).";
        reference
          "Clause 10.8.8 of IEEE Std 802.1CB-2017";

      }

      leaf receive-resets {
        type uint64;
        config false;
        description
          "The frerCpsSeqRcvyResets counter is incremented once each time
the SequenceRecoveryReset function (7.4.3.3) is called.";
        reference
          "Clause 10.8.9 of IEEE Std 802.1CB-2017";

      }

      leaf receive-latent-error-resets {
        type uint64;
        config false;
        description
          "The frerCpsSeqRcvyLatentErrorResets counter is incremented once
each time the LatentErrorReset function (7.4.4.3) is called.";
        reference
          "Clause 10.8.10 of IEEE Std 802.1CB-2017";

      }

      leaf encode-errored-packets {
        type uint64;
        config false;
        description
          "The frerCpsSeqEncErroredPackets counter is incremented once
each time the Sequence encode/decode function (7.6) receives a
packet that it is unable to decode successfully.";
        reference
          "Clause 10.8.11 of IEEE Std 802.1CB-2017";

      }
    }  // grouping per-port-per-stream-counters

    grouping per-port-counters {
      description
        "The following counters are instantiated for each port on which
any of the Stream identification function (6.2), Sequencing
function (7.4), or Sequence encode/decode function (7.6) is
configured. The counters are indexed by port number and facing
(in-facing or out-facing).

A Stream identification component (5.3) shall implement the first
two counters tsnCpSidInputPackets (9.3.1) and
tsnCpSidOutputPackets (9.3.2); the remainder of the counters in
10.9 are optional for such a system.";
      reference
        "Clause 10.9 of IEEE Std 802.1CB-2017";

      leaf receive-passed-packets {
        type uint64;
        config false;
        description
          "The frerCpSeqRcvyPassedPackets counter is incremented once for
each packet passed up the stack by the VectorRecoveryAlgorithm
(7.4.3.4) or MatchRecoveryAlgorithm (7.4.3.5). Its value equals
the sum (modulo the size of the counters) of all of the
frerCpsSeqRcvyPassedPackets (10.8.5) counters on this same
port.";
        reference
          "Clause 10.9.1 of IEEE Std 802.1CB-2017";

      }

      leaf receive-discarded-packets {
        type uint64;
        config false;
        description
          "The frerCpSeqRcvyDiscardPackets counter is incremented once for
each packet discarded due to a duplicate sequence number or for
being a rogue packet by any VectorRecoveryAlgorithm (7.4.3.4)
or MatchRecoveryAlgorithm (7.4.3.5) on this port. Its value
equals the sum (modulo the size of the counters) of all of the
frerCpsSeqRcvyRoguePackets (10.8.4) and
frerCpsSeqRcvyDiscardedPackets (10.8.6) counters on this same
port.";
        reference
          "Clause 10.9.2 of IEEE Std 802.1CB-2017";

      }

      leaf encode-errored-packets {
        type uint64;
        config false;
        description
          "The frerCpSeqEncErroredPackets counter is incremented once each
time the Sequence encode/decode function (7.6) receives a
packet that it is unable to decode successfully. Its value
equals the sum (modulo the size of the counters) of all of the
frerCpsSeqEncErroredPackets (10.8.11) counters on this same
port.";
        reference
          "Clause 10.9.2 of IEEE Std 802.1CB-2017";

      }
    }  // grouping per-port-counters
  }  // module ieee802-dot1cb-frer-types

Summary

  
  
Organization Institute of Electrical and Electronics Engineers
  
Module ieee802-dot1cb-frer-types
Version 2020-04-29
File ieee802-dot1cb-frer-types.yang
  
Prefix dot1cb-frer-types
Namespace urn:ieee:std:802.1Q:yang:ieee802-dot1cb-frer-types
  
Cooked /cookedmodules/ieee802-dot1cb-frer-types/2020-04-29
YANG /src/ieee802-dot1cb-frer-types@2020-04-29.yang
XSD /xsd/ieee802-dot1cb-frer-types@2020-04-29.xsd
  
Abstract Management objects that control the frame replication and elimination from IEEE Std 802.1CB-2017. This YANG data model conforms ...
  
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

 
Management objects that control the frame replication and
elimination from IEEE Std 802.1CB-2017.
This YANG data model conforms to the Network Management Datastore
Architecture defined in RFC 8342.

Typedefs

Typedef Base type Abstract
lan-path-id int8 An integer specifying a path or LAN. If and only if a packet matches an entry in the Sequence identification table (10.5) that specifies HSR or PRP in its frerSeqEncEncapsType (10.5.1.5) object, tsnStreamIdLanPathId specifies the LanId or PathId value tha...
sequence-encode-decode-types enumeration There is one Sequence identification table per system, and one entry in the Sequence identification table for each port and direction for which an instance of the Sequence encode/decode function (7.6) is to be created.
sequence-history-length uint32 An integer specifying how many bits of the SequenceHistory variable (7.4.3.2.2) are to be used.
sequence-recovery-algorithm enumeration This object is an enumerated value specifying which sequence recovery algorithm is to be used for this instance of the Sequence recovery function (7.4.2). The enumeration uses an OUI or CID as shown in Table 10-1.

Groupings

Grouping Objects Abstract
autoconfiguration-output-entry port-list encapsulation lan-path-id No two (or more) entries in the Output autoconfiguration table can include the same port in their frerAutSeqReceivePortList objects (10.7.1.1.2).
autoconfiguration-sequence-entry sequence-encapsulation receive-port-list tagged vlan-list recovery-port-list destruction-interval reset-interval algorithm history-length create-individual create-recovery latent-error-detection latent-error-difference latent-error-period latent-error-reset-period Each frerAutSeqEntry objects (10.7.1.1) relates to a single class of Streams, and specifies how entries are created (and destroyed) in the Stream identity table (9.1), the Sequence recovery table (10.4), and the Sequence identification table (10.5).
per-port-counters receive-passed-packets receive-discarded-packets encode-errored-packets The following counters are instantiated for each port on which any of the Stream identification function (6.2), Sequencing function (7.4), or Sequence encode/decode function (7.6) is configured. The counters are indexed by port number and facing (in-facin...
per-port-per-stream-counters generation-reset receive-out-of-order-packets receive-rouge-packets receive-passed-packets receive-discarded-packets receive-lost-packets receive-tagless-packets receive-resets receive-latent-error-resets encode-errored-packets The following counters are instantiated for each port on which any of the Stream identification function (6.2), Sequencing function (7.4), or Sequence encode/decode function (7.6) is configured. The counters are indexed by port number, facing (in-facing o...
sequence-generation-entry stream-list direction reset Each frerSeqGenEntry lists the Streams (10.3.1.1) and direction (10.3.1.2) for which a single instance of the Sequence generation function (7.4.1) is to be placed.
sequence-identification-entry stream-list port direction active encapsulation path-id-lan-id Each entry in the Sequence identification table specifies a port (10.5.1.2) and direction (10.5.1.3) on which an instance of the Sequence encode/decode function is to be instantiated for a list of Streams (10.5.1.1).
sequence-recovery-entry stream-list port-list direction reset algorithm history-length reset-timeout invalid-sequence-value take-no-sequence individual-recovery latent-error-detection latent-error-detection-parameters Each frerSeqRcvyEntry lists the Streams (10.4.1.1), ports (10.4.1.2), and direction (10.4.1.3) for which instances of a Sequence recovery function (7.4.2) or Individual recovery function (7.5) are to be instantiated.
stream-split-entry port direction input-id-list output-id-list Each entry in the Stream split table specifies a port (10.6.1.1) and direction (10.6.1.2) on which an instance of the Stream splitting function (7.7) is to be instantiated, and the list of stream_handles specifying its operation.