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 03/10] batman-adv: add generic netlink query API to replace debugfs files
Date: Fri, 29 Apr 2016 21:55:32 +0200 [thread overview]
Message-ID: <36550935.HMH55OGFCA@sven-edge> (raw)
In-Reply-To: <1461875848-11720-4-git-send-email-andrew@lunn.ch>
[-- Attachment #1.1: Type: text/plain, Size: 2931 bytes --]
=2D-nextPart2018438.QxtFcXmdVu
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
On Thursday 28 April 2016 22:37:21 Andrew Lunn wrote:
[....]
> +int batadv_algo_dump(struct sk_buff *msg, struct netlink_callback *cb)
> +{
> + int portid = NETLINK_CB(cb->skb).portid;
This doesn't build on older kernels because the name of this field was
changed. Attached is a patch which should work(tm).
This was already discussed here:
https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-April/014880.html
But there is now still the problem that info->snd_portid was previously called
info->snd_pid. Also the genl_register_family_with_ops compat has to be added.
Kind regards,
Sven
=2D-nextPart2018438.QxtFcXmdVu
Content-Disposition: attachment; filename="0001-add-NETLINK_CB-portid-backport-hack.patch"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-patch; charset="UTF-8"; name="0001-add-NETLINK_CB-portid-backport-hack.patch"
From: Sven Eckelmann <sven@narfation.org>
Date: Fri, 29 Apr 2016 21:43:04 +0200
Subject: [PATCH] add NETLINK_CB portid backport hack
=2D--
compat-include/linux/netlink.h | 45 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
create mode 100644 compat-include/linux/netlink.h
diff --git a/compat-include/linux/netlink.h b/compat-include/linux/netlink.h
new file mode 100644
index 0000000..696f6da
=2D-- /dev/null
+++ b/compat-include/linux/netlink.h
@@ -0,0 +1,45 @@
+/* Copyright (C) 2007-2016 B.A.T.M.A.N. contributors:
+ *
+ * Marek Lindner, Simon Wunderlich
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU General Public
+ * License as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * This file contains macros for maintaining compatibility with older versions
+ * of the Linux kernel.
+ */
+
+#ifndef _NET_BATMAN_ADV_COMPAT_LINUX_NETLINK_H_
+#define _NET_BATMAN_ADV_COMPAT_LINUX_NETLINK_H_
+
+#include <linux/version.h>
+#include_next <linux/netlink.h>
+
+#include <net/scm.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 7, 0)
+
+struct batadv_netlink_skb_parms {
+ struct ucred creds; /* Skb credentials */
+ union {
+ __u32 portid;
+ __u32 pid;
+ };
+ __u32 dst_group;
+};
+
+#undef NETLINK_CB
+#define NETLINK_CB(skb) (*(struct batadv_netlink_skb_parms*)&((skb)->cb))
+
+#endif /* < KERNEL_VERSION(3, 7, 0) */
+
+#endif /* _NET_BATMAN_ADV_COMPAT_LINUX_NETLINK_H_ */
=2D-nextPart2018438.QxtFcXmdVu--
This is a multi-part message in MIME format.
[-- Attachment #1.2: Type: text/plain, Size: 597 bytes --]
On Thursday 28 April 2016 22:37:21 Andrew Lunn wrote:
[....]
> +int batadv_algo_dump(struct sk_buff *msg, struct netlink_callback *cb)
> +{
> + int portid = NETLINK_CB(cb->skb).portid;
This doesn't build on older kernels because the name of this field was
changed. Attached is a patch which should work(tm).
This was already discussed here:
https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2016-April/014880.html
But there is now still the problem that info->snd_portid was previously called
info->snd_pid. Also the genl_register_family_with_ops compat has to be added.
Kind regards,
Sven
[-- Attachment #1.3: 0001-add-NETLINK_CB-portid-backport-hack.patch --]
[-- Type: text/x-patch, Size: 1887 bytes --]
From: Sven Eckelmann <sven@narfation.org>
Date: Fri, 29 Apr 2016 21:43:04 +0200
Subject: [PATCH] add NETLINK_CB portid backport hack
---
compat-include/linux/netlink.h | 45 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
create mode 100644 compat-include/linux/netlink.h
diff --git a/compat-include/linux/netlink.h b/compat-include/linux/netlink.h
new file mode 100644
index 0000000..696f6da
--- /dev/null
+++ b/compat-include/linux/netlink.h
@@ -0,0 +1,45 @@
+/* Copyright (C) 2007-2016 B.A.T.M.A.N. contributors:
+ *
+ * Marek Lindner, Simon Wunderlich
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU General Public
+ * License as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * This file contains macros for maintaining compatibility with older versions
+ * of the Linux kernel.
+ */
+
+#ifndef _NET_BATMAN_ADV_COMPAT_LINUX_NETLINK_H_
+#define _NET_BATMAN_ADV_COMPAT_LINUX_NETLINK_H_
+
+#include <linux/version.h>
+#include_next <linux/netlink.h>
+
+#include <net/scm.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 7, 0)
+
+struct batadv_netlink_skb_parms {
+ struct ucred creds; /* Skb credentials */
+ union {
+ __u32 portid;
+ __u32 pid;
+ };
+ __u32 dst_group;
+};
+
+#undef NETLINK_CB
+#define NETLINK_CB(skb) (*(struct batadv_netlink_skb_parms*)&((skb)->cb))
+
+#endif /* < KERNEL_VERSION(3, 7, 0) */
+
+#endif /* _NET_BATMAN_ADV_COMPAT_LINUX_NETLINK_H_ */
[-- 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:55 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
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 [this message]
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=36550935.HMH55OGFCA@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;
as well as URLs for NNTP newsgroup(s).