#!/bin/sh /etc/rc.common
|
|
|
|
START=95
|
|
|
|
log_success_msg() {
|
|
echo "$@"
|
|
}
|
|
log_warning_msg() {
|
|
echo "$@" >&2
|
|
}
|
|
log_failure_msg() {
|
|
echo "$@" >&2
|
|
}
|
|
|
|
# "/usr/lib/frr/frrinit.sh start somenamespace"
|
|
FRR_PATHSPACE="$2"
|
|
self="`dirname $0`"
|
|
if [ -r "$self/frrcommon.sh" ]; then
|
|
. "$self/frrcommon.sh"
|
|
else
|
|
. "/usr/sbin/frrcommon.sh"
|
|
fi
|
|
|
|
|
|
start() {
|
|
daemon_list daemons
|
|
watchfrr_options="$watchfrr_options $daemons"
|
|
daemon_start watchfrr
|
|
}
|
|
stop() {
|
|
daemon_stop watchfrr
|
|
all_stop --reallyall
|
|
exit ${still_running:-0}
|
|
}
|
|
|
|
restart() {
|
|
daemon_stop watchfrr
|
|
all_stop --reallyall
|
|
|
|
daemon_list daemons
|
|
watchfrr_options="$watchfrr_options $daemons"
|
|
daemon_start watchfrr
|
|
}
|
|
|
|
status() {
|
|
fail=0
|
|
print_status watchfrr || fail=1
|
|
all_status || fail=1
|
|
exit $fail
|
|
}
|
|
|
|
reload() {
|
|
if [ ! -x "$RELOAD_SCRIPT" ]; then
|
|
log_failure_msg "The frr-pythontools package is required for reload functionality."
|
|
exit 1
|
|
fi
|
|
|
|
# restart watchfrr to pick up added daemons.
|
|
# NB: This will NOT cause the other daemons to be restarted.
|
|
daemon_list daemons
|
|
watchfrr_options="$watchfrr_options $daemons"
|
|
daemon_stop watchfrr && \
|
|
daemon_start watchfrr
|
|
|
|
NEW_CONFIG_FILE="${2:-$C_PATH/frr.conf}"
|
|
[ ! -r $NEW_CONFIG_FILE ] && log_failure_msg "Unable to read new configuration file $NEW_CONFIG_FILE" && exit 1
|
|
"$RELOAD_SCRIPT" --reload "$NEW_CONFIG_FILE"
|
|
exit $?
|
|
}
|
|
|