.. _example_service_cfm_checkbridgeforwarding:
#######################
Check Bridge Forwarding
#######################
The CFM service can be activated on the ports of a bridge, allowing the bridge to make forwarding decisions
depending on the content of the datagrams received on the CFM port. The following scenarios show how, with
different configurations, the bridge forwards CFM datagrams or not.
.. image:: topologybridge.svg
:width: 800
**************************
Non CFM Bridge Forward CCM
**************************
Description
===========
In this scenario, the CFM service is not configured on any port of the `br0` bridge of DUT0.
The bridge should forward any CFM datagram received on its ports.
Scenario
========
.. include:: checkbridgeforwarding/noncfmbridgeforwardccm
.. raw:: html
**********************************
CFM Bridge Forward Above Level CCM
**********************************
Description
===========
In this scenario, the CFM service is configured on port `eth0` of the `br0` bridge
of DUT0. The bridge should forward the CFM datagrams received on said port, provided they come
with a `level` field higher than the one configured in `eth0`.
Scenario
========
.. include:: checkbridgeforwarding/cfmbridgeforwardabovelevelccm
.. raw:: html
**************************************
CFM Bridge Not Forward Equal Level CCM
**************************************
Description
===========
In this scenario, the CFM service is configured on port `eth0` of the `br0` bridge
of DUT0. The bridge should not forward CFM datagrams received on said port when their
`level` field is equal to the one configured in `eth0`.
Scenario
========
.. include:: checkbridgeforwarding/cfmbridgenotforwardequallevelccm
.. raw:: html
**************************************
CFM Bridge Not Forward Below Level CCM
**************************************
Description
===========
In this scenario, the CFM service is configured on the `eth0` port of the `br0` bridge
of DUT0. The bridge should not forward CFM datagrams received on said port if they come with
a `level` field lower than the one configured in `eth0`.
Scenario
========
.. include:: checkbridgeforwarding/cfmbridgenotforwardbelowlevelccm
.. raw:: html