#!/bin/sh
#============================================================================
# Default Xen network start/stop script when using NAT.
# Xend calls a network script when it starts.
# The script name to use is defined in /etc/xen/xend-config.sxp
# in the network-script field.
#
# Usage:
#
# network-nat (start|stop|status) {VAR=VAL}*
#
# Vars:
#
# netdev     The gateway interface (default eth0).
# antispoof  Whether to use iptables to prevent spoofing (default no).
#
#============================================================================



# Exit if anything goes wrong.
set -e 

# First arg is the operation.
OP=$1
shift

# Pull variables in args in to environment.
for arg ; do export "${arg}" ; done

netdev=${netdev:-eth0}
# antispoofing not yet implemented
antispoof=${antispoof:-no}

echo "*network-nat $OP netdev=$netdev antispoof=$antispoof" >&2


op_start() {
	echo 1 >/proc/sys/net/ipv4/ip_forward
	iptables -t nat -A POSTROUTING -o ${netdev} -j MASQUERADE
}


op_stop() {
	iptables -t nat -D POSTROUTING -o ${netdev} -j MASQUERADE
}


show_status() {
    echo '============================================================'
    ifconfig
    echo ' '
    ip route list
    echo ' '
    route -n
    echo '============================================================'

}

case ${OP} in
    start)
        op_start
        ;;
    
    stop)
        op_stop
        ;;

    status)
        show_status
       ;;

    *)
       echo 'Unknown command: ' ${OP} >&2
       echo 'Valid commands are: start, stop, status' >&2
       exit 1
esac
