summaryrefslogtreecommitdiff
path: root/scripts/ipv6-up.sample
blob: e880445a65b5d19bdcbae44f4f2c102bf50089ac (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
#!/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=/usr/inet6/etc/radvd.conf-$DEVICE
PIDFILE=/var/run/radvd-$DEVICE.pid

if [ -x /usr/inet6/sbin/radvd && -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 [ "$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.
    /usr/inet6/sbin/radvd -d 1 -C $CFGFILE &
    echo $! >$PIDFILE
fi