[PATCH 1/1] Temporarily added tunneldigger package as a fff package.
Robert Langhammer
rlanghammer at web.de
Di Nov 1 18:25:42 CET 2016
Hallo,
getestet und läuft
Allerdings nicht mit älteren Brokern. Unser erster Broker in der
Has-Hood vom Februar 16 war zu alt. Man merkt es am Router, der Tunnel
hat 0 RX Bytes und am GW kommen ERRORs im log beim entsprechenden Router.
Ein "git pull" am GW im Tunneldiggerverzeichnis
(/srv/tunneldigger/tunneldigger/) hilft.
Tested-by: Robert Langhammer rlanghammer at web.de
Viele Grüße
Robert
Am 31.10.2016 um 19:21 schrieb Steffen Pankratz:
> Because we want to test this tunneldigger version in order to move on
> with https://github.com/wlanslovenija/firmware-packages-opkg/pull/10
>
> Signed-off-by: Steffen Pankratz <kratz00 at gmx.de>
> ---
> buildscript | 7 +-
> src/packages/fff/tunneldigger/Makefile | 47 +++++++++++++
> src/packages/fff/tunneldigger/files/config.default | 8 +++
> .../fff/tunneldigger/files/tunneldigger.init | 80 ++++++++++++++++++++++
> 4 files changed, 136 insertions(+), 6 deletions(-)
> create mode 100644 src/packages/fff/tunneldigger/Makefile
> create mode 100644 src/packages/fff/tunneldigger/files/config.default
> create mode 100755 src/packages/fff/tunneldigger/files/tunneldigger.init
>
> diff --git a/buildscript b/buildscript
> index 0205bd0..03c7d23 100755
> --- a/buildscript
> +++ b/buildscript
> @@ -39,15 +39,10 @@ ROUTING=(routing
> e870c3373eea80df852d42fac3f40aaffd7a0f58)
> ROUTING_PKGS="alfred"
>
> -WLANSLOVENIJA=(wlanslovenija
> - https://github.com/wlanslovenija/firmware-packages-opkg
> - fec592e0540ef883bc8b27b77e7ff45d93ed3f24)
> -WLANSLOVENIJA_PKGS="tunneldigger"
> -
> FFF=(fff)
> FFF_PKGS="-a"
>
> -FEEDS=(OPENWRT ROUTING GLUON WLANSLOVENIJA FFF)
> +FEEDS=(OPENWRT ROUTING GLUON FFF)
>
> checkout_git(){
> local DIRECTORY=$1
> diff --git a/src/packages/fff/tunneldigger/Makefile b/src/packages/fff/tunneldigger/Makefile
> new file mode 100644
> index 0000000..a8838f1
> --- /dev/null
> +++ b/src/packages/fff/tunneldigger/Makefile
> @@ -0,0 +1,47 @@
> +include $(TOPDIR)/rules.mk
> +
> +PKG_NAME:=tunneldigger
> +PKG_VERSION:=0.4.5
> +PKG_RELEASE:=1
> +PKG_REV:=0bae1419da12de64d1c7571c5f6649d39d682052
> +
> +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
> +PKG_SOURCE_URL:=git://github.com/wlanslovenija/tunneldigger.git
> +PKG_SOURCE_PROTO:=git
> +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
> +PKG_SOURCE_VERSION:=$(PKG_REV)
> +
> +include $(INCLUDE_DIR)/package.mk
> +
> +define Package/tunneldigger
> + SECTION:=net
> + CATEGORY:=Network
> + DEPENDS:=+libnl-tiny +kmod-l2tp +kmod-l2tp-ip +kmod-l2tp-eth +librt +libpthread
> + TITLE:=tunneldigger
> +endef
> +
> +TARGET_CFLAGS += \
> + -I$(STAGING_DIR)/usr/include/libnl-tiny \
> + -I$(STAGING_DIR)/usr/include \
> + -DLIBNL_TINY
> +
> +define Build/Prepare
> + $(call Build/Prepare/Default)
> + mv $(PKG_BUILD_DIR)/client/* $(PKG_BUILD_DIR)
> + sed -i s/-lnl/-lnl-tiny/g $(PKG_BUILD_DIR)/Makefile
> +endef
> +
> +define Package/tunneldigger/install
> + $(INSTALL_DIR) $(1)/usr/bin
> + $(INSTALL_BIN) $(PKG_BUILD_DIR)/l2tp_client $(1)/usr/bin/tunneldigger
> + $(INSTALL_DIR) $(1)/etc/init.d
> + $(INSTALL_BIN) ./files/tunneldigger.init $(1)/etc/init.d/tunneldigger
> + $(INSTALL_DIR) $(1)/etc/config
> + $(INSTALL_DATA) ./files/config.default $(1)/etc/config/tunneldigger
> +endef
> +
> +define Package/tunneldigger/conffiles
> +/etc/config/tunneldigger
> +endef
> +
> +$(eval $(call BuildPackage,tunneldigger))
> diff --git a/src/packages/fff/tunneldigger/files/config.default b/src/packages/fff/tunneldigger/files/config.default
> new file mode 100644
> index 0000000..571621a
> --- /dev/null
> +++ b/src/packages/fff/tunneldigger/files/config.default
> @@ -0,0 +1,8 @@
> +config broker
> + list address 'x.y.z.w:8942'
> + list address 'x.y.z.w:53'
> + list address 'x.y.z.w:123'
> + option uuid 'abcd'
> + option interface 'l2tp0'
> + option limit_bw_down '1024'
> + option enabled '0'
> diff --git a/src/packages/fff/tunneldigger/files/tunneldigger.init b/src/packages/fff/tunneldigger/files/tunneldigger.init
> new file mode 100755
> index 0000000..875ecba
> --- /dev/null
> +++ b/src/packages/fff/tunneldigger/files/tunneldigger.init
> @@ -0,0 +1,80 @@
> +#!/bin/sh /etc/rc.common
> +
> +. $IPKG_INSTROOT/lib/functions/network.sh
> +
> +START=90
> +
> +PIDPATH=/var/run
> +tunnel_id=1
> +
> +missing() {
> + echo "Not starting tunneldigger - missing $1" >&2
> +}
> +
> +config_cb() {
> + local cfg="$CONFIG_SECTION"
> + config_get configname "$cfg" TYPE
> + case "$configname" in
> + broker)
> + config_get_bool enabled "$cfg" enabled 1
> + config_get addresses "$cfg" address
> + config_get uuid "$cfg" uuid
> + config_get interface "$cfg" interface
> + config_get limit_bw_down "$cfg" limit_bw_down
> + config_get hook_script "$cfg" hook_script
> + config_get bind_interface "$cfg" bind_interface
> +
> + [ $enabled -eq 0 ] && return
> +
> + local broker_opts=""
> + for address in $addresses; do
> + append broker_opts "-b ${address}"
> + done
> +
> + [ ! -z "${limit_bw_down}" ] && append broker_opts "-L ${limit_bw_down}"
> + [ ! -z "${hook_script}" ] && append broker_opts "-s ${hook_script}"
> + [ ! -z "${bind_interface}" ] && {
> + # Resolve logical interface name.
> + unset _bind_interface
> + network_get_device _bind_interface "${bind_interface}" || _bind_interface="${bind_interface}"
> + append broker_opts "-I ${_bind_interface}"
> + }
> +
> + if [ -z "$uuid" ]; then
> + missing uuid
> + return
> + elif [ -z "$interface" ]; then
> + missing interface
> + return
> + fi
> +
> + echo "Starting tunneldigger on ${interface}"
> + /sbin/start-stop-daemon -S -q -b -m -p ${PIDPATH}/tunneldigger.${interface}.pid -x /usr/bin/tunneldigger -- -u ${uuid} -i ${interface} -t ${tunnel_id} ${broker_opts}
> +
> + let tunnel_id++
> + ;;
> + esac
> +}
> +
> +start() {
> + config_load tunneldigger
> +}
> +
> +stop() {
> + for PIDFILE in `find ${PIDPATH}/ -name "tunneldigger\.*\.pid"`; do
> + PID="$(cat ${PIDFILE})"
> + IFACE="$(echo ${PIDFILE} | awk -F\/tunneldigger '{print $2}' | cut -d'.' -f2)"
> + echo "Stopping tunneldigger for interface ${IFACE}"
> + start-stop-daemon -K -q -p $PIDFILE
> + while test -d "/proc/${PID}"; do
> + echo " waiting for tunneldigger to stop"
> + sleep 1
> + done
> + echo " tunneldigger stopped"
> + done
> +}
> +
> +restart() {
> + stop
> + start
> +}
Mehr Informationen über die Mailingliste franken-dev