summaryrefslogtreecommitdiffstats
path: root/build-root/vagrant/clearinterfaces.sh
diff options
context:
space:
mode:
authorEd Warnicke <eaw@cisco.com>2016-04-12 17:34:48 -0500
committerDamjan Marion <damarion@cisco.com>2016-04-25 17:27:09 +0000
commitd6a0fc5ea696763c3cba67dc47d8e7943ae7649b (patch)
tree82a091f6f1386af61709c6c11c82de5578878ab5 /build-root/vagrant/clearinterfaces.sh
parent108c7313854953ee3b66069b902f9fabb097ed25 (diff)
Break boostrap.sh into pieces
In order to make it easier for folks who have existing Centos or Ubuntu boxes to utilize the same 'Getting started' scripting that is used in Vagrant, as well as enable us to use that scripting in CI, broke up bootstrap.sh into update.sh - Things like apt-get update build.sh - Install any dependencies and build vpp clearinterfaces.sh - Clean off any non-default gateway interfaces. Used by vagrant. run.sh - Start vpp as a service on the box. A user (or CI) just wanting to get going and build on an existing Ubuntu or Centos image (ie, not via vagrant) can simply run build.sh Change-Id: I8f19342f163cad07c6c05def943a5fb8e394b879 Signed-off-by: Ed Warnicke <eaw@cisco.com>
Diffstat (limited to 'build-root/vagrant/clearinterfaces.sh')
-rwxr-xr-xbuild-root/vagrant/clearinterfaces.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/build-root/vagrant/clearinterfaces.sh b/build-root/vagrant/clearinterfaces.sh
new file mode 100755
index 00000000000..78f6705ca32
--- /dev/null
+++ b/build-root/vagrant/clearinterfaces.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+# Capture all the interface IPs, in case we need them later
+ip -o addr show > ~vagrant/ifconfiga
+chown vagrant:vagrant ~vagrant/ifconfiga
+
+# Disable all ethernet interfaces other than the default route
+# interface so VPP will use those interfaces. The VPP auto-blacklist
+# algorithm prevents the use of any physical interface contained in the
+# routing table (i.e. "route --inet --inet6") preventing the theft of
+# the management ethernet interface by VPP from the kernel.
+for intf in $(ls /sys/class/net) ; do
+ if [ -d /sys/class/net/$intf/device ] &&
+ [ "$(route --inet --inet6 | grep default | grep $intf)" == "" ] ; then
+ ifconfig $intf down
+ fi
+done