mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-10 02:55:55 +02:00
78 lines
2.5 KiB
Bash
78 lines
2.5 KiB
Bash
#!/bin/sh
|
|
###############################################################################
|
|
# #
|
|
# IPFire.org - A linux based firewall #
|
|
# Copyright (C) 2007-2022 IPFire Team <info@ipfire.org> #
|
|
# #
|
|
# This program is free software: you can redistribute it and/or modify #
|
|
# it under the terms of the GNU General Public License as published by #
|
|
# the Free Software Foundation, either version 3 of the License, or #
|
|
# (at your option) any later version. #
|
|
# #
|
|
# This program is distributed in the hope that it will be useful, #
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
|
# GNU General Public License for more details. #
|
|
# #
|
|
# You should have received a copy of the GNU General Public License #
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
|
|
# #
|
|
###############################################################################
|
|
|
|
. /etc/sysconfig/rc
|
|
. ${rc_functions}
|
|
|
|
DAEMONS="mgmtd zebra bgpd ospfd staticd"
|
|
|
|
case "${1}" in
|
|
start)
|
|
# Fix permissions of configuration directory
|
|
if [ -d "/etc/frr" ]; then
|
|
chown root.frr /etc/frr
|
|
chmod 775 /etc/frr
|
|
fi
|
|
|
|
for daemon in ${DAEMONS}; do
|
|
if [ -f "/etc/frr/${daemon}.conf" ]; then
|
|
# Set permissions
|
|
chown frr.frr "/etc/frr/${daemon}.conf"
|
|
|
|
boot_mesg "Starting FRRouting ${daemon}..."
|
|
loadproc "/usr/sbin/${daemon}" --daemon
|
|
fi
|
|
done
|
|
;;
|
|
|
|
stop)
|
|
for daemon in ${DAEMONS}; do
|
|
boot_mesg "Stopping FRRouting ${daemon}..."
|
|
killproc "/usr/sbin/${daemon}"
|
|
done
|
|
;;
|
|
|
|
reload)
|
|
# Reload all daemons
|
|
for daemon in ${DAEMONS}; do
|
|
boot_mesg "Reloading FRRouting ${daemon}..."
|
|
reloadproc "/usr/sbin/${daemon}"
|
|
done
|
|
;;
|
|
|
|
restart)
|
|
${0} stop
|
|
sleep 1
|
|
${0} start
|
|
;;
|
|
|
|
status)
|
|
for daemon in ${DAEMONS}; do
|
|
statusproc "/usr/sbin/${daemon}"
|
|
done
|
|
;;
|
|
|
|
*)
|
|
echo "Usage: ${0} {start|stop|reload|restart|status}"
|
|
exit 1
|
|
;;
|
|
esac
|