#!/bin/bash

NUM_OF_DEVICES="1"
KVMNET_GID=$(grep kvm /etc/group | cut -d ':' -f 3)
BR_NAME="br0"
BR_IP="192.168.1.110"
BR_NETMASK="255.255.255.0"
IF_NAME="kvmnet"
PR_ETH="eth0"
GW="192.168.1.1"
DNS="$GW"

case $1 in
	start)
		modprobe tun

		brctl addbr "$BR_NAME"
		ifconfig "$BR_NAME" "$BR_IP" netmask "$BR_NETMASK" up
		/sbin/route add default gw "$GW"
		#echo "nameserver $DNS" >> /etc/resolv.conf
		
		for ((i=0; i < $NUM_OF_DEVICES ; i++)); do
			echo "configuring "$IF_NAME"$i"
			tunctl -b -g ${KVMNET_GID} -t "$IF_NAME"$i
			brctl addif "$BR_NAME" "$IF_NAME"$i
			ifconfig "$IF_NAME"$i up 0.0.0.0 promisc
		done
		
		brctl addif "$BR_NAME" "$PR_ETH"
		ifconfig "$PR_ETH" up 0.0.0.0 promisc
		echo "1" > /proc/sys/net/ipv4/ip_forward
		iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
	;;

	stop)
		for ((i=0; i < $NUM_OF_DEVICES ; i++)); do
			ifconfig "$IF_NAME"$i down
			brctl delif "$BR_NAME" "$IF_NAME"$i
			tunctl -d "$IF_NAME"$i
		done
		brctl delif "$BR_NAME" "$PR_ETH"
		ifconfig "$BR_NAME" down
		brctl delbr "$BR_NAME"
		#/etc/init.d/iptables stop
		#ifup "$PR_ETH"
	;;
	*)
		echo "Usage: $(basename $0) (start|stop)"
    ;;
    
esac

