summaryrefslogtreecommitdiffstats
path: root/package/linux-atm
diff options
context:
space:
mode:
Diffstat (limited to 'package/linux-atm')
-rw-r--r--package/linux-atm/Makefile24
-rwxr-xr-xpackage/linux-atm/files/br2684ctl60
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
+}