#!/usr/bin/env atf-sh

. $(atf_get_srcdir)/../test_env.sh
EXECUTOR="$(atf_get_srcdir)/../../executors/linux/ipv6-ra"

tests_init up_host up_router down

write_forwarding() {
	PROCFS_ROOT="$(pwd)/proc"
	mkdir -p "$PROCFS_ROOT/sys/net/ipv6/conf/lo"
	printf '%s\n' "$1" > "$PROCFS_ROOT/sys/net/ipv6/conf/lo/forwarding"
	export PROCFS_ROOT
}

up_host_body() {
	write_forwarding 0
	export IFACE=lo PHASE=up
	atf_check -s exit:0 ${EXECUTOR}
	atf_check -s exit:0 -o inline:'1\n' cat "$PROCFS_ROOT/sys/net/ipv6/conf/lo/accept_ra"
}

up_router_body() {
	write_forwarding 1
	export IFACE=lo PHASE=up
	atf_check -s exit:0 ${EXECUTOR}
	atf_check -s exit:0 -o inline:'2\n' cat "$PROCFS_ROOT/sys/net/ipv6/conf/lo/accept_ra"
}

down_body() {
	write_forwarding 1
	export IFACE=lo PHASE=down
	atf_check -s exit:0 ${EXECUTOR}
	atf_check -s exit:0 -o inline:'0\n' cat "$PROCFS_ROOT/sys/net/ipv6/conf/lo/accept_ra"
}
