From f587d378d0d8110552210d54325c5141c91680ae Mon Sep 17 00:00:00 2001 From: Thomas Lotterer Date: Fri, 25 Jul 2003 09:23:36 +0000 Subject: [PATCH] extend bind/listen logic to companion daemons --- zebra/rc.zebra | 43 ++++++++++++++++++++++++++++++------------- zebra/zebra.spec | 2 +- 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/zebra/rc.zebra b/zebra/rc.zebra index 28ec393709..7d55c1e1e7 100644 --- a/zebra/rc.zebra +++ b/zebra/rc.zebra @@ -9,6 +9,15 @@ zebra_flags="" zebra_bind="127.0.0.1" zebra_port="2601" + zebra_rip_flags="" + zebra_rip_bind="${zebra_bind}" + zebra_rip_port="2602" + zebra_ospf_flags="" + zebra_ospf_bind="${zebra_bind}" + zebra_ospf_port="2604" + zebra_bgp_flags="" + zebra_bgp_bind="${zebra_bind}" + zebra_bgp_port="2605" zebra_log_prolog="true" zebra_log_epilog="true" zebra_log_numfiles="10" @@ -31,20 +40,28 @@ %start -u @l_susr@ rcService zebra enable yes || exit 0 rcService zebra active yes && exit 0 - flags="$zebra_flags" - echo $flags | grep -- -A >/dev/null - if [ $? -ne 0 -a ".$zebra_bind" != . ]; then - flags="$flags -A $zebra_bind" - fi - echo $flags | grep -- -P >/dev/null - if [ $? -ne 0 -a ".$zebra_port" != . ]; then - flags="$flags -P $zebra_port" - fi cd @l_prefix@/etc/zebra - @l_prefix@/sbin/zebra -d $flags - for protocol in $zebra_protocols; do - if [ -f @l_prefix@/sbin/${protocol}d ]; then - @l_prefix@/sbin/${protocol}d -d + for i in zebra $zebra_protocols; do + if [ ".$i" = .zebra ]; then + midfix="" + daemon="${i}"; + else + midfix="${i}_"; + daemon="${i}d"; + fi + if [ -x @l_prefix@/sbin/${daemon} ]; then + flags=`eval echo \\\$zebra_${midfix}flags`; + extra=`eval echo \\\$zebra_${midfix}bind`; + echo $flags | grep -- -A >/dev/null + if [ $? -ne 0 -a ".$extra" != . ]; then + flags="$flags -A $extra" + fi + extra=`eval echo \\\$zebra_${midfix}port`; + echo $flags | grep -- -P >/dev/null + if [ $? -ne 0 -a ".$extra" != . ]; then + flags="$flags -P $extra" + fi + @l_prefix@/sbin/${daemon} -d ${flags} fi done @l_prefix@/bin/vtysh -b diff --git a/zebra/zebra.spec b/zebra/zebra.spec index 53e0204b38..062c17c43b 100644 --- a/zebra/zebra.spec +++ b/zebra/zebra.spec @@ -33,7 +33,7 @@ Distribution: OpenPKG [BASE] Group: Network License: GPL Version: 0.93b -Release: 20030724 +Release: 20030725 # list of sources Source0: ftp://ftp.zebra.org/pub/zebra/zebra-%{version}.tar.gz