diff options
Diffstat (limited to 'examples/docker/bgp_demo/init/init.sh')
-rwxr-xr-x | examples/docker/bgp_demo/init/init.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/examples/docker/bgp_demo/init/init.sh b/examples/docker/bgp_demo/init/init.sh new file mode 100755 index 000000000..8ed4cd25c --- /dev/null +++ b/examples/docker/bgp_demo/init/init.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# Starts and initializes vpp. +# Then starts honeycomb +# + +NODE_ID=$1 +NODE_NAME=vpp$1 + +echo "Enable tuntap interface in startup.conf" +echo -e "tuntap {\n enable\n}\n" >> /etc/vpp/startup.conf + +/hc2vpp/vpp/start.sh & VPP_PID=$! +echo "Waiting 5s for vpp to start" +sleep 5 +VPP_VERSION=$(vppctl show version) +if [ "${VPP_VERSION}" != "" ] +then + echo "VPP started successfully. Version:" + echo "${VPP_VERSION}" +else + echo "VPP failed to start. Stopping initialization script." + exit 1 +fi + +# Configure veth interfaces using VPP CLI +# (not fully supported by hc2vpp 18.01) +echo "Configuring vpp" +vppctl exec /hc2vpp/bgp_demo/init/$NODE_NAME.cmd + +# Update address of interface BGP is listening on +IP="10.12.1.${NODE_ID}" +jshon -s $IP -i "bgp-binding-address" -I -F /opt/honeycomb/config/bgp.json + +# Set AS number +AS_NUMBER=$((65000+NODE_ID)) +jshon -n $AS_NUMBER -i "bgp-as-number" -I -F /opt/honeycomb/config/bgp.json + +# Update module configuration +# Enables BGP and disables some of the modules not used in the example +cp /hc2vpp/bgp_demo/init/*-module-config /opt/honeycomb/modules + +echo "Starting honeycomb" +/hc2vpp/honeycomb/start.sh |