Added more functionality to flow test suite
- Added MPLS class
- Testing MPLS selector
- Testing TCP selector
- Testing UDP selector
- Checks flow tables in Mininet

Change-Id: Ibd624e7055fb0bcd736811cd2aff563f29fc2c38
diff --git a/TestON/drivers/common/api/controller/onosrestdriver.py b/TestON/drivers/common/api/controller/onosrestdriver.py
index 8b648b8..aae0d56 100644
--- a/TestON/drivers/common/api/controller/onosrestdriver.py
+++ b/TestON/drivers/common/api/controller/onosrestdriver.py
@@ -1161,6 +1161,9 @@
                  ipDst=(),
                  tcpSrc="",
                  tcpDst="",
+                 udpDst="",
+                 udpSrc="",
+                 mpls="",
                  ip="DEFAULT",
                  port="DEFAULT",
                  debug=False ):
@@ -1223,6 +1226,10 @@
                 flowJson[ 'selector' ][ 'criteria' ].append( {
                                                         "type":"VLAN_VID",
                                                         "vlanId":vlan } )
+            if mpls:
+                flowJson[ 'selector' ][ 'criteria' ].append( {
+                                                        "type":"MPLS_LABEL",
+                                                        "label":mpls } )
             if ipSrc:
                 flowJson[ 'selector' ][ 'criteria' ].append( {
                                                         "type":ipSrc[0],
@@ -1239,6 +1246,14 @@
                 flowJson[ 'selector' ][ 'criteria' ].append( {
                                                         "type":"TCP_DST",
                                                         "tcpPort": tcpDst } )
+            if udpSrc:
+                flowJson[ 'selector' ][ 'criteria' ].append( {
+                                                        "type":"UDP_SRC",
+                                                        "udpPort": udpSrc } )
+            if udpDst:
+                flowJson[ 'selector' ][ 'criteria' ].append( {
+                                                        "type":"UDP_DST",
+                                                        "udpPort": udpDst } )
             if ipProto:
                 flowJson[ 'selector' ][ 'criteria' ].append( {
                                                         "type":"IP_PROTO",