diff options
| -rw-r--r-- | tools/multiple-bgpd.sh | 22 | 
1 files changed, 12 insertions, 10 deletions
| diff --git a/tools/multiple-bgpd.sh b/tools/multiple-bgpd.sh index 001e91c6..028ad696 100644 --- a/tools/multiple-bgpd.sh +++ b/tools/multiple-bgpd.sh @@ -6,22 +6,24 @@ NUM=5  VTYBASE=2610  ASBASE=64560  BGPD=/path/to/bgpd -PREFIX=192.168.145 +PREFIX=192.168.145. +#PREFIX=3ffe:123:456:: +ADDRPLEN=32  CONFBASE=/tmp  PIDBASE=/var/run/quagga  CHOWNSTR=quagga:quagga  for H in `seq 1 ${NUM}` ; do  	CONF="${CONFBASE}"/bgpd${H}.conf -	ADDR=${PREFIX}.${H} +	ADDR=${PREFIX}${H}  	if [ ! -e "$CONF" ] ; then  		# This sets up a ring of bgpd peerings  		NEXT=$(( ($H % ${NUM}) + 1 ))  		PREV=$(( (($H + 3) % ${NUM}) + 1 )) -		NEXTADDR="${PREFIX}.${NEXT}" +		NEXTADDR="${PREFIX}${NEXT}"  		NEXTAS=$((${ASBASE} + $NEXT)) -		PREVADDR="${PREFIX}.${PREV}" +		PREVADDR="${PREFIX}${PREV}"  		PREVAS=$((${ASBASE} + $PREV))  		# Edit config to suit. @@ -44,10 +46,10 @@ for H in `seq 1 ${NUM}` ; do  			 neighbor ${PREVADDR} peer-group default  			!  			 address-family ipv6 -			 network fffe:${H}::/48 -			 network fffe:${H}:1::/48 pathlimit 1 -			 network fffe:${H}:2::/48 pathlimit 3 -			 network fffe:${H}:3::/48 pathlimit 3 +			 network 3ffe:${H}::/48 +			 network 3ffe:${H}:1::/48 pathlimit 1 +			 network 3ffe:${H}:2::/48 pathlimit 3 +			 network 3ffe:${H}:3::/48 pathlimit 3  			 neighbor default activate  			 neighbor default capability orf prefix-list both  			 neighbor default default-originate @@ -64,8 +66,8 @@ for H in `seq 1 ${NUM}` ; do  	# You may want to automatically add configure a local address  	# on a loop interface.  	# -	# Solaris: ifconfig vni${H} plumb ${ADDR}/32 up -	# Linux:   ip address add ${ADDR}/32 dev lo 2> /dev/null +	# Solaris: ifconfig vni${H} plumb ${ADDR}/${ADDRPLEN} up +	# Linux:   ip address add ${ADDR}/${ADDRPLEN} dev lo 2> /dev/null  	${BGPD} -i "${PIDBASE}"/bgpd${H}.pid \  		-l ${ADDR} \  		-f "${CONF}" \ | 
