=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 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 . + * + * 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 +#include_next + +#include + +#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.