From: Jo-Philipp Wich Date: Thu, 18 Apr 2013 16:46:32 +0000 (+0200) Subject: Move batman files into subdirectory X-Git-Url: http://git.openwrt.org/?p=feed%2Frouting.git;a=commitdiff_plain;h=479b1fc487e15b53fb046ebcf9a006d27283d3be Move batman files into subdirectory --- diff --git a/Makefile b/Makefile deleted file mode 100644 index cd4a2ec..0000000 --- a/Makefile +++ /dev/null @@ -1,152 +0,0 @@ -# -# Copyright (C) 2008-2011 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/kernel.mk - -PKG_NAME:=batmand -PKG_REV:=1439 -PKG_VERSION:=r$(PKG_REV) -PKG_RELEASE:=2 -PKG_EXTRA_CFLAGS=-DDEBUG_MALLOC -DMEMORY_USAGE -DPROFILE_DATA -DREVISION_VERSION=\"\ rv$(PKG_REV)\" - -PKG_SOURCE_PROTO:=svn -PKG_SOURCE_VERSION:=$(PKG_REV) -PKG_SOURCE_SUBDIR:=$(if $(PKG_BRANCH),$(PKG_BRANCH),$(PKG_NAME))-$(PKG_VERSION) -PKG_SOURCE_URL:=http://downloads.open-mesh.org/svn/batman/trunk/ -PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz -PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_SOURCE_SUBDIR) - -PKG_KMOD_BUILD_DIR:=$(PKG_BUILD_DIR)/batman/linux/modules - -include $(INCLUDE_DIR)/package.mk - -define Package/batmand/Default - URL:=http://www.open-mesh.org/ - MAINTAINER:=Marek Lindner -endef - -define Package/batmand -$(call Package/batmand/Default) - SECTION:=net - CATEGORY:=Network - SUBMENU:=Routing and Redirection - DEPENDS:=+libpthread +kmod-tun - TITLE:=B.A.T.M.A.N. layer 3 routing daemon -endef - -define Package/batmand/description -B.A.T.M.A.N. layer 3 routing daemon -endef - -define Package/vis -$(call Package/batmand/Default) - SECTION:=net - CATEGORY:=Network - SUBMENU:=Routing and Redirection - DEPENDS:=+libpthread - TITLE:=visualization server for B.A.T.M.A.N. layer 3 -endef - -define Package/vis/description -visualization server for B.A.T.M.A.N. layer 3 -endef - -define KernelPackage/batgat -$(call Package/batmand/Default) - SUBMENU:=Network Support - DEPENDS:=+batmand - TITLE:=B.A.T.M.A.N. gateway module - FILES:=$(PKG_KMOD_BUILD_DIR)/batgat.$(LINUX_KMOD_SUFFIX) - AUTOLOAD:=$(call AutoLoad,50,batgat) -endef - - -define KernelPackage/batgat/description -Kernel gateway module for B.A.T.M.A.N. for better tunnel performance -endef - -MAKE_BATMAND_ARGS += \ - EXTRA_CFLAGS='$(TARGET_CFLAGS) $(PKG_EXTRA_CFLAGS)' \ - CCFLAGS="$(TARGET_CFLAGS)" \ - OFLAGS="$(TARGET_CFLAGS)" \ - REVISION="$(PKG_REV)" \ - CC="$(TARGET_CC)" \ - NODEBUG=1 \ - UNAME="Linux" \ - INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \ - STRIP="/bin/true" \ - batmand install - -MAKE_VIS_ARGS += \ - EXTRA_CFLAGS='$(TARGET_CFLAGS) $(PKG_EXTRA_CFLAGS)' \ - CCFLAGS="$(TARGET_CFLAGS)" \ - OFLAGS="$(TARGET_CFLAGS)" \ - REVISION="$(PKG_REV)" \ - CC="$(TARGET_CC)" \ - NODEBUG=1 \ - UNAME="Linux" \ - INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \ - STRIP="/bin/true" \ - vis install - -MAKE_BATGAT_ARGS += \ - CROSS_COMPILE="$(TARGET_CROSS)" \ - ARCH="$(LINUX_KARCH)" \ - PATH="$(TARGET_PATH)" \ - SUBDIRS="$(PKG_KMOD_BUILD_DIR)" \ - LINUX_VERSION="$(LINUX_VERSION)" \ - REVISION="$(PKG_REV)" modules - - -define Build/Configure -endef - -ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_batmand),) - BUILD_BATMAND := $(MAKE) -C $(PKG_BUILD_DIR)/batman $(MAKE_BATMAND_ARGS) -endif - -ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_vis),) - BUILD_VIS := $(MAKE) -C $(PKG_BUILD_DIR)/vis $(MAKE_VIS_ARGS) -endif - -ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_kmod-batgat),) - BUILD_BATGAT := $(MAKE) -C "$(LINUX_DIR)" $(MAKE_BATGAT_ARGS) -endif - -define Build/Compile - $(BUILD_BATMAND) - $(BUILD_VIS) - cp $(PKG_KMOD_BUILD_DIR)/Makefile.kbuild $(PKG_KMOD_BUILD_DIR)/Makefile - $(BUILD_BATGAT) -endef - -define Package/batmand/install - $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/batmand $(1)/usr/sbin/ - $(INSTALL_BIN) ./files/etc/init.d/batmand $(1)/etc/init.d - $(INSTALL_DATA) ./files/etc/config/batmand $(1)/etc/config -endef - -define Package/batmand/conffiles -/etc/config/batmand -endef - -define Package/vis/install - $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/vis $(1)/usr/sbin/ - $(INSTALL_BIN) ./files/etc/init.d/vis $(1)/etc/init.d - $(INSTALL_DATA) ./files/etc/config/vis $(1)/etc/config -endef - -define Package/vis/conffiles -/etc/config/vis -endef - -$(eval $(call BuildPackage,batmand)) -$(eval $(call BuildPackage,vis)) -$(eval $(call KernelPackage,batgat)) diff --git a/batman/Makefile b/batman/Makefile new file mode 100644 index 0000000..4026496 --- /dev/null +++ b/batman/Makefile @@ -0,0 +1,152 @@ +# +# Copyright (C) 2008-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=batmand +PKG_REV:=1439 +PKG_VERSION:=r$(PKG_REV) +PKG_RELEASE:=2 +PKG_EXTRA_CFLAGS=-DDEBUG_MALLOC -DMEMORY_USAGE -DPROFILE_DATA -DREVISION_VERSION=\"\ rv$(PKG_REV)\" + +PKG_SOURCE_PROTO:=svn +PKG_SOURCE_VERSION:=$(PKG_REV) +PKG_SOURCE_SUBDIR:=$(if $(PKG_BRANCH),$(PKG_BRANCH),$(PKG_NAME))-$(PKG_VERSION) +PKG_SOURCE_URL:=http://downloads.open-mesh.org/svn/batman/trunk/ +PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz +PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_SOURCE_SUBDIR) + +PKG_KMOD_BUILD_DIR:=$(PKG_BUILD_DIR)/batman/linux/modules + +include $(INCLUDE_DIR)/package.mk + +define Package/batmand/Default + URL:=http://www.open-mesh.org/ + MAINTAINER:=Marek Lindner +endef + +define Package/batmand +$(call Package/batmand/Default) + SECTION:=net + CATEGORY:=Network + SUBMENU:=Routing and Redirection + DEPENDS:=+libpthread +kmod-tun + TITLE:=B.A.T.M.A.N. layer 3 routing daemon +endef + +define Package/batmand/description +B.A.T.M.A.N. layer 3 routing daemon +endef + +define Package/vis +$(call Package/batmand/Default) + SECTION:=net + CATEGORY:=Network + SUBMENU:=Routing and Redirection + DEPENDS:=+libpthread + TITLE:=visualization server for B.A.T.M.A.N. layer 3 +endef + +define Package/vis/description +visualization server for B.A.T.M.A.N. layer 3 +endef + +define KernelPackage/batgat +$(call Package/batmand/Default) + SUBMENU:=Network Support + DEPENDS:=+batmand @BROKEN + TITLE:=B.A.T.M.A.N. gateway module + FILES:=$(PKG_KMOD_BUILD_DIR)/batgat.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,50,batgat) +endef + + +define KernelPackage/batgat/description +Kernel gateway module for B.A.T.M.A.N. for better tunnel performance +endef + +MAKE_BATMAND_ARGS += \ + EXTRA_CFLAGS='$(TARGET_CFLAGS) $(PKG_EXTRA_CFLAGS)' \ + CCFLAGS="$(TARGET_CFLAGS)" \ + OFLAGS="$(TARGET_CFLAGS)" \ + REVISION="$(PKG_REV)" \ + CC="$(TARGET_CC)" \ + NODEBUG=1 \ + UNAME="Linux" \ + INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \ + STRIP="/bin/true" \ + batmand install + +MAKE_VIS_ARGS += \ + EXTRA_CFLAGS='$(TARGET_CFLAGS) $(PKG_EXTRA_CFLAGS)' \ + CCFLAGS="$(TARGET_CFLAGS)" \ + OFLAGS="$(TARGET_CFLAGS)" \ + REVISION="$(PKG_REV)" \ + CC="$(TARGET_CC)" \ + NODEBUG=1 \ + UNAME="Linux" \ + INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \ + STRIP="/bin/true" \ + vis install + +MAKE_BATGAT_ARGS += \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + ARCH="$(LINUX_KARCH)" \ + PATH="$(TARGET_PATH)" \ + SUBDIRS="$(PKG_KMOD_BUILD_DIR)" \ + LINUX_VERSION="$(LINUX_VERSION)" \ + REVISION="$(PKG_REV)" modules + + +define Build/Configure +endef + +ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_batmand),) + BUILD_BATMAND := $(MAKE) -C $(PKG_BUILD_DIR)/batman $(MAKE_BATMAND_ARGS) +endif + +ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_vis),) + BUILD_VIS := $(MAKE) -C $(PKG_BUILD_DIR)/vis $(MAKE_VIS_ARGS) +endif + +ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_kmod-batgat),) + BUILD_BATGAT := $(MAKE) -C "$(LINUX_DIR)" $(MAKE_BATGAT_ARGS) +endif + +define Build/Compile + $(BUILD_BATMAND) + $(BUILD_VIS) + cp $(PKG_KMOD_BUILD_DIR)/Makefile.kbuild $(PKG_KMOD_BUILD_DIR)/Makefile + $(BUILD_BATGAT) +endef + +define Package/batmand/install + $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/batmand $(1)/usr/sbin/ + $(INSTALL_BIN) ./files/etc/init.d/batmand $(1)/etc/init.d + $(INSTALL_DATA) ./files/etc/config/batmand $(1)/etc/config +endef + +define Package/batmand/conffiles +/etc/config/batmand +endef + +define Package/vis/install + $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/vis $(1)/usr/sbin/ + $(INSTALL_BIN) ./files/etc/init.d/vis $(1)/etc/init.d + $(INSTALL_DATA) ./files/etc/config/vis $(1)/etc/config +endef + +define Package/vis/conffiles +/etc/config/vis +endef + +$(eval $(call BuildPackage,batmand)) +$(eval $(call BuildPackage,vis)) +$(eval $(call KernelPackage,batgat)) diff --git a/batman/files/etc/config/batmand b/batman/files/etc/config/batmand new file mode 100644 index 0000000..6d1f3be --- /dev/null +++ b/batman/files/etc/config/batmand @@ -0,0 +1,12 @@ +config batmand general + option interface ath0 + option hna + option gateway_class + option originator_interval + option preferred_gateway + option routing_class + option visualisation_srv + option policy_routing_script + option disable_client_nat + option disable_aggregation + diff --git a/batman/files/etc/config/vis b/batman/files/etc/config/vis new file mode 100644 index 0000000..6d30023 --- /dev/null +++ b/batman/files/etc/config/vis @@ -0,0 +1,3 @@ +config vis general + option interface ath0 + diff --git a/batman/files/etc/init.d/batmand b/batman/files/etc/init.d/batmand new file mode 100644 index 0000000..403e9f3 --- /dev/null +++ b/batman/files/etc/init.d/batmand @@ -0,0 +1,66 @@ +#!/bin/sh /etc/rc.common +START=90 + +start () { + interface=$(uci get batmand.general.interface) + if [ "$interface" = "" ]; then + echo $1 Error, you must specify at least a network interface + exit + fi + hnas=$(uci get batmand.general.hna) + gateway_class=$(uci get batmand.general.gateway_class) + originator_interval=$(uci get batmand.general.originator_interval) + preferred_gateway=$(uci get batmand.general.preferred_gateway) + routing_class=$(uci get batmand.general.routing_class) + visualisation_srv=$(uci get batmand.general.visualisation_srv) + policy_routing_script=$(uci get batmand.general.policy_routing_script) + disable_client_nat=$(uci get batmand.general.disable_client_nat) + disable_aggregation=$(uci get batmand.general.disable_aggregation) + batman_args="" + + for hna in $hnas + do + batman_args=${batman_args}'-a '$hna' ' + done + + if [ $gateway_class ]; then + batman_args=${batman_args}'-g '$gateway_class' ' + fi + + if [ $originator_interval ]; then + batman_args=${batman_args}'-o '$originator_interval' ' + fi + + if [ $preferred_gateway ]; then + batman_args=${batman_args}'-p '$preferred_gateway' ' + fi + + if [ $routing_class ]; then + batman_args=${batman_args}'-r '$routing_class' ' + fi + + if [ $visualisation_srv ]; then + batman_args=${batman_args}'-s '$visualisation_srv' ' + fi + + if [ $policy_routing_script ]; then + batman_args=${batman_args}'--policy-routing-script '$policy_routing_script' ' + fi + + if [ $disable_client_nat ]; then + batman_args=${batman_args}'--disable-client-nat ' + fi + + if [ $disable_aggregation ]; then + batman_args=${batman_args}'--disable-aggregation ' + fi + + batman_args=${batman_args}$interface + batmand $batman_args >/dev/null 2>&1 +} + +stop () { + killall batmand +} + + diff --git a/batman/files/etc/init.d/vis b/batman/files/etc/init.d/vis new file mode 100644 index 0000000..ef18eb7 --- /dev/null +++ b/batman/files/etc/init.d/vis @@ -0,0 +1,19 @@ +#!/bin/sh /etc/rc.common +START=90 + +start () { + interface=$(uci get vis.general.interface) + if [ "$interface" = "" ]; then + echo $1 Error, you must specify at least a network interface + exit + fi + vis_args=$interface + + vis $vis_args >/dev/null 2>&1 +} + +stop () { + killall vis +} + + diff --git a/batman/patches/100-2.6.36.patch b/batman/patches/100-2.6.36.patch new file mode 100644 index 0000000..566c23b --- /dev/null +++ b/batman/patches/100-2.6.36.patch @@ -0,0 +1,47 @@ +--- + batman/linux/modules/gateway.c | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +--- batmand-r1439.orig/batman/linux/modules/gateway.c ++++ batmand-r1439/batman/linux/modules/gateway.c +@@ -29,6 +29,7 @@ static struct class *batman_class; + static int batgat_open(struct inode *inode, struct file *filp); + static int batgat_release(struct inode *inode, struct file *file); + static int batgat_ioctl( struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg ); ++static long batgat_ioctl_unlocked(struct file *file, unsigned int cmd, unsigned long arg ); + + + static void udp_data_ready(struct sock *sk, int len); +@@ -53,7 +54,11 @@ static int proc_clients_read(char *buf, + static struct file_operations fops = { + .open = batgat_open, + .release = batgat_release, ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36) ++ .unlocked_ioctl = batgat_ioctl_unlocked, ++#else + .ioctl = batgat_ioctl, ++#endif + }; + + +@@ -166,6 +171,20 @@ static int batgat_release(struct inode * + } + + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36) ++#include ++static long batgat_ioctl_unlocked(struct file *file, unsigned int cmd, unsigned long arg ) ++{ ++ int ret; ++ ++ lock_kernel(); ++ ret = batgat_ioctl(file->f_path.dentry->d_inode, file, cmd, arg); ++ unlock_kernel(); ++ ++ return ret; ++} ++#endif ++ + static int batgat_ioctl( struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg ) + { + uint8_t tmp_ip[4]; diff --git a/files/etc/config/batmand b/files/etc/config/batmand deleted file mode 100644 index 6d1f3be..0000000 --- a/files/etc/config/batmand +++ /dev/null @@ -1,12 +0,0 @@ -config batmand general - option interface ath0 - option hna - option gateway_class - option originator_interval - option preferred_gateway - option routing_class - option visualisation_srv - option policy_routing_script - option disable_client_nat - option disable_aggregation - diff --git a/files/etc/config/vis b/files/etc/config/vis deleted file mode 100644 index 6d30023..0000000 --- a/files/etc/config/vis +++ /dev/null @@ -1,3 +0,0 @@ -config vis general - option interface ath0 - diff --git a/files/etc/init.d/batmand b/files/etc/init.d/batmand deleted file mode 100644 index 403e9f3..0000000 --- a/files/etc/init.d/batmand +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh /etc/rc.common -START=90 - -start () { - interface=$(uci get batmand.general.interface) - if [ "$interface" = "" ]; then - echo $1 Error, you must specify at least a network interface - exit - fi - hnas=$(uci get batmand.general.hna) - gateway_class=$(uci get batmand.general.gateway_class) - originator_interval=$(uci get batmand.general.originator_interval) - preferred_gateway=$(uci get batmand.general.preferred_gateway) - routing_class=$(uci get batmand.general.routing_class) - visualisation_srv=$(uci get batmand.general.visualisation_srv) - policy_routing_script=$(uci get batmand.general.policy_routing_script) - disable_client_nat=$(uci get batmand.general.disable_client_nat) - disable_aggregation=$(uci get batmand.general.disable_aggregation) - batman_args="" - - for hna in $hnas - do - batman_args=${batman_args}'-a '$hna' ' - done - - if [ $gateway_class ]; then - batman_args=${batman_args}'-g '$gateway_class' ' - fi - - if [ $originator_interval ]; then - batman_args=${batman_args}'-o '$originator_interval' ' - fi - - if [ $preferred_gateway ]; then - batman_args=${batman_args}'-p '$preferred_gateway' ' - fi - - if [ $routing_class ]; then - batman_args=${batman_args}'-r '$routing_class' ' - fi - - if [ $visualisation_srv ]; then - batman_args=${batman_args}'-s '$visualisation_srv' ' - fi - - if [ $policy_routing_script ]; then - batman_args=${batman_args}'--policy-routing-script '$policy_routing_script' ' - fi - - if [ $disable_client_nat ]; then - batman_args=${batman_args}'--disable-client-nat ' - fi - - if [ $disable_aggregation ]; then - batman_args=${batman_args}'--disable-aggregation ' - fi - - batman_args=${batman_args}$interface - batmand $batman_args >/dev/null 2>&1 -} - -stop () { - killall batmand -} - - diff --git a/files/etc/init.d/vis b/files/etc/init.d/vis deleted file mode 100644 index ef18eb7..0000000 --- a/files/etc/init.d/vis +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh /etc/rc.common -START=90 - -start () { - interface=$(uci get vis.general.interface) - if [ "$interface" = "" ]; then - echo $1 Error, you must specify at least a network interface - exit - fi - vis_args=$interface - - vis $vis_args >/dev/null 2>&1 -} - -stop () { - killall vis -} - - diff --git a/patches/100-2.6.36.patch b/patches/100-2.6.36.patch deleted file mode 100644 index 566c23b..0000000 --- a/patches/100-2.6.36.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- - batman/linux/modules/gateway.c | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - ---- batmand-r1439.orig/batman/linux/modules/gateway.c -+++ batmand-r1439/batman/linux/modules/gateway.c -@@ -29,6 +29,7 @@ static struct class *batman_class; - static int batgat_open(struct inode *inode, struct file *filp); - static int batgat_release(struct inode *inode, struct file *file); - static int batgat_ioctl( struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg ); -+static long batgat_ioctl_unlocked(struct file *file, unsigned int cmd, unsigned long arg ); - - - static void udp_data_ready(struct sock *sk, int len); -@@ -53,7 +54,11 @@ static int proc_clients_read(char *buf, - static struct file_operations fops = { - .open = batgat_open, - .release = batgat_release, -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36) -+ .unlocked_ioctl = batgat_ioctl_unlocked, -+#else - .ioctl = batgat_ioctl, -+#endif - }; - - -@@ -166,6 +171,20 @@ static int batgat_release(struct inode * - } - - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36) -+#include -+static long batgat_ioctl_unlocked(struct file *file, unsigned int cmd, unsigned long arg ) -+{ -+ int ret; -+ -+ lock_kernel(); -+ ret = batgat_ioctl(file->f_path.dentry->d_inode, file, cmd, arg); -+ unlock_kernel(); -+ -+ return ret; -+} -+#endif -+ - static int batgat_ioctl( struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg ) - { - uint8_t tmp_ip[4];