batman-adv: upgrade package to latest release 2017.2
* support latest kernels (3.2 - 4.13) * avoid bridge loop detection mac addresses in translation tables * coding style cleanups and refactoring * bugs squashed: - ignore invalid throughput values from wifi interfaces Signed-off-by: Sven Eckelmann <sven@narfation.org>
This commit is contained in:
parent
0b33235ddb
commit
8da2f5cbb1
2 changed files with 63 additions and 3 deletions
|
@ -10,10 +10,10 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=batman-adv
|
PKG_NAME:=batman-adv
|
||||||
|
|
||||||
PKG_VERSION:=2017.1
|
PKG_VERSION:=2017.2
|
||||||
PKG_RELEASE:=0
|
PKG_RELEASE:=0
|
||||||
PKG_MD5SUM:=f8eb805c0a0241c3bd8ec086a00f2099
|
PKG_MD5SUM:=937b5f1d0188e3522d67ad45ee0a4f5a
|
||||||
PKG_HASH:=ec1848023308c41710eeefb544580f5853d68b88a627a3f2dabaa3472b988c15
|
PKG_HASH:=d487974e21cb53d39f139e93a2cf297807df5b7bf63ba6d810bad6d91537394f
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
||||||
|
|
|
@ -11,6 +11,13 @@
|
||||||
|
|
||||||
#endif /* < KERNEL_VERSION(4, 1, 0) */
|
#endif /* < KERNEL_VERSION(4, 1, 0) */
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 0)
|
||||||
|
|
||||||
|
/* Linux 3.15 misses the uapi include.... */
|
||||||
|
#include <uapi/linux/nl80211.h>
|
||||||
|
|
||||||
|
#endif /* < KERNEL_VERSION(3, 16, 0) */
|
||||||
|
|
||||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0)
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0)
|
||||||
|
|
||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
|
@ -36,6 +43,11 @@
|
||||||
|
|
||||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0)
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0)
|
||||||
|
|
||||||
|
/* for batadv_v_elp_get_throughput which would have used
|
||||||
|
* STATION_INFO_EXPECTED_THROUGHPUT in Linux 4.0.0
|
||||||
|
*/
|
||||||
|
#define NL80211_STA_INFO_EXPECTED_THROUGHPUT 28
|
||||||
|
|
||||||
/* wild hack for batadv_getlink_net only */
|
/* wild hack for batadv_getlink_net only */
|
||||||
#define get_link_net get_xstats_size || 1 ? fallback_net : (struct net*)netdev->rtnl_link_ops->get_xstats_size
|
#define get_link_net get_xstats_size || 1 ? fallback_net : (struct net*)netdev->rtnl_link_ops->get_xstats_size
|
||||||
|
|
||||||
|
@ -214,6 +226,54 @@ static inline int batadv_nla_put_u64_64bit(struct sk_buff *skb, int attrtype,
|
||||||
|
|
||||||
#endif /* < KERNEL_VERSION(4, 10, 0) */
|
#endif /* < KERNEL_VERSION(4, 10, 0) */
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 9)
|
||||||
|
|
||||||
|
/* work around missing attribute needs_free_netdev and priv_destructor in
|
||||||
|
* net_device
|
||||||
|
*/
|
||||||
|
#define ether_setup(dev) \
|
||||||
|
void batadv_softif_free2(struct net_device *dev) \
|
||||||
|
{ \
|
||||||
|
batadv_softif_free(dev); \
|
||||||
|
free_netdev(dev); \
|
||||||
|
} \
|
||||||
|
void (*t1)(struct net_device *dev) __attribute__((unused)); \
|
||||||
|
bool t2 __attribute__((unused)); \
|
||||||
|
ether_setup(dev)
|
||||||
|
#define needs_free_netdev destructor = batadv_softif_free2; t2
|
||||||
|
#define priv_destructor destructor = batadv_softif_free2; t1
|
||||||
|
|
||||||
|
#endif /* < KERNEL_VERSION(4, 11, 9) */
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 13, 0)
|
||||||
|
|
||||||
|
static inline void *batadv_skb_put(struct sk_buff *skb, unsigned int len)
|
||||||
|
{
|
||||||
|
return (void *)skb_put(skb, len);
|
||||||
|
}
|
||||||
|
#define skb_put batadv_skb_put
|
||||||
|
|
||||||
|
static inline void *skb_put_zero(struct sk_buff *skb, unsigned int len)
|
||||||
|
{
|
||||||
|
void *tmp = skb_put(skb, len);
|
||||||
|
|
||||||
|
memset(tmp, 0, len);
|
||||||
|
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void *skb_put_data(struct sk_buff *skb, const void *data,
|
||||||
|
unsigned int len)
|
||||||
|
{
|
||||||
|
void *tmp = skb_put(skb, len);
|
||||||
|
|
||||||
|
memcpy(tmp, data, len);
|
||||||
|
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* < KERNEL_VERSION(4, 13, 0) */
|
||||||
|
|
||||||
/* <DECLARE_EWMA> */
|
/* <DECLARE_EWMA> */
|
||||||
|
|
||||||
#include <linux/version.h>
|
#include <linux/version.h>
|
||||||
|
|
Loading…
Reference in a new issue