.. _example_service_cfm_checkdefectdetection: ###################### Check Defect Detection ###################### The CFM service allows different types of defects to be detected in the network through the processing of CFM datagrams received on a network interface. The following scenarios show how, with different configurations, these defects are detected, and how to configure the service to avoid detecting certain defects. .. image:: topology.svg :width: 800 ************************************** Detect XconCCM Defect Due To Low Level ************************************** Description =========== In this scenario, a CFM service with domain level `6` is configured in DUT0. However, in DUT1 a CFM service with domain level `5` is configured. This causes CFM datagrams to be received in DUT0 with a domain level lower than its own and, consequently, XconCCM type defects are detected. Scenario ======== .. include:: checkdefectdetection/detectxconccmdefectduetolowlevel .. raw:: html
*************************************** Detect XconCCM Defect Due To Wrong MAID *************************************** Description =========== In this scenario, a CFM service with Maintenance Association (MA) `TEST_SERVICE` is configured in DUT0. However, in DUT1 a CFM service with MA `OTHER_TEST_SERVICE` is configured. This causes CFM datagrams to be received in DUT0 with a wrong Maintenance Association Identifier (MAID) and, consequently, XconCCM type defects are detected. Scenario ======== .. include:: checkdefectdetection/detectxconccmdefectduetowrongmaid .. raw:: html
**************************************** Detect ErrorCCM Defect Due To Same MepID **************************************** Description =========== In this scenario, a CFM service with MEP Identifier (MepID) `10` is configured in DUT0. Likewise, in DUT1 a CFM service with MepID `10` is configured. This causes CFM datagrams to be received in DUT0 with a MepID equal to its own and, consequently, ErrorCCM defects are detected. Scenario ======== .. include:: checkdefectdetection/detecterrorccmdefectduetosamemepid .. raw:: html
******************************************** Detect ErrorCCM Defect Due To Wrong Interval ******************************************** Description =========== In this scenario, a CFM service with interval `1s` is configured in DUT0. However, in DUT1 a CFM service with interval `10s` is configured. This causes CFM datagrams to be received in DUT0 with a wrong interval and, consequently, ErrorCCM defects are detected. Scenario ======== .. include:: checkdefectdetection/detecterrorccmdefectduetowronginterval .. raw:: html
************************************************** Detect ErrorCCM Defect Due To Unknown Remote MepID ************************************************** Description =========== In this scenario, a CFM service with remote MepID `20` is configured in DUT0. However, in DUT1, a CFM service with MepID `30` is configured. This causes CFM datagrams to be received in DUT0 with an unknown remote MepID. Consequently, ErrorCCM defects are detected. Scenario ======== .. include:: checkdefectdetection/detecterrorccmdefectduetounknownremotemepid .. raw:: html
**************************** Avoid Detect ErrorCCM Defect **************************** Description =========== In this scenario, a CFM service with remote MepID `20` is configured in DUT0. In DUT1, a CFM service with MepID `30` is configured. This causes CFM datagrams to be received in DUT0 with an unknown remote MepID. Consequently, ErrorCCM defects are detected. However, the CFM service can be configured so that it doesn't detect defects under a certain priority level. Since the ErrorCCM defect has a priority of `4`, by configuring a minimum detection level of `5` in DUT0, ErrorCCM defects are not detected. Scenario ======== .. include:: checkdefectdetection/avoiddetecterrorccmdefect .. raw:: html
*********************** Detect RemoteCCM Defect *********************** Description =========== In this scenario, a CFM service with remote MepID `20` is configured in DUT0. However, in DUT1 the CFM service is not configured. This causes CFM datagrams of the expected remote MepID to not be received in DUT0. Consequently, RemoteCCM errors are detected. Scenario ======== .. include:: checkdefectdetection/detectremoteccmdefect .. raw:: html
***************************** Avoid Detect RemoteCCM Defect ***************************** Description =========== In this scenario, a CFM service with remote MepID `20` is configured in DUT0. But, in DUT1, the CFM service is not configured. This causes CFM datagrams of the expected remote MepID to not be received in DUT0 and, consequently, RemoteCCM errors are detected. However, the CFM service can be configured so that it doesn't detect defects under a certain priority level. Since the RemoteCCM defect has a priority of `3`, by configuring a minimum detection level of `4` in DUT0, RemoteCCM errors are not detected. Scenario ======== .. include:: checkdefectdetection/avoiddetectremoteccmdefect .. raw:: html
******************** Detect RDICCM Defect ******************** Description =========== In this scenario, a CFM service with MepID `10` is configured in DUT0. However, in DUT1, a CFM service with no remote MepID is configured. This causes DUT1 to detect a defect and activate its RDI flag, which also causes DUT0 to receive CFM datagrams with the RDI flag in UP. Consequently, RDICCM defects are detected. Scenario ======== .. include:: checkdefectdetection/detectrdiccmdefect .. raw:: html
************************** Avoid Detect RDICCM Defect ************************** Description =========== In this scenario, a CFM service with MepID `10` is configured in DUT0. But, in DUT1, a CFM service with no remote MepID is configured. This causes DUT1 to detect a defect and activate its RDI flag, which also causes DUT0 to receive CFM datagrams with the RDI flag in UP. Consequently, RDICCM defects are detected. However, the CFM service can be configured so that it doesn't detect defects under a certain priority level. Since the RDICCM defect has a priority of `1`, by configuring a minimum detection level of `2` in DUT0, RDICCM defects are not detected. Scenario ======== .. include:: checkdefectdetection/avoiddetectrdiccmdefect .. raw:: html