ieee802-dot1q-cfm-types

Common types used within ieee802-dot1q-cfm modules. Copyright (C) IEEE (2022). This version of this YANG module is part of IEE...

  • Version: 2022-10-29

    ieee802-dot1q-cfm-types@2022-10-29


    
      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.
        
        Copyright (C) IEEE (2022).
        
        This version of this YANG module is part of IEEE Std 802.1Q; see the
        standard itself for full legal notices.";
    
        revision "2022-10-29" {
          description
            "Published as part of IEEE Std 802.1Q-2022.";
          reference
            "IEEE Std 802.1Q-2022, Bridges and Bridged Networks.";
    
        }
    
        revision "2020-06-04" {
          description
            "Published as part of IEEE Std 802.1Qcx-2020. Initial version.";
          reference
            "IEEE Std 802.1Q-2022, Bridges and Bridged Networks.";
    
        }
    
    
        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 frames.";
            }
            enum "down" {
              value 2;
              description
                "The interface can not pass frames.";
            }
            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 frames 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.