Integration tests for GBP and GBP-SFC
[integration/test.git] / csit / suites / groupbasedpolicy / common_scripts / flowcount.sh
1 #!/usr/bin/env bash
2
3 : ' Returns ovs-ofctl dump-flows command output for a table
4     specified in argument by table ID and ovs-ofctl dump-groups
5     output. If no table specified in args, the sum of flows for
6     each table is returned in the output.
7 '
8
9 set -e
10
11 sw=$(sudo ovs-vsctl show | egrep -E 'Bridge.*sw' | awk '{print $2}' | sed  -e 's/"//g')
12 if [ "$1" ]
13 then
14         echo "GROUPS:";
15         ovs-ofctl dump-groups $sw -OOpenFlow13;
16         echo;echo "FLOWS:";ovs-ofctl dump-flows $sw -OOpenFlow13 table=$1 --rsort=priority
17     echo
18     printf "Flow count: "
19     echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=$1 | wc -l)-1))
20 else
21         printf "No table entered. $sw flow count: ";
22         echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 | wc -l)-1))
23         printf "\nTable0: PortSecurity:  "; echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=0| wc -l)-1))
24         printf "\nTable1: IngressNat:    "; echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=1| wc -l)-1))
25         printf "\nTable2: SourceMapper:  "; echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=2| wc -l)-1))
26         printf "\nTable3: DestMapper:    "; echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=3| wc -l)-1))
27         printf "\nTable4: PolicyEnforcer:"; echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=4| wc -l)-1))
28         printf "\nTable5: EgressNAT:     "; echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=5| wc -l)-1))
29         printf "\nTable6: External:      "; echo $(($(ovs-ofctl dump-flows $sw -OOpenFlow13 table=6| wc -l)-1))
30 fi
31