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.bjoernl...@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.