The 01/25/2020 16:42, Andrew Lunn wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > On Fri, Jan 24, 2020 at 05:18:27PM +0100, Horatiu Vultur wrote: > > To integrate MRP into the bridge, the bridge needs to do the following: > > - initialized and destroy the generic netlink used by MRP > > - detect if the MRP frame was received on a port that is part of a MRP ring. In > > case it was not, then forward the frame as usual, otherwise redirect the frame > > to the upper layer. > > > > Signed-off-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx> > > --- > > net/bridge/br.c | 11 +++++++++++ > > net/bridge/br_device.c | 3 +++ > > net/bridge/br_if.c | 6 ++++++ > > net/bridge/br_input.c | 14 ++++++++++++++ > > net/bridge/br_private.h | 14 ++++++++++++++ > > 5 files changed, 48 insertions(+) > > > > diff --git a/net/bridge/br.c b/net/bridge/br.c > > index b6fe30e3768f..d5e556eed4ba 100644 > > --- a/net/bridge/br.c > > +++ b/net/bridge/br.c > > @@ -344,6 +344,12 @@ static int __init br_init(void) > > if (err) > > goto err_out5; > > > > +#ifdef CONFIG_BRIDGE_MRP > > + err = br_mrp_netlink_init(); > > + if (err) > > + goto err_out6; > > +#endif > > Please try to avoid #ifdef's like this in C code. Add a stub function > to br_private_mrp.h. > > If you really cannot avoid #ifdef, please use #if IS_ENABLED(CONFIG_BRIDGE_MRP). > That expands to > > if (0) { > > } > > So the compiler will compile it and then optimize it out. That gives > us added benefit of build testing, we don't suddenly find the code no > longer compiles when we enable the option. > > > --- a/net/bridge/br_input.c > > +++ b/net/bridge/br_input.c > > @@ -21,6 +21,9 @@ > > #include <linux/rculist.h> > > #include "br_private.h" > > #include "br_private_tunnel.h" > > +#ifdef CONFIG_BRIDGE_MRP > > +#include "br_private_mrp.h" > > +#endif > > It should always be safe to include a header file. > > Andrew Thanks for pointing out these mistakes. I will try to avoid all these #ifdef's in the next patch series. -- /Horatiu