batman-adv: upgrade package to latest release 2016.1
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
This commit is contained in:
parent
cd13a319ed
commit
049cae3fe8
4 changed files with 121 additions and 22 deletions
|
@ -24,3 +24,7 @@ config KMOD_BATMAN_ADV_NC
|
||||||
depends on PACKAGE_kmod-batman-adv
|
depends on PACKAGE_kmod-batman-adv
|
||||||
default n
|
default n
|
||||||
|
|
||||||
|
config KMOD_BATMAN_ADV_BATMAN_V
|
||||||
|
bool "enable batman v routing algorithm"
|
||||||
|
depends on PACKAGE_kmod-batman-adv
|
||||||
|
default n
|
||||||
|
|
|
@ -10,12 +10,12 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=batman-adv
|
PKG_NAME:=batman-adv
|
||||||
|
|
||||||
PKG_VERSION:=2014.4.0
|
PKG_VERSION:=2016.1
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_MD5SUM:=b1518e84ce530883d224c6ca4c673ce8
|
PKG_MD5SUM:=8c8e449009b4d29512d26ee308960bb5
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=http://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
@ -24,12 +24,12 @@ include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/kernel.mk
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
define KernelPackage/batman-adv
|
define KernelPackage/batman-adv
|
||||||
URL:=http://www.open-mesh.org/
|
URL:=https://www.open-mesh.org/
|
||||||
MAINTAINER:=Marek Lindner <mareklindner@neomailbox.ch>
|
MAINTAINER:=Marek Lindner <mareklindner@neomailbox.ch>
|
||||||
SUBMENU:=Network Support
|
SUBMENU:=Network Support
|
||||||
DEPENDS:=+KMOD_BATMAN_ADV_BLA:kmod-lib-crc16 +kmod-crypto-core +kmod-crypto-crc32c +kmod-lib-crc32c
|
DEPENDS:=+KMOD_BATMAN_ADV_BLA:kmod-lib-crc16 +kmod-crypto-core +kmod-crypto-crc32c +kmod-lib-crc32c +kmod-cfg80211
|
||||||
TITLE:=B.A.T.M.A.N. Adv
|
TITLE:=B.A.T.M.A.N. Adv
|
||||||
FILES:=$(PKG_BUILD_DIR)/batman-adv.$(LINUX_KMOD_SUFFIX)
|
FILES:=$(PKG_BUILD_DIR)/net/batman-adv/batman-adv.$(LINUX_KMOD_SUFFIX)
|
||||||
AUTOLOAD:=$(call AutoLoad,50,batman-adv)
|
AUTOLOAD:=$(call AutoLoad,50,batman-adv)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -47,29 +47,44 @@ define Package/kmod-batman-adv/conffiles
|
||||||
/etc/config/batman-adv
|
/etc/config/batman-adv
|
||||||
endef
|
endef
|
||||||
|
|
||||||
MAKE_BATMAN_ADV_ARGS += \
|
PKG_EXTRA_KCONFIG:= \
|
||||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
CONFIG_BATMAN_ADV=m \
|
||||||
KERNELPATH="$(LINUX_DIR)" \
|
|
||||||
ARCH="$(LINUX_KARCH)" \
|
|
||||||
PATH="$(TARGET_PATH)" \
|
|
||||||
SUBDIRS="$(PKG_BUILD_DIR)" \
|
|
||||||
PWD="$(PKG_BUILD_DIR)" \
|
|
||||||
LINUX_VERSION="$(LINUX_VERSION)" \
|
|
||||||
CONFIG_BATMAN_ADV_DEBUG=$(if $(CONFIG_KMOD_BATMAN_ADV_DEBUG_LOG),y,n) \
|
CONFIG_BATMAN_ADV_DEBUG=$(if $(CONFIG_KMOD_BATMAN_ADV_DEBUG_LOG),y,n) \
|
||||||
CONFIG_BATMAN_ADV_BLA=$(if $(CONFIG_KMOD_BATMAN_ADV_BLA),y,n) \
|
CONFIG_BATMAN_ADV_BLA=$(if $(CONFIG_KMOD_BATMAN_ADV_BLA),y,n) \
|
||||||
CONFIG_BATMAN_ADV_DAT=$(if $(CONFIG_KMOD_BATMAN_ADV_DAT),y,n) \
|
CONFIG_BATMAN_ADV_DAT=$(if $(CONFIG_KMOD_BATMAN_ADV_DAT),y,n) \
|
||||||
CONFIG_BATMAN_ADV_MCAST=$(if $(CONFIG_KMOD_BATMAN_ADV_MCAST),y,n) \
|
CONFIG_BATMAN_ADV_MCAST=$(if $(CONFIG_KMOD_BATMAN_ADV_MCAST),y,n) \
|
||||||
CONFIG_BATMAN_ADV_NC=$(if $(CONFIG_KMOD_BATMAN_ADV_NC),y,n) \
|
CONFIG_BATMAN_ADV_NC=$(if $(CONFIG_KMOD_BATMAN_ADV_NC),y,n) \
|
||||||
REVISION="" all
|
CONFIG_BATMAN_ADV_BATMAN_V=$(if $(CONFIG_KMOD_BATMAN_ADV_BATMAN_V),y,n) \
|
||||||
|
|
||||||
|
PKG_EXTRA_CFLAGS:= \
|
||||||
|
$(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(PKG_EXTRA_KCONFIG)))) \
|
||||||
|
$(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(PKG_EXTRA_KCONFIG)))) \
|
||||||
|
|
||||||
|
NOSTDINC_FLAGS = \
|
||||||
|
-I$(PKG_BUILD_DIR)/net/batman-adv \
|
||||||
|
-I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
|
||||||
|
-I$(STAGING_DIR)/usr/include/mac80211-backport \
|
||||||
|
-I$(STAGING_DIR)/usr/include/mac80211/uapi \
|
||||||
|
-I$(STAGING_DIR)/usr/include/mac80211 \
|
||||||
|
-include backport/backport.h \
|
||||||
|
-include $(PKG_BUILD_DIR)/compat-hacks.h
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
+$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
|
||||||
|
ARCH="$(LINUX_KARCH)" \
|
||||||
|
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||||
|
SUBDIRS="$(PKG_BUILD_DIR)/net/batman-adv" \
|
||||||
|
$(PKG_EXTRA_KCONFIG) \
|
||||||
|
EXTRA_CFLAGS="$(PKG_EXTRA_CFLAGS)" \
|
||||||
|
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
|
||||||
|
modules
|
||||||
|
endef
|
||||||
|
|
||||||
define Build/Prepare
|
define Build/Prepare
|
||||||
$(call Build/Prepare/Default)
|
$(call Build/Prepare/Default)
|
||||||
|
$(CP) ./files/compat-hacks.h $(PKG_BUILD_DIR)/
|
||||||
$(SED) '/#define _NET_BATMAN_ADV_MAIN_H_/a\#undef CONFIG_MODULE_STRIPPED' \
|
$(SED) '/#define _NET_BATMAN_ADV_MAIN_H_/a\#undef CONFIG_MODULE_STRIPPED' \
|
||||||
$(PKG_BUILD_DIR)/main.h
|
$(PKG_BUILD_DIR)/net/batman-adv/main.h
|
||||||
endef
|
|
||||||
|
|
||||||
define Build/Compile
|
|
||||||
$(MAKE) -C "$(PKG_BUILD_DIR)" $(MAKE_BATMAN_ADV_ARGS)
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Clean
|
define Build/Clean
|
||||||
|
|
76
batman-adv/files/compat-hacks.h
Normal file
76
batman-adv/files/compat-hacks.h
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
/* Please avoid adding hacks here - instead add it to mac80211/backports.git */
|
||||||
|
|
||||||
|
#include <linux/version.h> /* LINUX_VERSION_CODE */
|
||||||
|
#include <linux/types.h>
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0)
|
||||||
|
|
||||||
|
#define dev_get_iflink(_net_dev) ((_net_dev)->iflink)
|
||||||
|
|
||||||
|
#endif /* < KERNEL_VERSION(4, 1, 0) */
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0)
|
||||||
|
|
||||||
|
#include <linux/netdevice.h>
|
||||||
|
|
||||||
|
#define netdev_master_upper_dev_link(dev, upper_dev, upper_priv, upper_info) ({\
|
||||||
|
BUILD_BUG_ON(upper_priv != NULL); \
|
||||||
|
BUILD_BUG_ON(upper_info != NULL); \
|
||||||
|
netdev_set_master(dev, upper_dev); \
|
||||||
|
})
|
||||||
|
|
||||||
|
#elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0)
|
||||||
|
|
||||||
|
#include <linux/netdevice.h>
|
||||||
|
|
||||||
|
#define netdev_master_upper_dev_link(dev, upper_dev, upper_priv, upper_info) ({\
|
||||||
|
BUILD_BUG_ON(upper_priv != NULL); \
|
||||||
|
BUILD_BUG_ON(upper_info != NULL); \
|
||||||
|
netdev_master_upper_dev_link(dev, upper_dev); \
|
||||||
|
})
|
||||||
|
|
||||||
|
#endif /* < KERNEL_VERSION(4, 5, 0) */
|
||||||
|
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
|
||||||
|
|
||||||
|
#define IFF_NO_QUEUE 0; dev->tx_queue_len = 0
|
||||||
|
|
||||||
|
#endif /* < KERNEL_VERSION(4, 3, 0) */
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
|
||||||
|
|
||||||
|
#include <linux/ethtool.h>
|
||||||
|
|
||||||
|
#define ethtool_link_ksettings batadv_ethtool_link_ksettings
|
||||||
|
|
||||||
|
struct batadv_ethtool_link_ksettings {
|
||||||
|
struct {
|
||||||
|
__u32 speed;
|
||||||
|
__u8 duplex;
|
||||||
|
} base;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define __ethtool_get_link_ksettings(__dev, __link_settings) \
|
||||||
|
batadv_ethtool_get_link_ksettings(__dev, __link_settings)
|
||||||
|
|
||||||
|
static inline int
|
||||||
|
batadv_ethtool_get_link_ksettings(struct net_device *dev,
|
||||||
|
struct ethtool_link_ksettings *link_ksettings)
|
||||||
|
{
|
||||||
|
struct ethtool_cmd cmd;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
memset(&cmd, 0, sizeof(cmd));
|
||||||
|
ret = __ethtool_get_settings(dev, &cmd);
|
||||||
|
|
||||||
|
if (ret != 0)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
link_ksettings->base.duplex = cmd.duplex;
|
||||||
|
link_ksettings->base.speed = ethtool_cmd_speed(&cmd);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* < KERNEL_VERSION(4, 6, 0) */
|
|
@ -6,14 +6,18 @@ init_proto "$@"
|
||||||
|
|
||||||
proto_batadv_init_config() {
|
proto_batadv_init_config() {
|
||||||
proto_config_add_string "mesh"
|
proto_config_add_string "mesh"
|
||||||
|
proto_config_add_string "routing_algo"
|
||||||
}
|
}
|
||||||
|
|
||||||
proto_batadv_setup() {
|
proto_batadv_setup() {
|
||||||
local config="$1"
|
local config="$1"
|
||||||
local iface="$2"
|
local iface="$2"
|
||||||
|
|
||||||
local mesh
|
local mesh routing_algo
|
||||||
json_get_vars mesh
|
json_get_vars mesh routing_algo
|
||||||
|
|
||||||
|
[ -n "$routing_algo" ] || routing_algo="BATMAN_IV"
|
||||||
|
echo "$routing_algo" > "/sys/module/batman_adv/parameters/routing_algo"
|
||||||
|
|
||||||
echo "$mesh" > "/sys/class/net/$iface/batman_adv/mesh_iface"
|
echo "$mesh" > "/sys/class/net/$iface/batman_adv/mesh_iface"
|
||||||
proto_init_update "$iface" 1
|
proto_init_update "$iface" 1
|
||||||
|
|
Loading…
Reference in a new issue