6relayd: try to workaround race condition at startup
authorcyrus <cyrus@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 2 Jan 2014 11:38:36 +0000 (11:38 +0000)
committercyrus <cyrus@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 2 Jan 2014 11:38:36 +0000 (11:38 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39184 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/network/ipv6/6relayd/Makefile
package/network/ipv6/6relayd/files/6relayd.init

index 6f3c173..f3811a9 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=6relayd
-PKG_VERSION:=2013-10-21
+PKG_VERSION:=2013-10-21.1
 PKG_RELEASE=$(PKG_SOURCE_VERSION)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
index 89b8610..68816b7 100644 (file)
@@ -34,7 +34,7 @@ start_6relayd() {
        local master masterif
        config_get masterif "$cfg" master
        network_get_device master "$masterif"
-       [ -z "$master" ] && master="."
+       [ -z "$master" -o "$master" = "$masterif" ] && master="."
 
        # Detect slave interfaces
        local slaves=""
@@ -45,10 +45,10 @@ start_6relayd() {
                network_get_device slave "$slaveif"
                # Compatibility with old config format
                if [ "$mode" = "relay" -a "$master" = "." ]; then
-                       [ -z "$slave" ] && return 0
+                       [ -z "$slave" -o "$slave" = "$slaveif" ] && return 0
                        master="$slave"
                else
-                       [ -n "$slave" ] && append slaves "$slave"
+                       [ -n "$slave" -o "$slave" = "$slaveif" ] && append slaves "$slave"
                fi
        done