CFM
This chapter covers some aspects related to the service cfm
tool, which allows you to configure the
Connectivity Fault Management (CFM) service in OSDx.
The first thing is to create the Maintenance Domain (MD), which are certain logically defined areas that set
boundaries for providers, operators and customers. To create a new MD from a given name, the domain
field is used.
Once this is done, you can configure the MD parameters:
level
: to configure the domain level. Valid values range from 0 to 7 (by default 0).name-format
: to configure the format to use for the domain reference included in sent CCM messages. If this command is not present, the current domain name string will be used as the default format.dns
: sets the domain name format to a domain name-based string.mac
: sets the domain name format to a valid MAC address (mac address
) and a two-bytes integer value (mac integer
).no-name
: deletes the domain reference from the sent CCM messages.
Apart from these parameters, you can configure the services that belong to a MD. These services are called
Maintenance Association (MA) and using the service
field new MAs can be created from a given name.
Next, for each MA you can configure the following parameters:
alarm
: to configure the way the Fault Notification Generator works.delay
: when the device detects a defect on an MEP, it waits a certain time before reporting the error. This field is used to set the time delay value. Valid values range from 2500 to 10000 milliseconds (by default 2500 milliseconds).min-notification-level
: the device can notify the system administrator when it detects a defect on an MEP. Since not all notifications are worthy of being monitored, this field allows an interval to be set (by default 1).1: All defects: Some-RDI, Some-MAC-Status, Some-RMEP-CCM, Error-CCM and Xcon-CCM.
2: Only Some-MAC-Status, Some-RMEP-CCM, Error-CCM and Xcon-CCM defects.
3: Only Some-RMEP-CCM, Error-CCM and Xcon-CCM defects.
4: Only Error-CCM and Xcon-CCM defects.
5: Only Xcon-CCM defects.
reset
: once the system has detected and reported an error, it will wait for normal operation. This field allows you to configure a wait time to ensure that the device is running properly again. Valid values range from 2500 to 10000 milliseconds (by default 10000 milliseconds).
continuity-check
: to configure the Continuity Check Protocol parameters.interval
: sets the periodicity of packet transmission to other remote devices in the network. Valid values are 100ms, 1s, 10s, 1m, and 10m (by default 1m).loss-threshold
: each MEP can have a group of remote MEPs expecting to receive periodic messages. The local MEP will detect the absence of packet reception in the event a remote MEP stops transmitting or a connection error occurs. This field sets the number of non-received packets needed to activate the alarm (by default 1).
name-format
: to configure the format to use for the service reference included in sent CCM messages. If this command is not present, the current service name string will be used as the default format.int
: sets the service format name to a two-octets integer value.vid
: sets the service format name to the primary VLAN ID.vpn-id
: sets the service format name to a VPN ID as an integer value.vpn-id-ieee
: sets the service format name to a VPN ID, as described in RFC 2685.
sender-id
: to include the TLV Sender ID in the sent CCM messages, which is useful when helping identify the device.chassis
: sets the TLV Sender ID value to the Chassis ID subtype. If the device has a host-name, this will be included in the protocol messages. If not, the TLV Sender ID is attached to the list anyway (with a 0 value).
Apart from these parameters, you can create and configure the Maintenance service End Points (MEPs) that belong to a
MA. Using the mep
field new MEPs can be created in the device and then configure the following parameters:
alarm
: to configure thesystem alarm <txt>
to be updated with notifications of faults detected by the MEP.interface
: to configure the interface where the MEP is located.rmep
: to configure the remote MEPs to be controlled and monitored by the local MEP.
Configuration
This is the syntax to create a service cfm
:
set service cfm [ ... ]
Examples
Multi-Service Port
Imagine you want to configure a device to monitor multiple services from different MEPs on the same port. And also, that all these services belong to the level 7 domain named DOMAIN_7.
MEP 1 monitors the NO_VLAN_SERVICE service on interface eth0.
MEP 101 monitors the SERVICE_100 service on interface eth0.100.
MEP 201 monitors the SERVICE_200 service on interface eth0.200.
In OSDx, this can be achieved by setting the following commands:
set service cfm domain DOMAIN_7 level 7
set service cfm domain DOMAIN_7 service NO_VLAN_SERVICE continuity-check interval 10s
set service cfm domain DOMAIN_7 service NO_VLAN_SERVICE mep 1 interface eth0
set service cfm domain DOMAIN_7 service NO_VLAN_SERVICE mep 1 rmep 2
set service cfm domain DOMAIN_7 service NO_VLAN_SERVICE sender-id chassis
set service cfm domain DOMAIN_7 service SERVICE_100 continuity-check interval 10s
set service cfm domain DOMAIN_7 service SERVICE_100 mep 101 interface eth0.100
set service cfm domain DOMAIN_7 service SERVICE_100 mep 101 rmep 102
set service cfm domain DOMAIN_7 service SERVICE_100 sender-id chassis
set service cfm domain DOMAIN_7 service SERVICE_200 continuity-check interval 10s
set service cfm domain DOMAIN_7 service SERVICE_200 mep 201 interface eth0.200
set service cfm domain DOMAIN_7 service SERVICE_200 mep 201 rmep 202
set service cfm domain DOMAIN_7 service SERVICE_200 sender-id chassis
Here, you can find more examples related to service cfm
.
Monitoring
Operational commands service cfm mep show
or service cfm mep <value> show
can be used to display
information related to local and remote MEPs.
Example:
admin@DUT0$ service cfm mep 1 show
================
=== MEP Info ===
================
MEPID: 1
Type: down
Network: eth0
MAC address: 08:00:27:ce:5d:7c
Domain: DOMAIN_7 at level 7
Service: NO_VLAN_SERVICE with no vlan association
RDI bit: down
Port state: not available
Interface state: up
enableRMEPdefect: enabled
FNG state: reset
FNG current defect: DefNone
FNG last reported defect: DefNone
Last sent sequence number: 14
Out-of-sequence CCMs: 0
Remote MEPs: 1
-------------------------------------------------------------------------------------------------------------------
rMepID SenderID MAC-address Status LastSeqNum RDI Port Interface LastTime
-------------------------------------------------------------------------------------------------------------------
2 DUT1 08:00:27:ff:f6:f1 ok 14 down not available up 2024-01-02 15:18:53.191261
Command Summary
Configuration commands
service cfm domain <txt> service <txt> alarm min-notification-level <u32>
service cfm domain <txt> service <txt> continuity-check interval <txt>
service cfm domain <txt> service <txt> continuity-check loss-threshold <u32>
service cfm domain <txt> service <txt> mep <u32> alarm <txt>
service cfm domain <txt> service <txt> mep <u32> interface <ifc>
service cfm domain <txt> service <txt> name-format integer <u32>
service cfm domain <txt> service <txt> name-format vid <u32>
service cfm domain <txt> service <txt> name-format vpn-id <u32>
service cfm domain <txt> service <txt> name-format vpn-id-ieee <txt>