Message ID | 20200904091527.669109-3-henrik.bjoernlund@microchip.com |
---|---|
State | Superseded |
Headers | show |
Series | net: bridge: cfm: Add support for Connectivity Fault Management(CFM) | expand |
On Fri, 2020-09-04 at 09:15 +0000, Henrik Bjoernlund wrote: > 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> > --- > net/bridge/Kconfig | 11 +++++++++++ > net/bridge/br_device.c | 3 +++ > net/bridge/br_private.h | 3 +++ > 3 files changed, 17 insertions(+) > > diff --git a/net/bridge/Kconfig b/net/bridge/Kconfig > index 80879196560c..3c8ded7d3e84 100644 > --- a/net/bridge/Kconfig > +++ b/net/bridge/Kconfig > @@ -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. > diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c > index a9232db03108..d12f5626a4b1 100644 > --- a/net/bridge/br_device.c > +++ b/net/bridge/br_device.c > @@ -476,6 +476,9 @@ void br_dev_setup(struct net_device *dev) > INIT_LIST_HEAD(&br->ftype_list); > #if IS_ENABLED(CONFIG_BRIDGE_MRP) > INIT_LIST_HEAD(&br->mrp_list); > +#endif > +#if IS_ENABLED(CONFIG_BRIDGE_CFM) > + INIT_LIST_HEAD(&br->mep_list); > #endif > spin_lock_init(&br->hash_lock); > > diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h > index e67c6d9e8bea..6294a3e51a33 100644 > --- a/net/bridge/br_private.h > +++ b/net/bridge/br_private.h > @@ -445,6 +445,9 @@ struct net_bridge { > #if IS_ENABLED(CONFIG_BRIDGE_MRP) > struct list_head mrp_list; > #endif > +#if IS_ENABLED(CONFIG_BRIDGE_CFM) > + struct list_head mep_list; > +#endif > }; > > struct br_input_skb_cb { Looks good, perhaps also can use hlist to reduce the head size in net_bridge.
Thanks for your review. I will update in the next version as suggested. Regards Henrik The 09/08/2020 12:18, Nikolay Aleksandrov wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > On Fri, 2020-09-04 at 09:15 +0000, Henrik Bjoernlund wrote: > > 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> > > --- > > net/bridge/Kconfig | 11 +++++++++++ > > net/bridge/br_device.c | 3 +++ > > net/bridge/br_private.h | 3 +++ > > 3 files changed, 17 insertions(+) > > > > diff --git a/net/bridge/Kconfig b/net/bridge/Kconfig > > index 80879196560c..3c8ded7d3e84 100644 > > --- a/net/bridge/Kconfig > > +++ b/net/bridge/Kconfig > > @@ -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. > > diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c > > index a9232db03108..d12f5626a4b1 100644 > > --- a/net/bridge/br_device.c > > +++ b/net/bridge/br_device.c > > @@ -476,6 +476,9 @@ void br_dev_setup(struct net_device *dev) > > INIT_LIST_HEAD(&br->ftype_list); > > #if IS_ENABLED(CONFIG_BRIDGE_MRP) > > INIT_LIST_HEAD(&br->mrp_list); > > +#endif > > +#if IS_ENABLED(CONFIG_BRIDGE_CFM) > > + INIT_LIST_HEAD(&br->mep_list); > > #endif > > spin_lock_init(&br->hash_lock); > > > > diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h > > index e67c6d9e8bea..6294a3e51a33 100644 > > --- a/net/bridge/br_private.h > > +++ b/net/bridge/br_private.h > > @@ -445,6 +445,9 @@ struct net_bridge { > > #if IS_ENABLED(CONFIG_BRIDGE_MRP) > > struct list_head mrp_list; > > #endif > > +#if IS_ENABLED(CONFIG_BRIDGE_CFM) > > + struct list_head mep_list; > > +#endif > > }; > > > > struct br_input_skb_cb { > > Looks good, perhaps also can use hlist to reduce the head size in net_bridge. >
diff --git a/net/bridge/Kconfig b/net/bridge/Kconfig index 80879196560c..3c8ded7d3e84 100644 --- a/net/bridge/Kconfig +++ b/net/bridge/Kconfig @@ -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. diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c index a9232db03108..d12f5626a4b1 100644 --- a/net/bridge/br_device.c +++ b/net/bridge/br_device.c @@ -476,6 +476,9 @@ void br_dev_setup(struct net_device *dev) INIT_LIST_HEAD(&br->ftype_list); #if IS_ENABLED(CONFIG_BRIDGE_MRP) INIT_LIST_HEAD(&br->mrp_list); +#endif +#if IS_ENABLED(CONFIG_BRIDGE_CFM) + INIT_LIST_HEAD(&br->mep_list); #endif spin_lock_init(&br->hash_lock); diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h index e67c6d9e8bea..6294a3e51a33 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h @@ -445,6 +445,9 @@ struct net_bridge { #if IS_ENABLED(CONFIG_BRIDGE_MRP) struct list_head mrp_list; #endif +#if IS_ENABLED(CONFIG_BRIDGE_CFM) + struct list_head mep_list; +#endif }; struct br_input_skb_cb {
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> --- net/bridge/Kconfig | 11 +++++++++++ net/bridge/br_device.c | 3 +++ net/bridge/br_private.h | 3 +++ 3 files changed, 17 insertions(+)