#!/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 $? }