bridge: cfm: Add BRIDGE_CFM to Kconfig.
authorHenrik Bjoernlund <henrik.bjoernlund@microchip.com>
Tue, 27 Oct 2020 10:02:43 +0000 (10:02 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 30 Oct 2020 01:39:43 +0000 (18:39 -0700)
This makes it possible to include or exclude the CFM
protocol according to 802.1Q section 12.14.

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>
net/bridge/Kconfig
net/bridge/br_device.c
net/bridge/br_private.h

index 8087919..3c8ded7 100644 (file)
@@ -73,3 +73,14 @@ config BRIDGE_MRP
          Say N to exclude this support and reduce the binary size.
 
          If unsure, say N.
+
+config BRIDGE_CFM
+       bool "CFM protocol"
+       depends on BRIDGE
+       help
+         If you say Y here, then the Ethernet bridge will be able to run CFM
+         protocol according to 802.1Q section 12.14
+
+         Say N to exclude this support and reduce the binary size.
+
+         If unsure, say N.
index 15c6445..9b5d627 100644 (file)
@@ -458,6 +458,9 @@ void br_dev_setup(struct net_device *dev)
 #if IS_ENABLED(CONFIG_BRIDGE_MRP)
        INIT_LIST_HEAD(&br->mrp_list);
 #endif
+#if IS_ENABLED(CONFIG_BRIDGE_CFM)
+       INIT_HLIST_HEAD(&br->mep_list);
+#endif
        spin_lock_init(&br->hash_lock);
 
        br->bridge_id.prio[0] = 0x80;
index 2fe8b88..90ead48 100644 (file)
@@ -484,6 +484,9 @@ struct net_bridge {
 #if IS_ENABLED(CONFIG_BRIDGE_MRP)
        struct list_head                mrp_list;
 #endif
+#if IS_ENABLED(CONFIG_BRIDGE_CFM)
+       struct hlist_head               mep_list;
+#endif
 };
 
 struct br_input_skb_cb {