ieee802-dot1q-cfm-types

Common types used within ieee802-dot1q-cfm modules.

  • Version: 2020-06-04

    ieee802-dot1q-cfm-types@2020-06-04


    
      module ieee802-dot1q-cfm-types {
    
        yang-version 1.1;
    
        namespace
          "urn:ieee:std:802.1Q:yang:ieee802-dot1q-cfm-types";
    
        prefix cfm-types;
    
        organization "IEEE 802.1 Working Group";
    
        contact
          "WG-URL: http://ieee802.org/1/
        WG-EMail: stds-802-1-l@ieee.org
        
        Contact: IEEE 802.1 Working Group Chair
        Postal: C/O IEEE 802.1 Working Group
                IEEE Standards Association
                445 Hoes Lane
                Piscataway, NJ 08854
                USA
       
        E-mail: stds-802-1-chairs@ieee.org";
    
        description
          "Common types used within ieee802-dot1q-cfm modules.";
    
        revision "2020-06-04" {
          description
            "Published as part of IEEE Std 802.1Qcx-2020.
          Initial version.";
          reference
            "IEEE Std 802.1Qcx-2020, Bridges and Bridged Networks -
            YANG Data Model for Connectivity Fault Management.";
    
        }
    
    
        typedef unicast-mac-address-type {
          type string {
            pattern
              "[0-9a-fA-F][02468aAcCeE](-[0-9a-fA-F]{2}){5}";
          }
          description
            "A unicast destination MAC address. The I/G address bit is
          used to identify the destination MAC address as an individual
          MAC address or a group MAC address. If the I/G address bit is
          0, it indicates that the MAC address field is an individual
          MAC address. If this bit is 1, the MAC address is a group MAC
          address that identifies one or more (or all) stations 
          connected to the IEEE 802 network";
        }
    
        typedef multicast-class1-mac-address-type {
          type string {
            pattern "(01-80-C2-00-00-3)[0-7]";
          }
          description
            "The multicast class 1 MAC address must take the
          form of 01-80-C2-00-00-3x, where x represents
          the MEG level, with x being a value in the range
          of 0..7.";
        }
    
        typedef mp-type {
          type enumeration {
            enum "mhf" {
              value 1;
              description "Indicates a MHF.";
            }
            enum "mep" {
              value 2;
              description "Indicates a MEP.";
            }
          }
          description
            "Indicates the type of Maintenance Point.";
        }
    
        typedef mhf-creation-type {
          type enumeration {
            enum "mhf-none" {
              value 1;
              description
                "No MHFs can be created for designated VID(s) or ISID.";
            }
            enum "mhf-default" {
              value 2;
              description
                "MHFs can be created for designated VID(s) or ISID on any
              Bridge Port through which the VID(s) or ISID can pass, where:
                i) There are no lower active MD levels; or
               ii) There is a MEP at the next lower active MD level on 
                   the port.";
            }
            enum "mhf-explicit" {
              value 3;
              description
                "MHFs can be created for designated VID(s) or ISID only
              on Bridge Ports through which the VID(s) or ISID can pass, 
              and only if there is a MEP at the next lower active 
              MD level on the port.";
            }
            enum "mhf-defer" {
              value 4;
              description
                "In the Maintenance Association only, the control of MHF
              creation is deferred to the corresponding variable in
              the enclosing Maintenance Domain.";
            }
          }
          description
            "Indicates if the Management Entity can create MHFs.";
        }
    
        typedef mp-direction-type {
          type enumeration {
            enum "down" {
              value 1;
              description
                "Down maintenance point, where CFM protocol messages
              are dispatched away from the MAC Relay entity.";
            }
            enum "up" {
              value 2;
              description
                "Up maintenance point, where CFM protocol messages 
              are dispatched towards the MAC Relay entity.";
            }
          }
          description
            "Indicates the direction in which the Maintenance
          Point (MEP or MIP) faces on the Bridge Port.";
        }
    
        typedef mep-id-type {
          type uint16 {
            range "1..8191";
          }
          description
            "Maintenance association End Point Identifier, which is
          unique over a given Maintenance Association.";
        }
    
        typedef md-level-type {
          type uint8 {
            range "0..7";
          }
          description
            "Integer identifying the Maintenance Domain Level (MD Level).
          Higher numbers correspond to higher Maintenance Domains,
          those with the greatest physical reach, with the highest
          values for customers' CFM PDUs. 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 port-status-tlv-value-type {
          type enumeration {
            enum "no-port-state-tlv" {
              value 0;
              description
                "Indicates either that no CCM has been received or that
              no port status TLV was present in the last CCM received.";
            }
            enum "blocked" {
              value 1;
              description
                "Ordinary data cannot pass freely through the port on
              which the remote MEP resides.";
            }
            enum "up" {
              value 2;
              description
                "Ordinary data can pass freely through the port on which
              the remote MEP resides.";
            }
          }
          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.";
        }
    
        typedef interface-status-tlv-value-type {
          type enumeration {
            enum "no-interface-status-tlv" {
              value 0;
              description
                "Indicates either that no CCM has been received or that
              no interface status TLV was present in the last CCM
              received.";
            }
            enum "up" {
              value 1;
              description
                "The interface is ready to pass packets.";
            }
            enum "down" {
              value 2;
              description
                "The interface can not pass packets.";
            }
            enum "testing" {
              value 3;
              description
                "The interface is in some test mode.";
            }
            enum "unknown" {
              value 4;
              description
                "The interface status cannot be determined for some
              reason.";
            }
            enum "dormant" {
              value 5;
              description
                "The interface is not in a state to pass packets but is in
              a pending state, waiting for some external event.";
            }
            enum "not-present" {
              value 6;
              description
                "Some component of the interface is missing.";
            }
            enum "lower-layer-down" {
              value 7;
              description
                "The interface is down due to state of the lower layer
              interface.";
            }
          }
          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.";
        }
    
        typedef highest-defect-priority-type {
          type enumeration {
            enum "none" {
              value 0;
              description
                "No defects since Fault Notification Generator state
              machine reset.";
            }
            enum "def-rdi-ccm" {
              value 1;
              description
                "The last CCM received by this MEP from some remote MEP
              contained the RDI bit set.";
            }
            enum "def-mac-status" {
              value 2;
              description
                "The last CCM received by this MEP from some remote MEP
              indicating that the transmitting MEP's associated MAC is
              reporting its status via the Port Status TLV or Interface
              Status TLV.";
            }
            enum "def-remote-ccm" {
              value 3;
              description
                "This MEP is not receiving CCMs from some other MEP in its
              configured list.";
            }
            enum "def-error-ccm" {
              value 4;
              description
                "This MEP is receiving invalid CCMs.";
            }
            enum "def-xcon-ccm" {
              value 5;
              description
                "This MEP is receiving CCMs that could be from some other 
              MA.";
            }
          }
          description
            "An enumerated value, equal to the contents of the variable
          highestDefect (20.35.9 and Table 20-1), indicating the
          highest-priority defect that has been present since the MEP
          Fault Notification Generator State Machine was last in the
          FNG_RESET state. 
          The integer value assigned to the enum value determines the
          priority. The higher value corresponds to the higher priority.";
        }
    
        typedef lowest-alarm-priority-type {
          type enumeration {
            enum "all-def" {
              value 1;
              description
                "Includes def-rdi-ccm, def-mac-status, def-remote-ccm,
              def-error-ccm, and def-xcon-ccm.";
            }
            enum "mac-remote-error-xcon" {
              value 2;
              description
                "Only includes def-mac-status, def-remote-ccm, 
              def-error-ccm, and def-xcon-ccm.";
            }
            enum "remote-error-xcon" {
              value 3;
              description
                "Includes def-remote-ccm, def-error-ccm, and def-xcon-ccm.";
            }
            enum "error-xcon" {
              value 4;
              description
                "Includes def-error-ccm and def-xcon-ccm.";
            }
            enum "xcon" {
              value 5;
              description "Only def-xcon-ccm";
            }
            enum "no-xcon" {
              value 6;
              description
                "No defects def-xcon or lower are to be reported.";
            }
          }
          description
            "Specifies the lowest priority defect that is allowed to
          generate a Fault Alarm (20.9.5). The to be reported defects
          are identified per enum value.";
        }
    
        typedef sender-id-permission-type {
          type enumeration {
            enum "send-id-none" {
              value 1;
              description
                "The Sender ID TLV is not to be sent.";
            }
            enum "send-id-chassis" {
              value 2;
              description
                "The Chassis ID Length, Chassis ID Subtype, and Chassis ID
              fields of the Sender ID TLV are to be sent.";
            }
            enum "send-id-manage" {
              value 3;
              description
                "The Management Address Length and Management Address
              of the Sender ID TLV are to be sent.";
            }
            enum "send-id-chassis-manage" {
              value 4;
              description
                "The Chassis ID Length, Chassis ID Subtype, Chassis ID, 
              Management Address Length and Management Address fields are
              all to be sent.";
            }
            enum "send-id-defer" {
              value 5;
              description
                "The content of the Sender ID TLV are determined by the
              corresponding Maintenance Domain variable.";
            }
          }
          description
            "Indicates what, if anything, is to be included in the Sender
          ID TLV transmitted in CCMs, LBMs, LTMs, and LTRs.";
        }
    
        typedef ccm-interval-type {
          type enumeration {
            enum "300hz" {
              value 1;
              description
                "CCM PDUs are sent every 3 1/3 milliseconds (300Hz).";
            }
            enum "10ms" {
              value 2;
              description
                "CCM PDUs are sent every 10 milliseconds.";
            }
            enum "100ms" {
              value 3;
              description
                "CCM PDUs are sent every 100 milliseconds.";
            }
            enum "1sec" {
              value 4;
              description
                "CCM PDUs are sent every second.";
            }
            enum "10sec" {
              value 5;
              description
                "CCM PDUs are sent every 10 seconds.";
            }
            enum "1min" {
              value 6;
              description
                "CCM PDUs are sent every minute.";
            }
            enum "10min" {
              value 7;
              description
                "CCM PDUs are sent every 10 minutes.";
            }
          }
          description
            "Indicates the interval at which CCM PDUs are sent by a MEP.";
        }
    
        typedef fng-state-type {
          type enumeration {
            enum "fng-reset" {
              value 1;
              description
                "No defect has been present since the MEP's fng-reset-time
              timer expired, or since the state machine was last reset.";
            }
            enum "fng-defect" {
              value 2;
              description
                "A defect is present, but not for a long enough time to be
              reported.";
            }
            enum "fng-report-defect" {
              value 3;
              description
                "A momentary state during which the defect is reported by
              sending a fault-alarm notification, if that action is 
              enabled.";
            }
            enum "fng-defect-reported" {
              value 4;
              description
                "A defect is present, and some defect has been reported.";
            }
            enum "fng-defect-clearing" {
              value 5;
              description
                "No defect is present, but the MEP's fng-reset-time timer
              has not yet expired.";
            }
          }
          description
            "Indicates the different states of the MEP Fault Notification
          Generator State Machine.";
        }
    
        typedef relay-action-field-value-type {
          type enumeration {
            enum "relay-hit" {
              value 1;
              description
                "The LTM reached a Maintenance Point whose MAC address
              matches the target address.";
            }
            enum "relay-fdb" {
              value 2;
              description
                "The Egress Port was determined by consulting the Filtering
              Database.";
            }
            enum "relay-mpdb" {
              value 3;
              description
                "The Egress Port was determined by consulting the MIP CCM
              Database.";
            }
          }
          description
            "Possible values the Relay action field can take.";
        }
    
        typedef ingress-action-field-value-type {
          type enumeration {
            enum "ingress-ok" {
              value 1;
              description
                "The target data frame would be passed through to the MAC 
              Relay Entity.";
            }
            enum "ingress-down" {
              value 2;
              description
                "The Bridge Ports MAC_Operational parameter is false.";
            }
            enum "ingress-blocked" {
              value 3;
              description
                "The target data frame would not be forwarded if received on
              this Port due to active topology enforcement.";
            }
            enum "ingress-vid" {
              value 4;
              description
                "The ingress port is not in the member set of the LTMs VID,
              and ingress filtering is enabled, so the target data frame
              would be filtered by ingress filtering.";
            }
          }
          description
            "Possible values returned in the ingress action field.";
        }
    
        typedef egress-action-field-value-type {
          type enumeration {
            enum "egress-okay" {
              value 1;
              description
                "The targeted data frame would be forwarded.";
            }
            enum "egress-down" {
              value 2;
              description
                "The Egress Port can be identified, but that Bridge Port
              MAC_Operational parameter is false.";
            }
            enum "egress-blocked" {
              value 3;
              description
                "The Egress Port can be identified, but the data frame would
              not pass through the Egress Port due to active topology 
              management (i.e., the Bridge Port is not in the 
              Forwarding state.";
            }
            enum "egress-vid" {
              value 4;
              description
                "The Egress Port can be identified, but the Bridge Port is
              not in the LTMs VIDs member set, so would be filtered by
              egress filtering.";
            }
          }
          description
            "Possible values returned in the egress action field.";
        }
    
        typedef remote-mep-state-type {
          type enumeration {
            enum "rmep-idle" {
              value 1;
              description
                "Momentary state during reset.";
            }
            enum "rmep-start" {
              value 2;
              description
                "The timer has not expired since the state machine
              was reset, and no valid CCM has yet been received.";
            }
            enum "rmep-failed" {
              value 3;
              description
                "The timer has expired, both since the state machine was
              reset, and since a valid CCM was received.";
            }
            enum "rmep-ok" {
              value 4;
              description
                "The timer has not expired since a valid CCM was received.";
            }
          }
          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
          MA's ccm-interval object.";
        }
    
        typedef mep-defects-type {
          type bits {
            bit def-rdi-ccm {
              position 0;
              description
                "A remote MEP reported that RDI bit in its last CCM.";
            }
            bit def-mac-status {
              position 1;
              description
                "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.";
            }
            bit def-remote-ccm {
              position 2;
              description
                "The MEP is not receiving valid CCMs from at least one of
              the remote MEPs.";
            }
            bit def-error-ccm {
              position 3;
              description
                "The MEP has received at least one invalid CCM whose CCM
              Interval has not yet timed out.";
            }
            bit def-xcon-ccm {
              position 4;
              description
                "The MEP has received at last one CCM from either another 
              MAID or a lower MD level whose CCM Interval has not yet 
              timed out.";
            }
          }
          description
            "A MEP can detect and report a number of defects, and multiple
          defects can be present at the same time.";
        }
    
        typedef config-error-type {
          type bits {
            bit cfm-leak {
              position 0;
              description
                "MA x is associated with a specific VID list, one or more 
              of the VIDs in MA x can pass through the Bridge Port,
              no Down MEP is configured on any Bridge Port for MA x,
              and some other MA y, at a higher MD Level than MA x, and
              associated with at least one of the VID(s) also in MA x,
              does have a MEP configured on the Bridge Port.";
            }
            bit conflicting-vids {
              position 1;
              description
                "MA x is associated with a specific VID list, an Up MEP is
              configured on MA x on the Bridge Port, and some other MA y,
              associated with at least one of the VID(s) also in MA x,
              also has an Up MEP configured on some Bridge Port.";
            }
            bit excessive-levels {
              position 2;
              description
                "The number of different MD Levels at which MIPs are to be
              created on this port exceeds the Bridge's capabilities.";
            }
            bit overlapped-levels {
              position 3;
              description
                "A MEP is created for one VID at one MD Level, but a MEP is
              configured on another VID at that MD Level or higher,
              exceeding the Bridge's capabilities.";
            }
          }
          description
            "While making the MIP creation evaluation described in
          22.2.3, the management entity can encounter errors in
          the configuration.";
        }
    
        typedef mep-tx-ltm-flags-type {
          type bits {
            bit use-fdb-only {
              position 1;
              description "Use FDB only";
            }
          }
          description
            "The flags field for LTMs transmitted by the MEP.";
        }
    
        typedef fault-alarm-type {
          type enumeration {
            enum "address" {
              value 1;
              description
                "Indicates that a Network address to which Fault Alarms
              are to be transmitted should be used.";
            }
            enum "not-transmitted" {
              value 2;
              description
                "Indicates that Fault alarms are not to be transmitted.";
            }
          }
          description
            "The Fault Alarm indicators.";
        }
    
        typedef lbm-data-tlv-type {
          type binary {
            length "1..1480";
          }
          description
            "The loopback message Data TLV type.";
        }
    
        typedef name-key-type {
          type string {
            length "1..255";
            pattern '[0-9a-zA-Z\-_.]*';
          }
          description
            "String type with at least 1 and up to 255 of the specified
          characters.";
        }
    
        typedef seq-number-type {
          type uint32 {
            range "0..4294967295";
          }
          description
            "The transaction identifier or sequence number of the CFM PDU.";
        }
    
        typedef service-selector-type {
          type enumeration {
            enum "ieee-reserved-0" {
              value 0;
              description
                "Reserved for definition by IEEE 802.1.";
            }
            enum "vlan-id" {
              value 1;
              description
                "12-bit identifier found in a VLAN tag.";
            }
            enum "isid" {
              value 2;
              description
                "24-bit identifier found in an I-TAG.";
            }
            enum "tesid" {
              value 3;
              description "32-bit identifier";
            }
            enum "segid" {
              value 4;
              description "32-bit identifier";
            }
            enum "path-tesid" {
              value 5;
              description "32-bit identifier";
            }
            enum "group-isid" {
              value 6;
              description "24 bit identifier";
            }
            enum "ieee-reserved" {
              value 7;
              description
                "Reserved for definition by IEEE 802.1";
            }
          }
          default "vlan-id";
          description
            "A value that represents a type (and thereby the format)
          of a service-selector-value.";
        }
    
        typedef service-selector-value-type {
          type uint32 {
            range "1..4294967295";
          }
          description
            "An integer that uniquely identifies a generic MAC Service,
          or none. Examples of service selectors are a VLAN-ID
          and an I-SID. A service-selector-value value is always 
          interpreted within the context of a service-selector-type
          value. Every usage of the service-selector-value textual
          convention is required to specify the
          service-selector-type object that provides the context.
          The value of a service-selector-value object must
          always be consistent with the value of the associated
          service-selector-type object. Attempts to set a
          service-selector-value object to a value inconsistent
          with the associated service-selector-type must fail
          with an inconsistent-value error.";
        }
      }  // module ieee802-dot1q-cfm-types
    

© 2023 YumaWorks, Inc. All rights reserved.