Re: [B.A.T.M.A.N.] [PATCH 01/10] batman-adv: Handle parent interfaces in a different netns

Sven Eckelmann
2016-04-29T12:59:21Z

[-- Attachment #1: Type: text/plain, Size: 1680 bytes --]

On Friday 29 April 2016 14:14:27 Andrew Lunn wrote:
> On Fri, Apr 29, 2016 at 07:52:42AM +0200, Sven Eckelmann wrote:
> > On Thursday 28 April 2016 22:37:19 Andrew Lunn wrote:
> > > batman-adv tries to prevent the user from placing a batX soft
> > > interface into another batman mesh as a hard interface. It does this
> > > by walking up the devices list of parents and ensures they are all
> > > none batX interfaces. iflink can point to an interface in a different
> > > namespace, so also retrieve the parents name space when finding the
> > > parent and use it when doing the comparison.
> > >
> > > Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> > > Acked-by: Antonio Quartulli <a@untable.cc>
> > > ---
> >
> > You are unfortunately reverting back to an older version of the patch
> > which is harder to make compile on older kernels.
>
> Hi Sven
>
> Please point me at the version you would prefer.

Partially this one: https://patchwork.open-mesh.org/patch/15921/

I know that your current submission doesn't contain the compat-patches part
(which I find rather ugly) but this version has only a single function
handling the batadv_getlink_net and thus could be easier to create some wild
#defines working around the compat problem on older versions. But it will most
likely end with a warning and being a big NOP on older kernels.

It is something like (untested):

/* WARNING dirty hack for batadv_getlink_net */
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0)
#define get_link_net get_xstats_size || 1 || netdev->rtnl_link_ops->get_xstats_size
#endif

It is the version of the "share your drugs" hack from earlier compat hacks.