summaryrefslogtreecommitdiff
path: root/scripts/ipv6-up.sample
blob: 0974da941be189df28fef6debad1723bfd419e7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/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