diff options
Diffstat (limited to 'package/linux-atm')
-rw-r--r-- | package/linux-atm/Makefile | 24 | ||||
-rwxr-xr-x | package/linux-atm/files/br2684ctl | 60 |
2 files changed, 82 insertions, 2 deletions
diff --git a/package/linux-atm/Makefile b/package/linux-atm/Makefile index 39db05ef9..8a759df56 100644 --- a/package/linux-atm/Makefile +++ b/package/linux-atm/Makefile @@ -1,4 +1,4 @@ -# +# # Copyright (C) 2006-2010 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. @@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=linux-atm PKG_VERSION:=2.5.2 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@SF/$(PKG_NAME) @@ -43,6 +43,18 @@ define Package/atm-tools/description This package contains the Linux ATM tools. endef +define Package/br2684ctl + SECTION:=net + CATEGORY:=Network + DEPENDS:=linux-atm + TITLE:=ATM Ethernet bridging configuration utility + URL:=http://linux-atm.sourceforge.net/ +endef + +define Package/br2684ctl/description + Support for AAL5 encapsulation (RFC-1483/RFC-2684) over ATM. +endef + define Build/Configure $(call Build/Configure/Default) # prevent autoheader invocation @@ -109,5 +121,13 @@ define Package/atm-tools/install # $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ttcp_atm $(1)/usr/bin/ endef +define Package/br2684ctl/install + $(INSTALL_DIR) $(1)/etc/init.d/ + $(INSTALL_BIN) ./files/br2684ctl $(1)/etc/init.d/ + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/br2684ctl $(1)/usr/sbin/ +endef + $(eval $(call BuildPackage,linux-atm)) $(eval $(call BuildPackage,atm-tools)) +$(eval $(call BuildPackage,br2684ctl)) diff --git a/package/linux-atm/files/br2684ctl b/package/linux-atm/files/br2684ctl new file mode 100755 index 000000000..929e2b887 --- /dev/null +++ b/package/linux-atm/files/br2684ctl @@ -0,0 +1,60 @@ +#!/bin/sh /etc/rc.common +START=50 + +start_daemon() { + local cfg="$1" + + local atmdev + config_get atmdev "$cfg" atmdev 0 + + local unit + config_get unit "$cfg" unit 0 + + local vpi + config_get vpi "$cfg" vpi 8 + + local vci + config_get vci "$cfg" vci 35 + + local encaps + config_get encaps "$cfg" encaps + + case "$encaps" in + 1|vc) encaps=1;; + *) encaps=0;; + esac + + local payload + config_get payload "$cfg" payload + + case "$payload" in + 0|routed) payload=0;; + *) payload=1;; + esac + + local qos + config_get qos "$cfg" qos + + local circuit="$atmdev.$vpi.$vci" + local pid="/var/run/br2684ctl-$circuit.pid" + + start-stop-daemon -S -b -x /usr/sbin/br2684ctl -m -p "$pid" -- \ + -c "$unit" -e "$encaps" -p "$payload" \ + -a "$circuit" ${qos:+-q "$qos"} +} + +start() { + insmod br2684 >/dev/null 2>/dev/null + config_load network + config_foreach start_daemon atm-bridge +} + +stop() { + local pid + for pid in /var/run/br2684ctl-*.pid; do + if [ -f "$pid" ]; then + service_kill br2684ctl "$pid" + rm -f "$pid" + fi + done +} |