bridge: cfm: Kernel space implementation of CFM. CCM frame TX added.
authorHenrik Bjoernlund <henrik.bjoernlund@microchip.com>
Tue, 27 Oct 2020 10:02:46 +0000 (10:02 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 30 Oct 2020 01:39:43 +0000 (18:39 -0700)
commita806ad8ee2aa7826b279c3f92c67956eb101ae42
tree7bc1141d65900b696fb9a370ca0882f6d2d4363b
parent86a14b79e1d0fa023f82d7c2dde888fa64af2c65
bridge: cfm: Kernel space implementation of CFM. CCM frame TX added.

This is the second commit of the implementation of the CFM protocol
according to 802.1Q section 12.14.

Functionality is extended with CCM frame transmission.

Interface is extended with these functions:
br_cfm_cc_rdi_set()
br_cfm_cc_ccm_tx()
br_cfm_cc_config_set()

A MEP Continuity Check feature can be configured by
br_cfm_cc_config_set()
    The Continuity Check parameters can be configured to be used when
    transmitting CCM.

A MEP can be configured to start or stop transmission of CCM frames by
br_cfm_cc_ccm_tx()
    The CCM will be transmitted for a selected period in seconds.
    Must call this function before timeout to keep transmission alive.

A MEP transmitting CCM can be configured with inserted RDI in PDU by
br_cfm_cc_rdi_set()

Signed-off-by: Henrik Bjoernlund <henrik.bjoernlund@microchip.com>
Reviewed-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Acked-by: Nikolay Aleksandrov <nikolay@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/uapi/linux/cfm_bridge.h
net/bridge/br_cfm.c
net/bridge/br_private_cfm.h