]> git.proxmox.com Git - mirror_frr.git/commitdiff
tools: fix new init script wrt. multi-instance
authorDavid Lamparter <equinox@opensourcerouting.org>
Mon, 18 Feb 2019 23:27:45 +0000 (00:27 +0100)
committerDavid Lamparter <equinox@diac24.net>
Tue, 19 Feb 2019 20:38:23 +0000 (21:38 +0100)
TBH when I looked at watchfrr I didn't see any MI support and hence
assumed this just didn't work to begin with.  However, it actually does
(transparently to watchfrr, by just using "ospfd-1" as daemon name.)

So, fix this up and make it work again.

(Also remove 2 extraneous \n in messages.)

Signed-off-by: David Lamparter <equinox@diac24.net>
tools/frrcommon.sh.in

index fa2fdc94b2af6973083060e0819eda70e3bd04d5..065295f527494de86ad4fb4c7addd4ccb8d6a6ca 100644 (file)
@@ -67,9 +67,9 @@ vtysh_b () {
 daemon_inst() {
        # note this sets global variables ($dmninst, $daemon, $inst)
        dmninst="$1"
-       daemon="${dmninst%:*}"
+       daemon="${dmninst%-*}"
        inst=""
-       [ "$daemon" != "$dmninst" ] && inst="${dmninst#*:}"
+       [ "$daemon" != "$dmninst" ] && inst="${dmninst#*-}"
 }
 
 daemon_list() {
@@ -89,9 +89,12 @@ daemon_list() {
                        enabled="$enabled $daemon"
                        if [ -n "$inst" ]; then
                                debug "$daemon multi-instance $inst"
+                               oldifs="${IFS}"
+                               IFS="${IFS},"
                                for i in $inst; do
-                                       enabled="$enabled $daemon:$inst"
+                                       enabled="$enabled $daemon-$i"
                                done
+                               IFS="${oldifs}"
                        fi
                else
                        debug "$daemon disabled"
@@ -116,7 +119,7 @@ daemon_prep() {
        inst="$2"
        [ "$daemon" = "watchfrr" ] && return 0
        [ -x "$D_PATH/$daemon" ] || {
-               log_failure_msg "cannot start $daemon${inst:+ (instance $inst)}: daemon binary not installed\n"
+               log_failure_msg "cannot start $daemon${inst:+ (instance $inst)}: daemon binary not installed"
                return 1
        }
        [ -r "$C_PATH/frr.conf" ] && return 0
@@ -276,7 +279,7 @@ load_old_config() {
 }
 
 [ -r "$C_PATH/daemons" ] || {
-       log_failure_msg "cannot run $@: $C_PATH/daemons does not exist\n"
+       log_failure_msg "cannot run $@: $C_PATH/daemons does not exist"
        exit 1
 }
 . "$C_PATH/daemons"