nokia-types-eth-cfm

Common eth-cfm data types used in the SR OS management system. Copyright 2016 Nokia. All rights reserved. Reproduction of this ...

  • Version: 2022-01-23

    nokia-types-eth-cfm@2022-01-23


    
      module nokia-types-eth-cfm {
    
        yang-version 1.1;
    
        namespace
          "urn:nokia.com:sros:ns:yang:sr:types-eth-cfm";
    
        prefix types-eth-cfm;
    
        import nokia-sros-yang-extensions {
          prefix sros-ext;
        }
        import nokia-types-sros {
          prefix types-sros;
        }
    
        organization "Nokia";
    
        contact
          "Nokia SR OS Support
             Web: <http://www.nokia.com>";
    
        description
          "Common eth-cfm data types used in the SR OS management system.
    
             Copyright 2016 Nokia. All rights reserved. Reproduction of this document
             is authorized on the condition that the foregoing copyright notice is included.
    
             This nokia-types-eth-cfm YANG module embodies Nokia's proprietary
             intellectual property. Nokia retains all title and ownership in the
             specification, including any revisions.
    
             Nokia grants all interested parties a non-exclusive license to use
             and distribute an unmodified copy of this specification in connection with
             management of Nokia products, and without fee, provided this
             copyright notice and license appear on all copies.
    
             This specification is supplied `as is', and Nokia makes no warranty,
             either express or implied, as to the use, operation, condition, or performance
             of the specification.";
    
        revision "2022-01-23";
        sros-ext:sros-major-release "rel23";
    
        typedef mhf-creation-type {
          type enumeration {
            enum "none" {
              value 1;
            }
            enum "default" {
              value 2;
            }
            enum "explicit" {
              value 3;
            }
            enum "defer" {
              value 4;
            }
          }
          description
            "Indicates whether the Management Entity can create
                 default-domain MHFs.
                 The valid values are:
    
                 none(1)      No MHFs can be created for this VID.
                 default(2)   MHFs can be created on this VID on any
                              Bridge port through which this VID can
                              pass.
                 explicit(3)  MHFs can be created for this VID only on
                              Bridge ports through which this VID can
                              pass, and only if a MEP is created at some
                              lower MD Level.
                 defer(4)     The creation of MHFs is determined by the
                              corresponding Default Domain system's
                              mhf-creation value.";
        }
    
        typedef tmnx-mhf-creation-type {
          type enumeration {
            enum "none" {
              value 1;
            }
            enum "default" {
              value 2;
            }
            enum "explicit" {
              value 3;
            }
            enum "static" {
              value 32;
            }
          }
          description
            "Indicates whether the Management Entity can create MHFs
                 used for primary-vlan MIPs.
                 The valid values are:
    
                 none(1)           No MHFs can be created for this VID.
                 default(2)        MHFs can be created on this VID on any
                                   Bridge port through which this VID can
                                   pass.
                 explicit(3)       MHFs can be created for this VID only on
                                   Bridge ports through which this VID can
                                   pass, and only if a MEP is created at some
                                   lower MD Level.
                 static(32)        Multiple MHFs can be created on the
                                   primary VID on any bridge port through
                                   which this primary VID can pass.";
        }
    
        typedef mp-level {
          type int32 {
            range "0..7";
          }
          description
            "The Management Point (MP) level.
    
                 Higher numbers correspond to higher Maintenance Domains,
                 those with the greatest physical reach, with the highest
                 values for customers' CFM packets.  Lower numbers correspond
                 to lower Maintenance Domains, those with more limited
                 physical reach, with the lowest values for CFM PDUs
                 protecting single bridges or physical links.";
        }
    
        typedef mhf-creation-level-type {
          type union {
            type mp-level;
            type enumeration {
              enum "defer" {
                value -1;
              }
            }
          }
          default "defer";
          description
            "The Maintenance Domain Level (MD Level).
    
                 The value defer indicates that no MD Level has been assigned.";
        }
    
        typedef chassis-id-subtype {
          type enumeration {
            enum "system" {
              value 1;
            }
            enum "local" {
              value 7;
            }
          }
          default "system";
          description
            "This typedef describes the source of a chassis identifier.
    
                 The enumeration 'system(1)' represents a chassis
                 identifier based on the value of entPhysicalAlias object
                 (defined in IETF RFC 2737) for a chassis component (i.e.,
                 an entPhysicalClass value of 'chassis(3)').
    
                 The enumeration 'local(7)' represents a chassis identifier
                 based on a locally defined value.";
        }
    
        typedef maintenance-domain-name-type {
          type enumeration {
            enum "none" {
              value 1;
            }
            enum "dns" {
              value 2;
            }
            enum "mac" {
              value 3;
            }
            enum "string" {
              value 4;
            }
          }
          description
            "A value that represents a type (and thereby the format)
                 of an eth-cfm domain name.  The value can be one of
                 the following:
    
                 none(1)           No format specified, usually because
                                   there is not (yet) a Maintenance
                                   Domain Name. In this case, a zero
                                   length string for the Domain
                                   Name field is acceptable.
                 dns(2)            Domain Name like string, globally unique
                                   text string derived from a DNS name.
                 mac(3)            MAC address + 2-octet (unsigned) integer.
                 string(4)         RFC2579 DisplayString, except that the
                                   character codes 0-31 (decimal) are not
                                   used.
    
                 Implementations must ensure that maintenance-domain-name-type
                 MOs and any dependent MOs (e.g., domain name) are consistent.
                 'domain type' and 'domain name' pairs
                 must be changed together if the 'domain type' changes.";
        }
    
        typedef maintenance-association-name-type {
          type enumeration {
            enum "primary-vid" {
              value 1;
            }
            enum "char-string" {
              value 2;
            }
            enum "unsigned-int16" {
              value 3;
            }
            enum "rfc2865-vpn-id" {
              value 4;
            }
            enum "icc-based" {
              value 32;
            }
          }
          default "unsigned-int16";
          description
            "A value that represents a type (and thereby the format)
                 of an eth-cfm domain association name. The value can be
                 one of the following:
    
                 vid(1)            Primary VLAN ID.
                                   12 bits represented in a 2-octet integer:
                                   - 4 least significant bits of the first
                                     byte contains the 4 most significant
                                     bits of the 12 bits primary VID
                                   - second byte contains the 8 least
                                     significant bits of the primary VID
    
                                          0 1 2 3 4 5 6 7 8
                                          +-+-+-+-+-+-+-+-+
                                          |0 0 0 0| (MSB) |
                                          +-+-+-+-+-+-+-+-+
                                          |  VID   LSB    |
                                          +-+-+-+-+-+-+-+-+
    
                 string(2)         RFC2579 DisplayString, except that the
                                   character codes 0-31 (decimal) are not
                                   used. (1..45) octets
                 integer(3)        2-octet integer/big endian
                 vpn-id(4)         RFC 2685 VPN ID
                                   3 octet VPN authority Organizationally
                                   Unique Identifier followed by 4 octet VPN
                                   index identifying VPN according to the OUI:
    
                                          0 1 2 3 4 5 6 7 8
                                          +-+-+-+-+-+-+-+-+
                                          | VPN OUI (MSB) |
                                          +-+-+-+-+-+-+-+-+
                                          |   VPN OUI     |
                                          +-+-+-+-+-+-+-+-+
                                          | VPN OUI (LSB) |
                                          +-+-+-+-+-+-+-+-+
                                          |VPN Index (MSB)|
                                          +-+-+-+-+-+-+-+-+
                                          |  VPN Index    |
                                          +-+-+-+-+-+-+-+-+
                                          |  VPN Index    |
                                          +-+-+-+-+-+-+-+-+
                                          |VPN Index (LSB)|
                                          +-+-+-+-+-+-+-+-+
    
                 icc-based(32)      raw ascii - between 8 and 13 characters
    
                 To support future extensions, the Dot1agCfmMaintAssocNameType
                 textual convention SHOULD NOT be sub-typed in object type
                 definitions.  It MAY be sub-typed in compliance statements in
                 order to require only a subset of these address types for a
                 compliant implementation.
    
                 Implementations must ensure that Dot1agCfmMaintAssocNameType
                 objects and any dependent objects (e.g.,
                 Dot1agCfmMaintAssocName objects) are consistent.  An
                 inconsistentValue error must be generated if an attempt to
                 change an Dot1agCfmMaintAssocNameType object would, for
                 example, lead to an undefined Dot1agCfmMaintAssocName value.
                 In particular,
                 Dot1agCfmMaintAssocNameType/Dot1agCfmMaintAssocName pairs
                 must be changed together if the nameType changes.
    
                 The Maintenance Domain name and Maintenance Association name,
                 when put together into the CCM PDU, MUST total 48 octets or
                 less.  If the Dot1agCfmMaintDomainNameType object contains
                 none(1), then the Dot1agCfmMaintAssocName object MUST be
                 45 octets or less in length.  Otherwise, the length of
                 the Dot1agCfmMaintDomainName object plus the length of the
                 Dot1agCfmMaintAssocName object, added together, MUST total
                 less than or equal to 44 octets.";
        }
    
        typedef permission-type {
          type enumeration {
            enum "none" {
              value 1;
            }
            enum "chassis" {
              value 2;
            }
            enum "manage" {
              value 3;
            }
            enum "chassis-manage" {
              value 4;
            }
            enum "defer" {
              value 5;
            }
          }
          description
            "Indicates what, if anything, is to be included in the Sender
                 ID TLV transmitted in CCMs, LBMs, LTMs, and LTRs.  The valid
                 values are:
    
                 none(1)           The Sender ID TLV is not to be sent.
                 chassis(2)        The Chassis ID Length, Chassis ID
                                   Subtype, and Chassis ID fields of  the
                                   Sender ID TLV are to be sent.
                 manage(3)         The Management Address Length and
                                   Management Address of the Sender ID TLV
                                   are to be sent.
                 chassis-manage(4) The Chassis ID Length, Chassis ID
                                   Subtype, Chassis ID, Management Address
                                   Length and Management Address fields are
                                   all to be sent.
                 defer(5)          The contents of the Sender ID TLV are
                                   determined by the corresponding
                                   Maintenance Domain permission variable";
        }
    
        typedef facility-id-permission-type {
          type enumeration {
            enum "none" {
              value 1;
            }
            enum "chassis" {
              value 2;
            }
          }
          description
            "Indicates what, if anything, is to be included in the Sender
                 ID TLV transmitted in CCMs, LBMs, LTMs, and LTRs. This is a
                 subset of permission-type. The valid values are:
    
                 none(1)           The Sender ID TLV is not to be sent.
                 chassis(2)        The Chassis ID Length, Chassis ID
                                   Subtype, and Chassis ID fields of  the
                                   Sender ID TLV are to be sent.";
        }
    
        typedef admin-name {
          type types-sros:named-item-64 {
            pattern
              "([1-9]|[1-9][0-9]{1,8}|[1-3][0-9]{9}|4[0-1][0-9]{8}|42[0-8][0-9]{7}|429[0-3][0-9]{6}|4294[0-8][0-9]{5}|42949[0-5][0-9]{4}|429496[0-6][0-9]{3}|4294967[0-1][0-9]{2}|42949672[0-8][0-9]|429496729[0-5])|([^0-9_ +]\\P{C}*[^ ])|([^0-9_ +])" {
              error-message
                "The admin name must not contain a leading underscore, space or plus sign and must not contain a trailing space. It can only begin with a number if it is numeric only and within the range 1..4294967295.";
            }
          }
          description
            "Used to define a name that can be used to uniquely identify
                 an object.  Historically, an arbitrary integer index
                 would have been used for this purpose. A string provides
                 greater flexibility and allows some amount of context to
                 be included.";
        }
    
        typedef mep-id-type {
          type uint16 {
            range "1..8191";
          }
          description
            "The MEP Identifier which is an integer that uniquely
                 identifies the MEP over a given Maintenance Association.";
        }
    
        typedef vlan-id-or-none {
          type union {
            type int32 {
              range "1..4094";
            }
            type enumeration {
              enum "none" {
                value 0;
              }
            }
          }
          description
            "The VLAN ID that uniquely identifies a specific VLAN,
                 or no VLAN.  The special value of none is used to
                 indicate that no VLAN ID is present or used.  This can
                 be used in any situation where an object or a table entry
                 must refer either to a specific VLAN, or to no VLAN.";
        }
    
        typedef frame-priority {
          type uint8 {
            range "0..7";
          }
          description
            "Used to define the priority of OAM frames.";
        }
    
        typedef port-status {
          type enumeration {
            enum "ps-no-port-state-tlv" {
              value 0;
            }
            enum "ps-blocked" {
              value 1;
            }
            enum "ps-up" {
              value 2;
            }
          }
          description
            "An enumerated value from the Port Status TLV from the last CCM
                 received from the last MEP. It indicates the ability of the
                 Bridge Port on which the transmitting MEP resides to pass
                 ordinary data, regardless of the status of the MAC.
    
                 ps-no-port-state-tlv(0) Indicates either that no CCM has been
                                     received or that no port status TLV was
                                     present in the last CCM received.
    
                 ps-blocked(1)       Ordinary data cannot pass freely through
                                     the port on which the remote MEP resides.
                                     Value of enableRmepDefect is equal to
                                     false.
    
                 ps-up(2):           Ordinary data can pass freely through
                                     the port on which the remote MEP resides.
                                     Value of enableRmepDefect is equal to
                                     true.
    
                 NOTE: A 0 value is used for ps-no-port-state-tlv, so that
                       additional code points can be added in a manner
                       consistent with the Dot1agCfmInterfaceStatus textual
                       convention.";
        }
    
        typedef interface-status {
          type enumeration {
            enum "is-no-interface-status-tlv" {
              value 0;
            }
            enum "is-up" {
              value 1;
            }
            enum "is-down" {
              value 2;
            }
            enum "is-testing" {
              value 3;
            }
            enum "is-unknown" {
              value 4;
            }
            enum "is-dormant" {
              value 5;
            }
            enum "is-not-present" {
              value 6;
            }
            enum "is-lower-layer-down" {
              value 7;
            }
          }
          description
            "An enumerated value from the Interface Status TLV from the
                 last CCM received from the last MEP. It indicates the status
                 of the Interface within which the MEP transmitting the CCM
                 is configured, or the next lower Interface in the Interface
                 Stack, if the MEP is not configured within an Interface.
    
                 is-no-interface-status-tlv(0)  Indicates either that no CCM has been
                                   received or that no interface status TLV
                                   was present in the last CCM received.
    
                 is-up(1)          The interface is ready to pass packets.
    
                 is-down(2)        The interface cannot pass packets
    
                 is-testing(3)     The interface is in some test mode.
    
                 is-unknown(4)     The interface status cannot be determined
                                   for some reason.
    
                 is-dormant(5)     The interface is not in a state to pass
                                   packets but is in a pending state, waiting
                                   for some external event.
    
                 is-not-present(6) Some component of the interface is missing
    
                 is-lower-layer-down(7)   The interface is down due to state of the
                                   lower layer interfaces
    
                 NOTE: A 0 value is used for isNoInterfaceStatusTLV, so that
                       these code points can be kept consistent with new code
                       points added to ifOperStatus in the IF-MIB.";
        }
    
        typedef statistics-opcode-name {
          type enumeration {
            enum "total" {
              value 0;
            }
            enum "other" {
              value 1;
            }
            enum "ccm" {
              value 2;
            }
            enum "lbr" {
              value 3;
            }
            enum "lbm" {
              value 4;
            }
            enum "ltr" {
              value 5;
            }
            enum "ltm" {
              value 6;
            }
            enum "ais" {
              value 7;
            }
            enum "lck" {
              value 8;
            }
            enum "tst" {
              value 9;
            }
            enum "laps" {
              value 10;
            }
            enum "raps" {
              value 11;
            }
            enum "mcc" {
              value 12;
            }
            enum "lmr" {
              value 13;
            }
            enum "lmm" {
              value 14;
            }
            enum "1dm" {
              value 15;
            }
            enum "dmr" {
              value 16;
            }
            enum "dmm" {
              value 17;
            }
            enum "exr" {
              value 18;
            }
            enum "exm" {
              value 19;
            }
            enum "csf" {
              value 20;
            }
            enum "vsr" {
              value 21;
            }
            enum "vsm" {
              value 22;
            }
            enum "1sl" {
              value 23;
            }
            enum "slr" {
              value 24;
            }
            enum "slm" {
              value 25;
            }
            enum "gnm" {
              value 26;
            }
          }
          description
            "An enumerated value indicating the CFM PDU Opcode to which a statistic
                 may be associated.
    
                 total(0)              The total CFM PDUs of all types below.
                 other(1)              Indicates the CFM PDU type does not match
                                       any other type explicitly detailed below.
                 ccm(2)                Connectivity check messages.
                 lbr(3)                Loopback response messages.
                 lbm(4)                Loopback request messages.
                 ltr(5)                Linktrace response messages.
                 ltm(6)                Linktrace request messages.
                 ais(7)                Alarm indication signal messages.
                 lck(8)                Ethernet locked signal messages.
                 tst(9)                Ethernet test signal messages.
                 laps(10)              Linear automatic protection switching messages.
                 raps(11)              Ring automatic protection switching messages.
                 mcc(12)               Maintenance communications channel messages.
                 lmr(13)               Ethernet loss measurement response messages.
                 lmm(14)               Ethernet loss measurement messages.
                 1dm(15)               One way delay measurement messages.
                 dmr(16)               Delay measurement response messages.
                 dmm(17)               Delay measurement message.
                 exr(18)               Ethernet experimental response messages.
                 exm(19)               Ethernet experimental messages.
                 csf(20)               Client signal fail messages.
                 vsr(21)               Vendor specific response messages.
                 vsm(22)               Vendor specific messages.
                 1sl(23)               One way synthetic loss measurement messages.
                 slr(24)               Synthetic loss measurement response messages.
                 slm(25)               Synthetic loss measurement messages.
                 gnm(26)               Generic notification messages.";
        }
    
        typedef mp-direction {
          type enumeration {
            enum "down" {
              value 1;
            }
            enum "up" {
              value 2;
            }
          }
          default "down";
          description
            "The direction the MEP faces on the Bridge port.
    
                 If 'down' the Management Point (MP) sends CFM PDUs away from the
                 MAC Relay Entity. If 'up' the MP sends CFM PDUs towards the MAC Relay Entity.";
        }
    
        typedef highest-priority-defect-type {
          type enumeration {
            enum "none" {
              value 0;
            }
            enum "rdi-ccm" {
              value 1;
            }
            enum "mac-status" {
              value 2;
            }
            enum "remote-ccm" {
              value 3;
            }
            enum "error-ccm" {
              value 4;
            }
            enum "xcon-ccm" {
              value 5;
            }
          }
          description
            "An enumerated value indicating the highest-priority defect that has been present
                 since the MEP Fault Noffication Generator State Machine was last in the FNG_RESET state.";
        }
    
        typedef lowest-alarm-priority {
          type enumeration {
            enum "all-def" {
              value 1;
            }
            enum "mac-rem-err-xcon" {
              value 2;
            }
            enum "rem-err-xcon" {
              value 3;
            }
            enum "err-xcon" {
              value 4;
            }
            enum "xcon" {
              value 5;
            }
            enum "no-xcon" {
              value 6;
            }
          }
          description
            "An enumerated value indicating the lowest priority defect that is
                 allowed to generate a fault alarm.";
        }
    
        typedef ccm-tlv-ignore-type {
          type enumeration {
            enum "interface-status" {
              value 0;
            }
            enum "port-status" {
              value 1;
            }
          }
          description
            "An enumerated value indicating whether to enable processing of received
                 CCM TLVs";
        }
    
        typedef fc-type {
          type enumeration {
            enum "be" {
              value 0;
            }
            enum "l2" {
              value 1;
            }
            enum "af" {
              value 2;
            }
            enum "l1" {
              value 3;
            }
            enum "h2" {
              value 4;
            }
            enum "ef" {
              value 5;
            }
            enum "h1" {
              value 6;
            }
            enum "nc" {
              value 7;
            }
          }
          description
            "This data type describes a set of Forwarding Classes.";
        }
    
        typedef fng-state-type {
          type enumeration {
            enum "reset" {
              value 1;
            }
            enum "defect" {
              value 2;
            }
            enum "report-defect" {
              value 3;
            }
            enum "defect-reported" {
              value 4;
            }
            enum "defect-clearing" {
              value 5;
            }
          }
          description
            "Indicates the diferent states of the MEP Fault Notification
                 Generator State Machine.
    
                 reset(1)            No defect has been present since the
                                    fng-reset-time timer expired, or since
                                    the state machine was last reset.
    
                 defect(2)           A defect is present, but not for a
                                    long enough time to be reported.
    
                 report-defect(3)    A momentary state during which the
                                    defect is reported by sending a
                                    dot1agCfmFaultAlarm notification,
                                    if that action is enabled.
    
                 defect-reported(4)  A defect is present, and some defect
                                    has been reported.
    
                 defect-clearing(5)  No defect is present, but the
                                    fng-reset-time timer has
                                    not yet expired.";
        }
    
        typedef mep-defect-flags {
          type bits {
            bit rdi-ccm {
              position 0;
            }
            bit mac-status {
              position 1;
            }
            bit remote-ccm {
              position 2;
            }
            bit error-ccm {
              position 3;
            }
            bit xcon-ccm {
              position 4;
            }
          }
          description
            "A MEP can detect and report a number of defects, and multiple
                 defects can be present at the same time. These defects are:
    
                 rdi-ccm    A remote MEP is reported the RDI bit in its last CCM.
    
                 mac-status Either some remote MEP is reporting its
                            Interface Status TLV as not isUp, or all remote
                            MEPs are reporting a Port Status TLV that
                            contains some value other than psUp.
    
                 remote-ccm The MEP is not receiving valid CCMs from at
                            least one of the remote MEPs.
    
                 error-ccm  The MEP has received at least one invalid CCM
                            whose CCM Interval has not yet timed out.
    
                 xcon-cmm   The MEP has received at least one CCM from
                            either another MAID or a lower MD Level whose
                            CCM Interval has not yet timed out.";
        }
    
        typedef remote-mep-state-type {
          type enumeration {
            enum "mep-idle" {
              value 1;
            }
            enum "mep-start" {
              value 2;
            }
            enum "mep-failed" {
              value 3;
            }
            enum "mep-ok" {
              value 4;
            }
          }
          description
            "Operational state of the remote MEP state machine.  This
                 state machine monitors the reception of valid CCMs from a
                 remote MEP with a specific MEPID.  It uses a timer that
                 expires in 3.5 times the length of time indicated by the
                 ccm-interval leaf
    
                 mep-idle(1)            Momentary state during reset.
    
                 mep-start(2)           The timer has not expired since the
                                        state machine was reset, and no valid
                                        CCM has yet been received.
    
                 mep-failed(3)          The timer has expired, both since the
                                        state machine was reset, and since a
                                        valid CCM was received.
    
                 mep-ok(4)              The timer has not expired since a
                                        valid CCM was received.";
        }
    
        typedef ccm-interval-type {
          type enumeration {
            enum "300hz" {
              value 1;
            }
            enum "10ms" {
              value 2;
            }
            enum "100ms" {
              value 3;
            }
            enum "1s" {
              value 4;
            }
            enum "10s" {
              value 5;
            }
            enum "60s" {
              value 6;
            }
            enum "600s" {
              value 7;
            }
          }
          default "10s";
          description
            "The possible intervals between CCM transmissions.";
        }
    
        typedef fault-propagation-type {
          type enumeration {
            enum "use-if-status-tlv" {
              value 1;
            }
            enum "suspend-ccm" {
              value 2;
            }
          }
          description
            "The Fault Propagation type for a MEP
    
                 When not set, no additional fault propagation will occur.
    
                 use-if-status-tlv(1)     The MEP will send an interface status TLV in the next CCM indicating
                                          fault when fault is detected, even if the MEP itself has not detected a fault.
    
                 suspend-ccm(2)           Faults will be propagated by stopping the regular CCM
                                          transmissions entirely. Once the fault is cleared, the regular
                                          CCM transmissions will resume.
                                          Additionally, when the value of this leaf is set, a defect detected
                                          by the MEP will be propagated into the service.";
        }
    
        typedef mip-authority {
          type enumeration {
            enum "system" {
              value 1;
            }
            enum "default" {
              value 2;
            }
            enum "association" {
              value 3;
            }
          }
          description
            "Types of authorities to apply attributes to instantiated MIPs.
    
                 system(1)       System settings.
                 default(2)      Default domain.
                 association(3)  Maintenance Association (MA).";
        }
    
        typedef bandwidth-notif-rate {
          type union {
            type uint32;
            type enumeration {
              enum "not-available" {
                value -1;
              }
            }
          }
          description
            "Types for rate from the ETH-BN PDU.";
        }
      }  // module nokia-types-eth-cfm
    

© 2023 YumaWorks, Inc. All rights reserved.