Test cases for GBP-SFC integration demo
[integration/test.git] / csit / suites / groupbasedpolicy / GBPSFC / 6-node / demo-asymmetric-chain / init_scripts / sf-flows.sh
1 #!/usr/bin/env bash
2
3 set -e
4
5 SFF_IP=$1
6 SFF_HEX=$(printf '%02X' ${SFF_IP//./ })
7 SFF_HEX=0x$SFF_HEX
8 sw=$(sudo ovs-vsctl show | egrep -E 'Bridge.*sw' | awk '{print $2}' | sed -e 's/^"//'  -e 's/"$//')
9
10 if [ $sw = "sw3" ] || [ $sw = "sw5" ] ; then
11     # delete NORMAL, if present
12     sudo ovs-ofctl --strict del-flows $sw priority=0
13     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
14     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
15 else
16     echo "Invalid SF for this demo";
17     exit
18 fi