3 # Public domain, not copyrighted..
11 PIDBASE
=/var
/run
/quagga
13 for H
in `seq 1 ${NUM}` ; do
14 CONF
="${CONFBASE}"/bgpd
${H}.conf
17 if [ ! -e "$CONF" ] ; then
18 # This sets up a ring of bgpd peerings
19 NEXT
=$
(( ($H % ${NUM}) + 1 ))
20 PREV
=$
(( (($H + 3) % ${NUM}) + 1 ))
21 NEXTADDR
="${PREFIX}.${NEXT}"
22 NEXTAS
=$
((${ASBASE} + $NEXT))
23 PREVADDR
="${PREFIX}.${PREV}"
24 PREVAS
=$
((${ASBASE} + $PREV))
26 # Edit config to suit.
31 router bgp $((64560+${H}))
33 network 10.${H}.1.0/24 pathlimit 1
34 network 10.${H}.2.0/24 pathlimit 2
35 network 10.${H}.3.0/24 pathlimit 3
36 neighbor default peer-group
37 neighbor default update-source ${ADDR}
38 neighbor default capability orf prefix-list both
39 neighbor default soft-reconfiguration inbound
40 neighbor ${NEXTADDR} remote-as ${NEXTAS}
41 neighbor ${NEXTADDR} peer-group default
42 neighbor ${PREVADDR} remote-as ${PREVAS}
43 neighbor ${PREVADDR} peer-group default
45 chown quagga
:quagga
"$CONF"
47 # You may want to automatically add configure a local address
48 # on a loop interface.
50 # Solaris: ifconfig vni${H} plumb ${ADDR}/32 up
51 # Linux: ip address add ${ADDR}/32 dev lo 2> /dev/null
52 ${BGPD} -i "${PIDBASE}"/bgpd${H}.pid \
55 -P $
((${VTYBASE}+${H})) \