Move vagrant stuff to extras/
[vpp.git] / extras / vagrant / clearinterfaces.sh
diff --git a/extras/vagrant/clearinterfaces.sh b/extras/vagrant/clearinterfaces.sh
new file mode 100755 (executable)
index 0000000..78f6705
--- /dev/null
@@ -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