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: 2023-09-08

    nokia-types-eth-cfm@2023-09-08


    
      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 "2023-09-08";
        sros-ext:sros-major-release "rel22";
    
        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;
          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.
    
    The string has the following restrictions:
    - Leading underscore is not allowed;
    - Leading or trailing space is not allowed;
    - Leading plus sign followed by a fully numeric string is not allowed;
    - Leading digit is not allowed unless the full string is numeric and is within the range 1..4294967295";
        }
    
        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.