#!/bin/bash

usage()
{
	echo '/etc/net IPv6 handler'
	echo "Usage: $0 <interface> <start|stop>" >&2
	exit 1
}

[ $# -ge 2 ] || usage
NAME=$1
ACTION=$2
eval "IPV4ADDRESS=($3)"
eval "IPV6ADDRESS=($4)"
pickup_defaults
$MODPROBE ipv6

case $ACTION in
	start)
		. $SCRIPTDIR/functions-ipv6
		if ! is_yes "$DONT_FLUSH"; then
			$IP -6 address flush dev $NAME scope host >/dev/null 2>&1
			$IP -6 address flush dev $NAME scope site >/dev/null 2>&1
			$IP -6 address flush dev $NAME scope global >/dev/null 2>&1
		fi
		xargise_file $MYIFACEDIR/ipv6address "$IP -6 address add dev $NAME"
		if iface_is_up $NAME; then
		    config_ipv6_routes_rules add
		fi
	;;
	stop)
		. $SCRIPTDIR/functions-ipv6
		config_ipv6_routes_rules del
		if ! is_yes "$DONT_FLUSH"; then
			$IP -6 address flush dev $NAME scope host >/dev/null 2>&1
			$IP -6 address flush dev $NAME scope site >/dev/null 2>&1
			$IP -6 address flush dev $NAME scope global >/dev/null 2>&1
		fi
	;;
	*)
		print_error "Illegal argument to $0: '$ACTION'"
	;;
esac
