aboutsummaryrefslogtreecommitdiffstats
path: root/vpp-userdemo/vmrun
diff options
context:
space:
mode:
Diffstat (limited to 'vpp-userdemo/vmrun')
-rwxr-xr-xvpp-userdemo/vmrun77
1 files changed, 77 insertions, 0 deletions
diff --git a/vpp-userdemo/vmrun b/vpp-userdemo/vmrun
new file mode 100755
index 0000000..25c674e
--- /dev/null
+++ b/vpp-userdemo/vmrun
@@ -0,0 +1,77 @@
+#!/usr/bin/env bash
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ $USER != "root" ] ; then
+ #echo "Restarting script with sudo..."
+ sudo $0 ${*}
+ exit
+fi
+
+if [ -z "$1" ]; then
+ echo "You must specify a demo name"
+ exit 0;
+fi
+
+if [ -f "$1" ]; then
+ DEMO=$1
+else
+ echo "This is not a valid filename"
+ exit 0;
+fi
+
+source $DEMO
+
+RED='\033[0;31m'
+GREEN='\033[0;32m'
+NC='\033[0m'
+
+function pause {
+ echo ""; echo ""
+ read -n1 -r -p "Press space to continue..." key
+ printf "\033c"
+}
+
+function instruction {
+
+ eval INSTR="$1"
+ eval CMD="$2"
+ echo ""
+ echo -e "${RED}********************************************************************************${NC} \n"
+ echo -e "${RED} ${INSTR} ${NC}"
+ echo -e "${GREEN} ${CMD} ${NC} \n"
+ echo -e "${RED}********************************************************************************${NC} \n"
+}
+
+#Clear and set netns and veths
+/vagrant/netns.sh $C1_IP $C1_GW $C2_IP $C2_GW
+
+#Clear the screen
+printf "\033c"
+
+if [ -e $DEMO.cmd ]; then
+ rm $DEMO.cmd
+fi
+
+#Loop through instructions and commands from filename input as $1
+for ((i=0;i<${#INSTR[@]};++i)); do
+ instruction "\${INSTR[i]}" "\${CMD[i]}"
+ eval "${CMD[i]}"
+ echo -e "${CMD[i]}" >> $DEMO.cmd
+ pause
+done
+
+
+exit 0
+
+