#!/bin/sh

set -e

. debian/tests/utils

# should have been started on install, but policy may have inhibited that
service frr restart

Wait_for_service

# these should be running by default
pgrep watchfrr
pgrep zebra
pgrep staticd

# configure interactively, save to file
vtysh -c "configure terminal" -c "ip route 198.51.100.0/28 127.0.0.1"
vtysh -c "show running-config" | grep -q "ip route 198.51.100.0/28 127.0.0.1"
vtysh -c "write memory"

grep -q "ip route 198.51.100.0/28 127.0.0.1" /etc/frr/frr.conf

# configure in file, check interactively
sed -i -e "/^ip route 198.51.100.0\/28 127.0.0.1/ c ip route 198.51.100.64/28 127.0.0.1" /etc/frr/frr.conf

service frr reload

# wait for the new config to load
for SLEEP in $(seq 1 10)
do
	if vtysh -c "show running-config" | grep -q "ip route 198.51.100.64/28 127.0.0.1"
	then
		break
	fi

	sleep "${SLEEP}"
done

# fail if the old config is still loaded
if vtysh -c "show running-config" | grep -q "ip route 198.51.100.0/28 127.0.0.1"
then
	exit 1
fi
