summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debianpkg/frr.logrotate2
-rw-r--r--redhat/daemons2
-rwxr-xr-xredhat/frr.init2
-rw-r--r--redhat/frr.spec.in4
-rw-r--r--tools/etc/frr/daemons.conf1
-rwxr-xr-xtools/frr23
6 files changed, 30 insertions, 4 deletions
diff --git a/debianpkg/frr.logrotate b/debianpkg/frr.logrotate
index 2b4acd89c7..750b9aef13 100644
--- a/debianpkg/frr.logrotate
+++ b/debianpkg/frr.logrotate
@@ -17,7 +17,7 @@
# open, as well as the daemons, so always signal the daemons.
# It's safe, a NOP if (only) syslog is being used.
for i in babeld bgpd eigrpd isisd ldpd nhrpd ospf6d ospfd \
- pimd ripd ripngd zebra ; do
+ pimd ripd ripngd zebra staticd ; do
if [ -e /var/run/frr/$i.pid ] ; then
pids="$pids $(cat /var/run/frr/$i.pid)"
fi
diff --git a/redhat/daemons b/redhat/daemons
index b674d738b8..f9dbffea4d 100644
--- a/redhat/daemons
+++ b/redhat/daemons
@@ -51,6 +51,7 @@ eigrpd=no
babeld=no
sharpd=no
pbrd=no
+staticd=no
#
# Command line options for the daemons
#
@@ -68,6 +69,7 @@ eigrpd_options=("-A 127.0.0.1")
babeld_options=("-A 127.0.0.1")
sharpd_options=("-A 127.0.0.1")
pbrd_options=("-A 127.0.0.1")
+staticd_options=("-A 127.0.0.1")
#
# If the vtysh_enable is yes, then the unified config is read
diff --git a/redhat/frr.init b/redhat/frr.init
index 19b282fe1a..740aa5b64d 100755
--- a/redhat/frr.init
+++ b/redhat/frr.init
@@ -33,7 +33,7 @@ V_PATH=/var/run/frr
# Local Daemon selection may be done by using /etc/frr/daemons.
# See /usr/share/doc/frr/README.Debian.gz for further information.
# Keep zebra first and do not list watchfrr!
-DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd pimd pbrd ldpd nhrpd eigrpd babeld"
+DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd pimd pbrd ldpd nhrpd eigrpd babeld staticd sharpd"
MAX_INSTANCES=5
RELOAD_SCRIPT=/usr/lib/frr/frr-reload.py
diff --git a/redhat/frr.spec.in b/redhat/frr.spec.in
index 85fb309048..f5b116978e 100644
--- a/redhat/frr.spec.in
+++ b/redhat/frr.spec.in
@@ -85,7 +85,7 @@
%{!?frr_gid: %global frr_gid 92 }
%{!?vty_gid: %global vty_gid 85 }
-%define daemon_list zebra ripd ospfd bgpd isisd ripngd ospf6d pbrd
+%define daemon_list zebra ripd ospfd bgpd isisd ripngd ospf6d pbrd staticd
%if %{with_ldpd}
%define daemon_ldpd ldpd
@@ -416,6 +416,7 @@ zebra_spec_add_service ()
zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
zebra_spec_add_service zebra 2601/tcp "zebra vty"
+zebra_spec_add_service staticd 2616/tcp "staticd vty"
zebra_spec_add_service ripd 2602/tcp "RIPd vty"
zebra_spec_add_service ripngd 2603/tcp "RIPngd vty"
zebra_spec_add_service ospfd 2604/tcp "OSPFd vty"
@@ -561,6 +562,7 @@ fi
%{_infodir}/frr.info.gz
%{_mandir}/man*/*
%{_sbindir}/zebra
+%{_sbindir}/staticd
%{_sbindir}/ospfd
%{_sbindir}/ripd
%{_sbindir}/bgpd
diff --git a/tools/etc/frr/daemons.conf b/tools/etc/frr/daemons.conf
index e6c0cde968..04a857f47d 100644
--- a/tools/etc/frr/daemons.conf
+++ b/tools/etc/frr/daemons.conf
@@ -18,6 +18,7 @@ eigrpd_options=" --daemon -A 127.0.0.1"
babeld_options=" --daemon -A 127.0.0.1"
sharpd_options=" --daemon -A 127.0.0.1"
pbrd_options=" --daemon -A 127.0.0.1"
+staticd_options=" --daemon -A 127.0.0.1"
# The list of daemons to watch is automatically generated by the init script.
watchfrr_enable=yes
diff --git a/tools/frr b/tools/frr
index 7d7b97433a..99acb6b1f7 100755
--- a/tools/frr
+++ b/tools/frr
@@ -21,7 +21,7 @@ V_PATH=/var/run/frr
# Local Daemon selection may be done by using /etc/frr/daemons.
# See /usr/share/doc/frr/README.Debian.gz for further information.
# Keep zebra first and do not list watchfrr!
-DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd babeld pimd ldpd nhrpd eigrpd sharpd pbrd"
+DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd babeld pimd ldpd nhrpd eigrpd sharpd pbrd staticd"
MAX_INSTANCES=5
RELOAD_SCRIPT=/usr/lib/frr/frr-reload.py
@@ -170,6 +170,22 @@ start()
`eval echo "$""$1""_options"`
fi
fi
+
+ # Start the staticd automatically
+ if [ "$1" = "zebra" ]; then
+ echo -n "starting staticd since zebra is running"
+ if ! check_daemon staticd ; then
+ echo -n " (binary does not exist)"
+ return;
+ fi
+
+ ${SSD} \
+ --start \
+ --pidfile=`pidfile staticd` \
+ --exec "$D_PATH/staticd" \
+ -- \
+ `eval echo "$"staticd"_options"`
+ fi
}
# Stop the daemon given in the parameter, printing its name to the terminal.
@@ -210,6 +226,11 @@ stop()
echo -n " $inst"
rm -f `pidfile $inst`
rm -f `vtyfile $inst`
+
+ if [ "$1" = "zebra" ]; then
+ echo -n "Stopping staticd since zebra is running"
+ stop staticd
+ fi
fi
}