From: Sven Eckelmann <sven@narfation.org>
To: b.a.t.m.a.n@lists.open-mesh.org
Subject: Re: [B.A.T.M.A.N.] [PATCH 01/10] batman-adv: Handle parent interfaces in a different netns
Date: Fri, 29 Apr 2016 21:51:12 +0200 [thread overview]
Message-ID: <7460918.gGjtq2HAJI@sven-edge> (raw)
In-Reply-To: <13794357.HqoOAIfBmV@bentobox>
[-- Attachment #1.1: Type: text/plain, Size: 3211 bytes --]
=2D-nextPart1676580.kur3a7VF0k
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
On Friday 29 April 2016 14:59:21 Sven Eckelmann wrote:
> 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
Attached is the patch version of the hack. It creates following warning:
/tmp/qemu-batman/batman-adv/net/batman-adv/hard-interface.c:103:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
return netdev->rtnl_link_ops->get_link_net(netdev);
^
If somebody else has a good/better idea then please post it.
Kind regards,
Sven
=2D-nextPart1676580.kur3a7VF0k
Content-Disposition: attachment; filename="0001-get_link_net-hack.patch"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-patch; charset="UTF-8"; name="0001-get_link_net-hack.patch"
From: Sven Eckelmann <sven@narfation.org>
Date: Fri, 29 Apr 2016 21:48:55 +0200
Subject: [PATCH] get_link_net hack
=2D--
compat.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/compat.h b/compat.h
index 5a5f478..0644241 100644
=2D-- a/compat.h
+++ b/compat.h
@@ -140,6 +140,13 @@ static int __batadv_interface_kill_vid(struct net_device *dev, __be16 proto,\
#endif /* < KERNEL_VERSION(3, 15, 0) */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0)
+
+/* WARNING for batadv_getlink_net */
+#define get_link_net get_xstats_size || 1 || netdev->rtnl_link_ops->get_xstats_size
+
+#endif /* < KERNEL_VERSION(4, 0, 0) */
+
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
#define IFF_NO_QUEUE 0; dev->tx_queue_len = 0
=2D-nextPart1676580.kur3a7VF0k--
This is a multi-part message in MIME format.
[-- Attachment #1.2: Type: text/plain, Size: 2070 bytes --]
On Friday 29 April 2016 14:59:21 Sven Eckelmann wrote:
> 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
Attached is the patch version of the hack. It creates following warning:
/tmp/qemu-batman/batman-adv/net/batman-adv/hard-interface.c:103:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
return netdev->rtnl_link_ops->get_link_net(netdev);
^
If somebody else has a good/better idea then please post it.
Kind regards,
Sven
[-- Attachment #1.3: 0001-get_link_net-hack.patch --]
[-- Type: text/x-patch, Size: 730 bytes --]
From: Sven Eckelmann <sven@narfation.org>
Date: Fri, 29 Apr 2016 21:48:55 +0200
Subject: [PATCH] get_link_net hack
---
compat.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/compat.h b/compat.h
index 5a5f478..0644241 100644
--- a/compat.h
+++ b/compat.h
@@ -140,6 +140,13 @@ static int __batadv_interface_kill_vid(struct net_device *dev, __be16 proto,\
#endif /* < KERNEL_VERSION(3, 15, 0) */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0)
+
+/* WARNING for batadv_getlink_net */
+#define get_link_net get_xstats_size || 1 || netdev->rtnl_link_ops->get_xstats_size
+
+#endif /* < KERNEL_VERSION(4, 0, 0) */
+
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
#define IFF_NO_QUEUE 0; dev->tx_queue_len = 0
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2016-04-29 19:51 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-28 20:37 [B.A.T.M.A.N.] [PATCH 00/10] netns and netlink support Andrew Lunn
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 01/10] batman-adv: Handle parent interfaces in a different netns Andrew Lunn
2016-04-29 5:52 ` Sven Eckelmann
2016-04-29 12:14 ` Andrew Lunn
2016-04-29 12:59 ` Sven Eckelmann
2016-04-29 19:51 ` Sven Eckelmann [this message]
2016-04-29 19:14 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 02/10] batman-adv: Suppress debugfs entries for netns's Andrew Lunn
2016-04-29 18:07 ` Sven Eckelmann
2016-04-29 18:53 ` Andrew Lunn
2016-04-29 19:14 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 03/10] batman-adv: add generic netlink query API to replace debugfs files Andrew Lunn
2016-04-29 18:11 ` Sven Eckelmann
2016-04-29 19:15 ` Sven Eckelmann
2016-04-29 19:55 ` Sven Eckelmann
2016-04-29 20:15 ` Sven Eckelmann
2016-04-29 20:26 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 04/10] batman-adv: netlink: add translation table query Andrew Lunn
2016-04-29 19:15 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 05/10] batman-adv: netlink: add originator and neighbor table queries Andrew Lunn
2016-04-29 19:15 ` Sven Eckelmann
2016-04-29 21:05 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 06/10] batman-adv: add B.A.T.M.A.N. IV bat_{orig, neigh}_dump implementations Andrew Lunn
2016-04-29 19:15 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 07/10] batman-adv: add B.A.T.M.A.N. V " Andrew Lunn
2016-04-29 19:15 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 08/10] batman-adv: Indicate netlink socket can be used with netns Andrew Lunn
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 09/10] batman-adv: add B.A.T.M.A.N. Dump gateways via netlink Andrew Lunn
2016-04-29 19:15 ` Sven Eckelmann
2016-04-29 20:36 ` Sven Eckelmann
2016-04-28 20:37 ` [B.A.T.M.A.N.] [PATCH 10/10] batman-adv: add B.A.T.M.A.N. Dump BLA claims " Andrew Lunn
2016-04-29 19:15 ` Sven Eckelmann
2016-04-29 21:07 ` Sven Eckelmann
2016-04-29 21:56 ` Andrew Lunn
2016-04-28 20:46 ` [B.A.T.M.A.N.] [PATCH 00/10] netns and netlink support Andrew Lunn
2016-04-29 6:19 ` Sven Eckelmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7460918.gGjtq2HAJI@sven-edge \
--to=sven@narfation.org \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox