#!/bin/sh
#
# This script is called with the following parameters:
# interface tty speed local-address remote-address ipparam
#


# Start router advertisements on this link.
# Based on radvd 0.5.0 behaviour

DEVICE="$1"

CFGFILE="/etc/radvd.conf-$DEVICE"
PIDFILE="/var/run/radvd-$DEVICE.pid"
EXEFILE="/usr/sbin/radvd"

if [ -x "$EXEFILE" -a -f "$CFGFILE" ]; then
    touch "$PIDFILE"
    if [ ! -f "$PIDFILE" ]; then
	echo "error: $PIDFILE is not a regular file. Aborting"
	exit 0
    fi

    PID="$(cat "$PIDFILE")"
    if [ -n "$PID" ]; then
	ps h "$PID" >/dev/null 2>&1 && exit 0
    fi

    # radvd 0.5.0 doesn't write a pid-file so we do it here
    # enabling debugging keeps radvd in foreground, putting it
    # on background gives us the PID.
    "$EXEFILE" -d 1 -C "$CFGFILE" &
    echo $! >"$PIDFILE"
fi
