#!/bin/bash set -e LOCAL=2001:db8:dead:: EXTERNAL=2001:db8:beef:: EXTERNAL_NET=${EXTERNAL}/48 EXTERNAL_NH=${LOCAL}beef LEARN=2001:db8:feed:: LEARN_NET=${LEARN}/48 LEARN_NH=${LOCAL}feed IFACE=bird-test-dummy IFACE_EXISTS=false BIRD_RUNNING=false D=$(mktemp -d) pushd ${D} >/dev/null stop_bird() { birdc -l down >/dev/null sleep 1 grep -q " Shutdown completed" bird.log [ ! -e bird.pid ] [ ! -e bird.ctl ] } cleanup() { if ${BIRD_RUNNING}; then stop_bird if [ -e bird.pid ]; then kill -9 $( /dev/null rm -rf ${D} } failed() { cleanup exit 1 } trap failed ERR trap failed INT trap failed HUP ip link add ${IFACE} type dummy IFACE_EXISTS=true ip link set ${IFACE} up ip -6 addr add ${LOCAL}/64 dev bird-test-dummy ip -6 route add ${LEARN_NET} via ${LEARN_NH} cat >bird.conf <