Test cases for GBP-SFC integration demo
[integration/test.git] / csit / suites / groupbasedpolicy / GBPSFC / 6-node / demo-asymmetric-chain / init_scripts / sf-flows.sh
diff --git a/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/init_scripts/sf-flows.sh b/csit/suites/groupbasedpolicy/GBPSFC/6-node/demo-asymmetric-chain/init_scripts/sf-flows.sh
new file mode 100644 (file)
index 0000000..0c7fc96
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+set -e
+
+SFF_IP=$1
+SFF_HEX=$(printf '%02X' ${SFF_IP//./ })
+SFF_HEX=0x$SFF_HEX
+sw=$(sudo ovs-vsctl show | egrep -E 'Bridge.*sw' | awk '{print $2}' | sed -e 's/^"//'  -e 's/"$//')
+
+if [ $sw = "sw3" ] || [ $sw = "sw5" ] ; then
+    # delete NORMAL, if present
+    sudo ovs-ofctl --strict del-flows $sw priority=0
+    sudo ovs-ofctl add-flow $sw "priority=1000,nsi=255 actions=move:NXM_NX_NSH_C1[]->NXM_NX_NSH_C1[],move:NXM_NX_NSH_C2[]->NXM_NX_NSH_C2[],move:NXM_NX_TUN_ID[0..31]->NXM_NX_TUN_ID[0..31],load:$SFF_HEX->NXM_NX_TUN_IPV4_DST[],set_nsi:254,IN_PORT" -OOpenFlow13
+    sudo ovs-ofctl add-flow $sw "priority=1000,nsi=254 actions=move:NXM_NX_NSH_C1[]->NXM_NX_NSH_C1[],move:NXM_NX_NSH_C2[]->NXM_NX_NSH_C2[],move:NXM_NX_TUN_ID[0..31]->NXM_NX_TUN_ID[0..31],load:$SFF_HEX->NXM_NX_TUN_IPV4_DST[],set_nsi:253,IN_PORT" -OOpenFlow13
+else
+    echo "Invalid SF for this demo";
+    exit
+fi