netconfcentral logo

ieee802-dot1cb-frer

HTML

ieee802-dot1cb-frer@2020-04-29



  module ieee802-dot1cb-frer {

    yang-version 1.1;

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

    prefix dot1cb-frer;

    import ieee802-dot1cb-frer-types {
      prefix dot1cb-frer-types;
    }
    import ieee802-dot1cb-stream-identification {
      prefix dot1cb-si;
    }
    import ieee802-dot1cb-stream-identification-types {
      prefix sid-types;
    }
    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";

    }


    augment /dot1cb-si:stream-identity-list {
      if-feature dot1cb-frer-types:auto-configuration;
      description
        "Two managed objects augment each tsnStreamIdEntry (9.1.1) in the
       Stream identity table (9.1) when Managed objects for 
       autoconfiguration (7.11, 10.7) is implemented.";
      reference
        "Clause 10.2 of IEEE Std 802.1CB-2017";

      leaf auto-configured {
        type boolean;
        config false;
        description
          "A read-only Boolean value, supplied by the system, specifying
         whether this entry was created explicitly (False) or via the 
         Sequence autoconfiguration table (10.7.1, True).";
        reference
          "Clause 10.2.1 of IEEE Std 802.1CB-2017";

      }

      leaf lan-path-id {
        type dot1cb-frer-types:lan-path-id;
        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.2.2 of IEEE Std 802.1CB-2017";

      }
    }

    container frame-replication-and-elimination {
      description
        "The managed objects that control Stream identification are
       described in Clause 9. The managed objects that control FRER are 
       described in this Clause 10 as follows:

       a) General requirements on the behavior of counters are in 10.1.
       b) The various tables of managed objects that can manage, in
          detail, each individual Stream, are described in five 
          subclauses, including:
            1) Additions (10.2) to the Stream identity table (9.1)
               required for Autoconfiguration (7.11, 10.7).
            2) The Sequence generation table (10.3) that configures
               instances of the Sequence generation function (7.4.1);
            3) The Sequence recovery table (10.4) that configures
               instances of the Individual recovery function (7.5), the
               Sequence recovery function (7.4.2), and the Latent error
               detection function (7.4.4);
            4) The Sequence identification table (10.5) that configures
               instances of the Sequence encode/decode function (7.6);
               and
            5) The Stream split table (10.6) that configures instances
               of the Stream splitting function (7.7).
       c) The managed objects that support the automatic configuration,
          upon receipt of a packet, of entries in the first four of the 
          preceding tables (10.2 through 10.5), are described in the 
          subclause on Autoconfiguration (10.7).
       d) The per-port, per-Stream packet counters that are kept by FRER
          functions for inspection by network management entities are 
          described in 10.8, and the per-port (totaled over all Streams)
          counters in 10.9.

       The managed objects in the subclauses under 9.1 make it possible
       to configure more than one encapsulation for the same 
       stream_handle subparameter on the same port. Similarly, the 
       managed objects in the subclauses under 10.3 and 10.4 make it 
       possible to configure more than one Sequence encode/decode 
       function (7.6) or more than one Sequence generation function 
       (7.4.1) for the same stream_handle subparameter. [The same value
       of stream_handle can be in the frerSeqGenStreamList (10.3.1.1) of
       more than one frerSeqGenEntry (10.3.1) or in the 
       frerSeqRcvyStreamList (10.4.1.1) of more than one 
       frerSeqRcvyEntry (10.4.1).] A system shall return an error if an
       attempt is made to configure conflicting requirements upon that
       system.";
      reference
        "Clause 10 of IEEE Std 802.1CB-2017";

      list sequence-generation-list {
        key "index";
        description
          "There is one Sequence generation table in a system, and one
         entry in the Sequence generation table for each Sequence 
         generation function (7.4.1).";
        reference
          "Clause 10.3 of IEEE Std 802.1CB-2017";

        leaf index {
          type uint32;
          description
            "Clause 10 of IEEE Std 802.1CB-2017 states that the same
           stream handle can be present multiple times in the sequence
           generation table. Therefore this index leaf is being used to
           uniquely identify an entry in the sequence generation 
           table.";
        }

        uses dot1cb-frer-types:sequence-generation-entry;
      }  // list sequence-generation-list

      list sequence-recovery-list {
        key "index";
        description
          "There is one Sequence recovery table in a system, and one entry
         in the Sequence recovery table for each Sequence recovery 
         function (7.4.2) or Individual recovery function (7.5) that can
         also be present. The entry describes a set of managed objects 
         for the single instance of a Base recovery function (7.4.3) 
         and Latent error detection function (7.4.4) included in the 
         Sequence recovery function or Individual recovery function.";
        reference
          "Clause 10.4 of IEEE Std 802.1CB-2017";

        leaf index {
          type uint32;
          description
            "Clause 10 of IEEE Std 802.1CB-2017 states that the same 
           stream handle can be present multiple times in the sequence 
           recovery table. Therefore this index leaf is being used to 
           uniquely identify an entry in the sequence recovery table.";
        }

        uses dot1cb-frer-types:sequence-recovery-entry;
      }  // list sequence-recovery-list

      list sequence-identification-list {
        key "port direction";
        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
          "Clause 10.5 of IEEE Std 802.1CB-2017";

        uses dot1cb-frer-types:sequence-identification-entry;
      }  // list sequence-identification-list

      list stream-split-list {
        key "port direction";
        description
          "There is one Stream split table per system, with one
         frerSplitEntry (10.6.1) per Stream splitting function (7.7) 
         per set of stream_handle values.";
        reference
          "Clause 10.6 of IEEE Std 802.1CB-2017";

        uses dot1cb-frer-types:stream-split-entry;
      }  // list stream-split-list

      container autoconfiguration {
        if-feature dot1cb-frer-types:auto-configuration;
        description
          "Container for autoconfiguration managed objects.";
        reference
          "Clause 10.7 of IEEE Std 802.1CB-2017";

        list sequence-list {
          key "index";
          description
            "There is one Sequence autoconfiguration table per system. It
           contains any number of table entries (10.7.1.1). No two 
           (or more) entries in the Sequence autoconfiguration table can
           have the same values for frerAutSeqSeqEncaps (10.7.1.1.1),
           frerAutSeqTagged (10.7.1.1.3), and frerAutSeqVlan 
           (10.7.1.1.4) on any given port (10.7.1.1.2).";
          reference
            "Clause 10.7.1 of IEEE Std 802.1CB-2017";

          leaf index {
            type uint32;
            description
              "Entry in the sequence list referencing to a single class
             of streams.";
          }

          uses dot1cb-frer-types:autoconfiguration-sequence-entry;
        }  // list sequence-list

        list output-list {
          key "index";
          description
            "There is one Output autoconfiguration table per system. It
           contains any number of frerAutOutEntry objects (10.7.2.1), 
           each relating to a single class of Streams specifying how 
           active entries are created in the Sequence identification 
           table (10.5).";
          reference
            "Clause 10.7.2 of IEEE Std 802.1CB-2017";

          leaf index {
            type uint32;
            description
              "Entry in the output list referencing to a single class of
             streams.";
          }

          uses dot1cb-frer-types:autoconfiguration-output-entry;
        }  // list output-list
      }  // container autoconfiguration
    }  // container frame-replication-and-elimination

    augment /if:interfaces/if:interface/if:statistics {
      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). All counters are unsigned integers.
       If used on links faster than 650 000 000 bits per second, they 
       shall be 64 bits in length to ensure against excessively short 
       wrap times.

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

      list frame-replication-and-elimination-counters {
        key "direction handle";
        config false;
        description
          "Counters for frame replication and elimination for
         reliability.";
        leaf direction {
          type sid-types:direction;
          description
            "An object indicating whether the counters apply to out-facing
           (True) or in-facing (False).";
        }

        leaf handle {
          type leafref {
            path
              "/dot1cb-si:stream-identity-list/dot1cb-si:handle";
          }
          description
            "The according tsnStreamIdHandle for the counters.";
        }

        container per-port-per-stream {
          description
            "Contains the per-port-per-stream counters for frame
           replication and elimination";
          uses dot1cb-frer-types:per-port-per-stream-counters;
        }  // container per-port-per-stream

        container per-port {
          description
            "Contains the per-port counters for frame replication and
           elimination";
          uses dot1cb-frer-types:per-port-counters;
        }  // container per-port
      }  // list frame-replication-and-elimination-counters
    }
  }  // module ieee802-dot1cb-frer

Summary

  
  
Organization Institute of Electrical and Electronics Engineers
  
Module ieee802-dot1cb-frer
Version 2020-04-29
File ieee802-dot1cb-frer.yang
  
Prefix dot1cb-frer
Namespace urn:ieee:std:802.1Q:yang:ieee802-dot1cb-frer
  
Cooked /cookedmodules/ieee802-dot1cb-frer/2020-04-29
YANG /src/ieee802-dot1cb-frer@2020-04-29.yang
XSD /xsd/ieee802-dot1cb-frer@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.

Objects

Type Key
Mandatory config
Optional config
Not config
Object Type Abstract
frame-replication-and-elimination container The managed objects that control Stream identification are described in Clause 9. The managed objects that control FRER are described in this Clause 10 as follows: a) General requirements on the behavior of counters are in 10.1. b) The various tables of ...
   autoconfiguration container Container for autoconfiguration managed objects.
      output-list list There is one Output autoconfiguration table per system. It contains any number of frerAutOutEntry objects (10.7.2.1), each relating to a single class of Streams specifying how active entries are created in the Sequence identification table (10.5).
         encapsulation leaf 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).
         index leaf Entry in the output list referencing to a single class of streams.
         lan-path-id leaf 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 trans...
         port-list leaf-list The list of ports to which this frerAutOutEntry applies, and on which active Sequence encode/decode functions (7.6) are to be autocreated.
      sequence-list list There is one Sequence autoconfiguration table per system. It contains any number of table entries (10.7.1.1). No two (or more) entries in the Sequence autoconfiguration table can have the same values for frerAutSeqSeqEncaps (10.7.1.1.1), frerAutSeqTagged ...
         algorithm leaf The value used to fill frerSeqRcvyAlgorithm (10.4.1.5) when autoconfiguring entries in the Sequence recovery table.
         create-individual leaf 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.
         create-recovery leaf 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.
         destruction-interval leaf 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).
         history-length leaf The value used to fill frerSeqRcvyHistoryLength (10.4.1.6) when autoconfiguring entries in the Sequence recovery table.
         index leaf Entry in the sequence list referencing to a single class of streams.
         latent-error-detection leaf A Boolean value. If True, the autoconfiguration of a new Sequence recovery function also creates an associated Latent Error Detection function.
         latent-error-difference leaf The value used to fill frerSeqRcvyLatentErrorDifference (10.4.1.12.1) when autoconfiguring entries in the Sequence recovery table.
         latent-error-period leaf The value used to fill frerSeqRcvyLatentErrorPeriod (10.4.1.12.2) when autoconfiguring entries in the Sequence recovery table.
         latent-error-reset-period leaf The value used to fill frerSeqRcvyLatentResetPeriod (10.4.1.12.4) when autoconfiguring entries in the Sequence recovery table.
         receive-port-list leaf-list 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.
         recovery-port-list leaf-list The list of ports on which Sequence recovery functions (7.4.2) are to be autocreated by this frerAutSeqEntry.
         reset-interval leaf The value used to fill frerSeqRcvyResetMSec (10.4.1.7) when autoconfiguring entries in the Sequence recovery table.
         sequence-encapsulation leaf 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.
         tagged leaf An enumerated value indicating whether packets to be matched by this frerAutSeqEntry are permitted to have a VLAN tag.
         vlan-list leaf-list A list of vlan_identifiers for the packet to match. A null list matches all vlan_identifiers.
   sequence-generation-list list There is one Sequence generation table in a system, and one entry in the Sequence generation table for each Sequence generation function (7.4.1).
      direction leaf 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).
      index leaf Clause 10 of IEEE Std 802.1CB-2017 states that the same stream handle can be present multiple times in the sequence generation table. Therefore this index leaf is being used to uniquely identify an entry in the sequence generation table.
      reset leaf 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 ef...
      stream-list leaf-list 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 Sequenc...
   sequence-identification-list list 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.
      active leaf 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 pac...
      direction leaf 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).
      encapsulation leaf 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.
      path-id-lan-id leaf 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...
      port leaf The port on which the system is to place an instance of the Sequence encode/decode function (7.6).
      stream-list leaf-list 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.
   sequence-recovery-list list There is one Sequence recovery table in a system, and one entry in the Sequence recovery table for each Sequence recovery function (7.4.2) or Individual recovery function (7.5) that can also be present. The entry describes a set of managed objects for the...
      algorithm leaf 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 frerSeqRcvyAlgorith...
      direction leaf 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).
      history-length leaf 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-C...
      index leaf Clause 10 of IEEE Std 802.1CB-2017 states that the same stream handle can be present multiple times in the sequence recovery table. Therefore this index leaf is being used to uniquely identify an entry in the sequence recovery table.
      individual-recovery leaf 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 SequenceGenerationAlgorith...
      invalid-sequence-value leaf 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).
      latent-error-detection leaf 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). frerSeqRcvy...
      latent-error-detection-parameters container The objects in the following subclauses are present if and only if frerSeqRcvyIndividualRecovery (10.4.1.10) is False.
         difference leaf 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...
         paths leaf 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).
         period leaf 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...
         reset-period leaf 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 ...
      port-list leaf-list 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).
      reset leaf 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 res...
      reset-timeout leaf An unsigned integer specifying the timeout period in milliseconds for the RECOVERY_TIMEOUT event (item c in 7.4.3.1).
      stream-list leaf-list 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 fu...
      take-no-sequence leaf 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.
   stream-split-list list There is one Stream split table per system, with one frerSplitEntry (10.6.1) per Stream splitting function (7.7) per set of stream_handle values.
      direction leaf 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-faci...
      input-id-list leaf-list A list of stream_handles (tsnStreamIdHandle values, 9.1.1.1) that are to be split.
      output-id-list leaf-list 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.
      port leaf 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.