On Mon, Dec 23, 2019 at 03:53:23PM +0100, Claudio Jeker wrote: > On Mon, Dec 23, 2019 at 03:24:31PM +0100, Remi Locherer wrote: > > On Sun, Dec 22, 2019 at 08:36:41PM +0100, Denis Fondras wrote: > > > Add basic regress test to ospf6d. > > > > Works for me. OK remi@ > > > > The tests also succeed when I reduce the sleep from 120 to 60. > > A few lines end with a space. I marked them below. > > I would suggest to minimize hold times etc. and reduce the timeout as > much as possible. Regress test should not wait uneccessary long. >
Thank you guys. sleep 50s is the best I have come with so far. > > > > > > Index: ospf6d/Makefile > > > =================================================================== > > > RCS file: ospf6d/Makefile > > > diff -N ospf6d/Makefile > > > --- /dev/null 1 Jan 1970 00:00:00 -0000 > > > +++ ospf6d/Makefile 22 Dec 2019 19:27:27 -0000 > > > @@ -0,0 +1,10 @@ > > > +# $OpenBSD$ > > > + > > > +REGRESS_TARGETS = network_statement > > > + > > > +OSPF6D ?= /usr/sbin/ospf6d > > > + > > > +network_statement: > > > + ${SUDO} ksh ${.CURDIR}/$@.sh ${OSPF6D} ${.CURDIR} 11 12 pair11 pair12 > > > + > > > +.include <bsd.regress.mk> > > > Index: ospf6d/network_statement.sh > > > =================================================================== > > > RCS file: ospf6d/network_statement.sh > > > diff -N ospf6d/network_statement.sh > > > --- /dev/null 1 Jan 1970 00:00:00 -0000 > > > +++ ospf6d/network_statement.sh 22 Dec 2019 19:27:27 -0000 > > > @@ -0,0 +1,107 @@ > > > +#!/bin/ksh > > > +# $OpenBSD$ > > > +set -e > > > + > > > +OSPF6D=$1 > > > +OSPF6DCONFIGDIR=$2 > > > +RDOMAIN1=$3 > > > +RDOMAIN2=$4 > > > +PAIR1=$5 > > > +PAIR2=$6 > > > + > > > +RDOMAINS="${RDOMAIN1} ${RDOMAIN2}" > > > +PAIRS="${PAIR1} ${PAIR2}" > > > +PAIR1IP=2001:db8::${RDOMAIN1} > > > +PAIR2IP=2001:db8::${RDOMAIN2} > > > +PAIR1PREFIX=2001:db8:${RDOMAIN1}:: > > > +PAIR2PREFIX=2001:db8:${RDOMAIN2}:: > > > +PAIR2PREFIX2=2001:db8:${RDOMAIN2}:${RDOMAIN2}:: > > > + > > > +error_notify() { > > > + echo cleanup > > > + pkill -T ${RDOMAIN1} ospf6d || true > > > + pkill -T ${RDOMAIN2} ospf6d || true > > > + sleep 1 > > > + ifconfig ${PAIR2} destroy || true > > > + ifconfig ${PAIR1} destroy || true > > > + ifconfig vether${RDOMAIN1} destroy || true > > > + ifconfig vether${RDOMAIN2} destroy || true > > > + route -qn -T ${RDOMAIN1} flush || true > > > + route -qn -T ${RDOMAIN2} flush || true > > > + ifconfig lo${RDOMAIN1} destroy || true > > > + ifconfig lo${RDOMAIN2} destroy || true > > > + rm ospf6d.1.conf ospf6d.2.conf > > > + if [ $1 -ne 0 ]; then > > > + echo FAILED > > > + exit 1 > > > + else > > > + echo SUCCESS > > > + fi > > > +} > > > + > > > +if [ "$(id -u)" -ne 0 ]; then > > ^ > > > > > + echo need root privileges >&2 > > > + exit 1 > > > +fi > > > + > > > +trap 'error_notify $?' EXIT > > > + > > > +echo check if rdomains are busy > > > +for n in ${RDOMAINS}; do > > > + if /sbin/ifconfig | grep -v "^lo${n}:" | grep " rdomain ${n} "; then > > > + echo routing domain ${n} is already used >&2 > > > + exit 1 > > > + fi > > > +done > > > + > > > +echo check if interfaces are busy > > > +for n in ${PAIRS}; do > > > + /sbin/ifconfig "${n}" >/dev/null 2>&1 && \ > > > + ( echo interface ${n} is already used >&2; exit 1 ) > > > +done > > > + > > > +set -x > > > + > > > +echo setup > > > +ifconfig ${PAIR1} inet6 rdomain ${RDOMAIN1} ${PAIR1IP}/64 up > > > +ifconfig ${PAIR2} inet6 rdomain ${RDOMAIN2} ${PAIR2IP}/64 up > > > +ifconfig ${PAIR1} patch ${PAIR2} > > > +ifconfig lo${RDOMAIN1} inet 127.0.0.1/8 > > > +ifconfig lo${RDOMAIN2} inet 127.0.0.1/8 > > > +ifconfig vether${RDOMAIN1} inet6 rdomain ${RDOMAIN1} ${PAIR1PREFIX}/64 up > > > +ifconfig vether${RDOMAIN2} inet6 rdomain ${RDOMAIN2} ${PAIR2PREFIX}/64 up > > > +ifconfig vether${RDOMAIN2} inet6 rdomain ${RDOMAIN2} ${PAIR2PREFIX2}/64 > > > up > > > +sed "s/{RDOMAIN1}/${RDOMAIN1}/g;s/{PAIR1}/${PAIR1}/g" \ > > > + ospf6d.network_statement.rdomain1.conf > ospf6d.1.conf > > > +chmod 0600 ospf6d.1.conf > > > +sed "s/{RDOMAIN2}/${RDOMAIN2}/g;s/{PAIR2}/${PAIR2}/g" \ > > > + ospf6d.network_statement.rdomain2.conf > ospf6d.2.conf > > > +chmod 0600 ospf6d.2.conf > > ^ > > > > > + > > > +echo add routes > > > +route -T ${RDOMAIN2} add -inet6 default ${PAIR2PREFIX}1 > > > +route -T ${RDOMAIN2} add 2001:db8:ffff::/126 ${PAIR2PREFIX}2 > > > +route -T ${RDOMAIN2} add 2001:db8:fffe::/64 ${PAIR2PREFIX}3 -label toOSPF > > > + > > > +echo start ospf6d > > > +route -T ${RDOMAIN1} exec ${OSPF6D} \ > > > + -v -f ${OSPF6DCONFIGDIR}/ospf6d.1.conf > > > +route -T ${RDOMAIN2} exec ${OSPF6D} \ > > > + -v -f ${OSPF6DCONFIGDIR}/ospf6d.2.conf > > > + > > > +sleep 120 > > > + > > > +echo tests > > > +route -T ${RDOMAIN1} exec ospf6ctl sh fib > > > +route -T ${RDOMAIN1} exec ospf6ctl sh rib | \ > > > + grep ${PAIR2PREFIX}/64 > > > +route -T ${RDOMAIN1} exec ospf6ctl sh rib | \ > > > + grep ${PAIR2PREFIX2}/64 > > > +route -T ${RDOMAIN1} exec ospf6ctl sh rib | \ > > > + grep "2001:db8:ffff::/126" > > > +route -T ${RDOMAIN1} exec ospf6ctl sh rib | \ > > > + grep "::/0" > > > +route -T ${RDOMAIN1} exec ospf6ctl sh rib | \ > > > + grep "2001:db8:fffe::/64" > > > + > > > +exit 0 > > > Index: ospf6d/ospf6d.network_statement.rdomain1.conf > > > =================================================================== > > > RCS file: ospf6d/ospf6d.network_statement.rdomain1.conf > > > diff -N ospf6d/ospf6d.network_statement.rdomain1.conf > > > --- /dev/null 1 Jan 1970 00:00:00 -0000 > > > +++ ospf6d/ospf6d.network_statement.rdomain1.conf 22 Dec 2019 19:27:27 > > > -0000 > > > @@ -0,0 +1,10 @@ > > > +router-id 1.1.1.1 > > > +rdomain {RDOMAIN1} > > > + > > > +fib-priority 62 > > > + > > > +area 10.0.0.1 { > > > + interface lo{RDOMAIN1} > > > + interface vether{RDOMAIN1} > > > + interface {PAIR1} > > > +} > > > Index: ospf6d/ospf6d.network_statement.rdomain2.conf > > > =================================================================== > > > RCS file: ospf6d/ospf6d.network_statement.rdomain2.conf > > > diff -N ospf6d/ospf6d.network_statement.rdomain2.conf > > > --- /dev/null 1 Jan 1970 00:00:00 -0000 > > > +++ ospf6d/ospf6d.network_statement.rdomain2.conf 22 Dec 2019 19:27:27 > > > -0000 > > > @@ -0,0 +1,12 @@ > > > +router-id 2.2.2.2 > > > +rdomain {RDOMAIN2} > > > + > > > +redistribute 2001:db8:ffff::/126 > > > +redistribute default > > > +redistribute rtlabel toOSPF > > ^ > > > > > + > > > +area 10.0.0.1 { > > > + interface lo{RDOMAIN2} > > > + interface vether{RDOMAIN2} > > > + interface {PAIR2} > > > +} > > > > > > > -- > :wq Claudio