#!/bin/sh

set -e

. ./helpers

ME=$(basename $0)

setup_sandbox
sed -i -e 's/^HOST_VIRTUAL_SUBNET_START_PREFIX=.*/HOST_VIRTUAL_SUBNET_START_PREFIX=192.170/' \
	-e 's/^MY_IP=.*/MY_IP=192.0.2.10/' \
	"${SANDBOX}/etc/ikvswitch.conf"

# A customized prefix must propagate to everything, with no hardcoded
# value left behind: the SNAT rule, the route towards the internet VM,
# and the host bridge address.
run_net start
assert_eq "start with customized prefix rc" "${NET_RC}" "0"

mock_has "SNAT source subnet" "-t nat -A POSTROUTING -s 192.170.96.0/19 ! -d 192.170.96.0/19 -j SNAT --to-source 192.0.2.10"
mock_has "route to the internet VM" "route replace 192.170.96/19 via 192.170.96.2"
mock_has "host bridge address" "ikhb 192.170.96.1 netmask 255.255.255.0 up"

run_net stop
assert_eq "stop with customized prefix rc" "${NET_RC}" "0"
mock_has "host bridge address teardown" "addr del 192.170.96.1/24 dev ikhb"

exit 0
