1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/sbin/openrc-run
- # Copyright 1999-2016 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- CONFIGFILE=/etc/radvd.conf
- PIDFILE=/run/radvd/radvd.pid
- SYSCTL_FORWARD=net.ipv6.conf.all.forwarding
- extra_started_commands="reload"
- depend() {
- need net
- }
- checkconfig() {
- if [ ! -f "${CONFIGFILE}" ]; then
- eerror "Configuration file ${CONFIGFILE} not found"
- return 1
- fi
- if ! /usr/sbin/radvd -c -C "${CONFIGFILE}" ; then
- eerror "Configuration file ${CONFIGFILE} failed test"
- return 1
- fi
- checkpath -d -o radvd:radvd ${PIDFILE%/*}
- }
- start() {
- if [ "${FORWARD}" != "no" ]; then
- ebegin "Enabling IPv6 forwarding"
- sysctl -w "${SYSCTL_FORWARD}=1" >/dev/null
- eend $?
- fi
- checkconfig || return 1
- ebegin "Starting IPv6 Router Advertisement Daemon"
- start-stop-daemon --start --exec /usr/sbin/radvd \
- --pidfile "${PIDFILE}" \
- -- -C "${CONFIGFILE}" -p "${PIDFILE}" -u radvd ${OPTIONS}
- eend $?
- }
- stop() {
- ebegin "Stopping IPv6 Router Advertisement Daemon"
- start-stop-daemon --stop --exec /usr/sbin/radvd --pidfile "${PIDFILE}"
- eend $?
- if [ "${FORWARD}" != "no" ]; then
- ebegin "Disabling IPv6 forwarding"
- sysctl -w "${SYSCTL_FORWARD}=0" > /dev/null
- eend $?
- fi
- }
- reload() {
- if [ "${FORWARD}" != "no" ]; then
- ebegin "Enabling IPv6 forwarding"
- sysctl -w "${SYSCTL_FORWARD}=1" >/dev/null
- eend $?
- fi
- checkconfig || return 1
- ebegin "Reloading IPv6 Router Advertisement Daemon"
- start-stop-daemon --signal HUP \
- --exec /usr/sbin/radvd --pidfile "${PIDFILE}"
- eend $?
- }
|