aboutsummaryrefslogtreecommitdiffstats
path: root/package/network
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-12-14 11:02:12 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-12-14 11:02:12 +0000
commit6da5d053b9e4c8b14c16a622e4660398fe2a2cdc (patch)
treef0d11bf91d9121e15ae87825ca82f2146c6f6586 /package/network
parentd9fbe33d708d19c77ad37b26534ea81e0c22248a (diff)
downloadmaster-187ad058-6da5d053b9e4c8b14c16a622e4660398fe2a2cdc.tar.gz
master-187ad058-6da5d053b9e4c8b14c16a622e4660398fe2a2cdc.tar.bz2
master-187ad058-6da5d053b9e4c8b14c16a622e4660398fe2a2cdc.zip
linux-atm: add wrapper for br2684ctl to defer nasX device bringup
Fixes a race condition on netifd device bringup. Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47891 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/network')
-rw-r--r--package/network/utils/linux-atm/Makefile5
-rwxr-xr-xpackage/network/utils/linux-atm/files/br2684ctl2
-rw-r--r--package/network/utils/linux-atm/files/br2684ctl_wrap5
3 files changed, 10 insertions, 2 deletions
diff --git a/package/network/utils/linux-atm/Makefile b/package/network/utils/linux-atm/Makefile
index 51e604c0bb..9c6cfec95c 100644
--- a/package/network/utils/linux-atm/Makefile
+++ b/package/network/utils/linux-atm/Makefile
@@ -182,7 +182,10 @@ define Package/br2684ctl/install
$(INSTALL_BIN) ./files/br2684ctl $(1)/etc/init.d/
$(INSTALL_DATA) ./files/atm.hotplug $(1)/etc/hotplug.d/atm/00-trigger
$(INSTALL_DIR) $(1)/usr/sbin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/br2684ctl $(1)/usr/sbin/
+ $(INSTALL_BIN) \
+ ./files/br2684ctl_wrap \
+ $(PKG_INSTALL_DIR)/usr/sbin/br2684ctl \
+ $(1)/usr/sbin/
endef
$(eval $(call BuildPackage,linux-atm))
diff --git a/package/network/utils/linux-atm/files/br2684ctl b/package/network/utils/linux-atm/files/br2684ctl
index 3d122270e9..1cac4df04d 100755
--- a/package/network/utils/linux-atm/files/br2684ctl
+++ b/package/network/utils/linux-atm/files/br2684ctl
@@ -58,7 +58,7 @@ start_daemon() {
procd_open_instance
procd_set_param command \
- /usr/sbin/br2684ctl \
+ /usr/sbin/br2684ctl_wrap "nas$unit" \
-c "$unit" -e "$encaps" -p "$payload" \
-a "$circuit" ${qos:+-q "$qos"} ${sendsize:+-s "$sendsize"}
procd_close_instance
diff --git a/package/network/utils/linux-atm/files/br2684ctl_wrap b/package/network/utils/linux-atm/files/br2684ctl_wrap
new file mode 100644
index 0000000000..d1bc98e014
--- /dev/null
+++ b/package/network/utils/linux-atm/files/br2684ctl_wrap
@@ -0,0 +1,5 @@
+#!/bin/sh
+. /lib/functions/network.sh
+device="$1"; shift
+network_defer_device "$device"
+exec /usr/sbin/br2684ctl "$@"