Modify OpenFlow stats test to verify Flow match function 21/42521/7
authorLuis Gomez <ecelgp@gmail.com>
Tue, 26 Jul 2016 03:14:29 +0000 (20:14 -0700)
committerLuis Gomez <ecelgp@gmail.com>
Wed, 27 Jul 2016 19:59:46 +0000 (19:59 +0000)
- Add check flow ID in Operational in Boron branch.
- Fix existing flows to pass the flow ID check.
- Add new flows for variable IP mask

We need this suite to track gap in Li plugin.

Change-Id: I759e1c88771d34bc04f0fbc16c5367b25055bfea
Signed-off-by: Luis Gomez <ecelgp@gmail.com>
26 files changed:
csit/libraries/FlowLib.robot
csit/libraries/XmlComparator.py
csit/suites/openflowplugin/Flows_Additional_TCs/Stat_Manager_extended/010_SM_add_upd_del_flows.robot
csit/suites/openflowplugin/Flows_OF13/319__metadata_mask.robot
csit/variables/xmls/f10.xml
csit/variables/xmls/f107.xml
csit/variables/xmls/f108.xml
csit/variables/xmls/f109.xml
csit/variables/xmls/f11.xml
csit/variables/xmls/f113.xml
csit/variables/xmls/f12.xml
csit/variables/xmls/f18.xml
csit/variables/xmls/f20.xml
csit/variables/xmls/f205.xml
csit/variables/xmls/f206.xml
csit/variables/xmls/f218.xml
csit/variables/xmls/f221.xml
csit/variables/xmls/f222.xml [new file with mode: 0644]
csit/variables/xmls/f223.xml [new file with mode: 0644]
csit/variables/xmls/f224.xml [new file with mode: 0644]
csit/variables/xmls/f225.xml [new file with mode: 0644]
csit/variables/xmls/f45.xml
csit/variables/xmls/f5.xml
csit/variables/xmls/f7.xml
csit/variables/xmls/f8.xml
csit/variables/xmls/f9.xml

index 265f790df2d04bf3e3f85b80abe057a64832bdf4..7a8a9241d26137e7b6d57922f0dbfcbfc08fb953 100644 (file)
@@ -226,14 +226,14 @@ Create Flow Variables For Suite From XML File
     Set Suite Variable    ${xmlroot}
 
 Check Datastore Presence
-    [Arguments]    ${fname}    ${reqconfpres}    ${reqoperpres}    ${upd}
+    [Arguments]    ${fname}    ${reqconfpres}    ${reqoperpres}    ${upd}    ${check_id}=${False}
     [Documentation]    Checks if flow is properly existing or not existing in the config and operational
     ...    datastores, based on the variables ${reqconfpres} and ${reqoperpres}
     Create Flow Variables For Suite From XML File    ${XmlsDir}/${fname}
     # Note:    ${upddata} and ${data} are suite variables set by the keyword above.
     ${det}=    Set Variable If    ${upd}==${True}    ${upddata}    ${data}
     Check Config Flow    ${reqconfpres}    ${det}
-    Check Operational Flow    ${reqoperpres}    ${det}
+    Check Operational Flow    ${reqoperpres}    ${det}    ${check_id}
 
 Flow Presence In Config Store
     [Arguments]    ${expvalue}
@@ -249,7 +249,7 @@ Flow Presence In Config Store
     Return From Keyword    ${pres}    ${msg}
 
 Flow Presence In Operational Store
-    [Arguments]    ${expvalue}
+    [Arguments]    ${expvalue}    ${check_id}=${False}
     [Documentation]    Checks the operational store for given flow. Returns True if present, otherwise returns False
     ...    This keyword assumes that the global/suite variables are available (${table_id}, ${flow_id} and ${switch_idx}
     ${headers}=    Create Dictionary    Accept=application/xml
@@ -257,7 +257,7 @@ Flow Presence In Operational Store
     Log    ${resp}
     Log    ${resp.content}
     Return From Keyword If    ${resp.status_code}!=200    ${False}    ${EMPTY}
-    ${pres}    ${msg}=    Is Flow Operational2    ${expvalue}    ${resp.content}
+    ${pres}    ${msg}=    Is Flow Operational2    ${expvalue}    ${resp.content}    ${check_id}
     Run Keyword If    '''${msg}'''!='${EMPTY}'    Log    ${msg}
     Return From Keyword    ${pres}    ${msg}
 
@@ -278,10 +278,10 @@ Check Config Flow
     Should Be Equal    ${expected}    ${presence_flow}    msg=${msgf}
 
 Check Operational Flow
-    [Arguments]    ${expected}    ${expvalue}
+    [Arguments]    ${expected}    ${expvalue}    ${check_id}=${False}
     [Documentation]    Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
     ...    to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}
-    ${presence_table}    ${msg}=    Flow Presence In Operational Store    ${expvalue}
+    ${presence_table}    ${msg}=    Flow Presence In Operational Store    ${expvalue}    ${check_id}
     ${msgf}=    Get Presence Failure Message    operational    ${expected}    ${presence_table}    ${msg}
     Should Be Equal    ${expected}    ${presence_table}    msg=${msgf}
 
index 2e5a3ea4830f147b55aabe62f77c765818165bc8..3b0b829767280d9af96989b16d9f1c8df3f7fa15 100644 (file)
@@ -179,7 +179,11 @@ class XMLtoDictParserTools():
 IGNORED_TAGS_FOR_OPERATIONAL_COMPARISON = ['id', 'flow-name', 'barrier', 'cookie_mask', 'installHw', 'flags',
                                            'strict', 'byte-count', 'duration', 'packet-count', 'in-port',
                                            'vlan-id-present', 'out_group', 'out_port', 'hard-timeout', 'idle-timeout',
-                                           'flow-statistics', 'cookie', 'clear-actions']  # noqa
+                                           'flow-statistics', 'cookie', 'clear-actions',
+                                           'ipv4-source-address-no-mask', 'ipv4-source-arbitrary-bitmask',
+                                           'ipv4-destination-address-no-mask', 'ipv4-destination-arbitrary-bitmask',
+                                           'ipv6-source-address-no-mask', 'ipv6-source-arbitrary-bitmask',
+                                           'ipv6-destination-address-no-mask', 'ipv6-destination-arbitrary-bitmask']  # noqa
 
 IGNORED_PATHS_FOR_OC = [(['flow', 'instructions', 'instruction', 'apply-actions', 'action', 'controller-action'], True),  # noqa
                         (['flow', 'instructions', 'instruction', 'clear-actions', 'action'], False),
@@ -222,7 +226,7 @@ class XmlComparator:
                     XMLtoDictParserTools.getDifferenceDict(nodeDict, origDict))
         return False, ''
 
-    def is_flow_operational2(self, requested_flow, oper_resp):
+    def is_flow_operational2(self, requested_flow, oper_resp, check_id=False):
         def _rem_unimplemented_tags(tagpath, recurs, tdict):
             # print "_rem_unimplemented_tags", tagpath, tdict
             if len(tagpath) > 1 and tagpath[0] in tdict:
@@ -259,13 +263,16 @@ class XmlComparator:
             elif len(tagpath) == 0 and tag in tdict and related_tag in tdict:
                 tdict[tag] = str(long(tdict[tag]) & long(tdict[related_tag]))
 
+        IGNORED_TAGS_LIST = list(IGNORED_TAGS_FOR_OPERATIONAL_COMPARISON)
+        if check_id:
+            IGNORED_TAGS_LIST.remove('id')
         orig_tree = md.parseString(requested_flow)
         xml_resp_stream = oper_resp.encode('utf-8', 'ignore')
         xml_resp_tree = md.parseString(xml_resp_stream)
         nodeListOperFlows = xml_resp_tree.getElementsByTagNameNS("*", 'flow')
         origDict = XMLtoDictParserTools.parseTreeToDict(
             orig_tree._get_documentElement(),
-            ignoreList=IGNORED_TAGS_FOR_OPERATIONAL_COMPARISON)
+            ignoreList=IGNORED_TAGS_LIST)
 
         # origDict['flow-statistics'] = origDict.pop( 'flow' )
         reportDict = {}
@@ -273,7 +280,7 @@ class XmlComparator:
         for node in nodeListOperFlows:
             nodeDict = XMLtoDictParserTools.parseTreeToDict(
                 node,
-                ignoreList=IGNORED_TAGS_FOR_OPERATIONAL_COMPARISON)
+                ignoreList=IGNORED_TAGS_LIST)
             XMLtoDictParserTools.addDictValue(reportDict, index, nodeDict)
             index += 1
             # print nodeDict
index 9586461c94ac9380c0b75c45eb6c507ecde0ba2e..aa9c930101186a7fdec0a8d9595dd7d7b1d9230d 100644 (file)
@@ -24,7 +24,8 @@ ${switch_name}    s${switch_idx}
 ...               f43.xml    f45.xml    f47.xml    f101.xml    f102.xml    f103.xml    f104.xml
 ...               f105.xml    f106.xml    f107.xml    f108.xml    f109.xml    f110.xml    f113.xml
 ...               f156.xml    f201.xml    f202.xml    f203.xml    f204.xml    f205.xml    f206.xml
-...               f209.xml    f214.xml    f218.xml    f219.xml    f220.xml
+...               f209.xml    f214.xml    f218.xml    f219.xml    f220.xml    f221.xml    f222.xml
+...               f223.xml    f224.xml    f225.xml
 
 *** Test Cases ***
 Test Add Flows Group 0
@@ -36,172 +37,187 @@ Test Add Flows Group 0
     \    Run Keyword And Continue On Failure    Add Flow Via Restconf    ${switch_idx}    ${table_id}    ${data}
     # Lets wait for ofp to collect stats
     ${flows}=    Get Length    ${flowlist0}
-    Wait Until Keyword Succeeds    10s    2s    FlowLib.Check Flow Stats Are Available    openflow:1    ${flows}
+    Wait Until Keyword Succeeds    15s    2s    FlowLib.Check Flow Stats Are Available    openflow:1    ${flows}
     # Show switch content (for debug purposes if needed)
     Write    dpctl dump-flows -O OpenFlow13
     Read Until    mininet>
 
 Test Is Flow 1 Added
-    f1.xml    ${True}    ${True}    ${False}
+    f1.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 2 Added
-    f2.xml    ${True}    ${True}    ${False}
+    f2.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 3 Added
-    f3.xml    ${True}    ${True}    ${False}
+    f3.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 4 Added
-    f4.xml    ${True}    ${True}    ${False}
+    f4.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 5 Added
-    f5.xml    ${True}    ${True}    ${False}
+    f5.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 6 Added
-    f6.xml    ${True}    ${True}    ${False}
+    f6.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 7 Added
-    f7.xml    ${True}    ${True}    ${False}
+    f7.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 8 Added
-    f8.xml    ${True}    ${True}    ${False}
+    f8.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 9 Added
-    f9.xml    ${True}    ${True}    ${False}
+    f9.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 10 Added
-    f10.xml    ${True}    ${True}    ${False}
+    f10.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 11 Added
-    f11.xml    ${True}    ${True}    ${False}
+    f11.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 12 Added
-    f12.xml    ${True}    ${True}    ${False}
+    f12.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 13 Added
-    f13.xml    ${True}    ${True}    ${False}
+    f13.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 14 Added
-    f14.xml    ${True}    ${True}    ${False}
+    f14.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 15 Added
-    f15.xml    ${True}    ${True}    ${False}
+    f15.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 16 Added
-    f16.xml    ${True}    ${True}    ${False}
+    f16.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 17 Added
-    f17.xml    ${True}    ${True}    ${False}
+    f17.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 18 Added
-    f18.xml    ${True}    ${True}    ${False}
+    f18.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 19 Added
-    f19.xml    ${True}    ${True}    ${False}
+    f19.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 20 Added
-    f20.xml    ${True}    ${True}    ${False}
+    f20.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 21 Added
-    f21.xml    ${True}    ${True}    ${False}
+    f21.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 22 Added
-    f22.xml    ${True}    ${True}    ${False}
+    f22.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 23 Added
-    f23.xml    ${True}    ${True}    ${False}
+    f23.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 24 Added
-    f24.xml    ${True}    ${True}    ${False}
+    f24.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 25 Added
-    f25.xml    ${True}    ${True}    ${False}
+    f25.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 31 Added
-    f31.xml    ${True}    ${True}    ${False}
+    f31.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 36 Added
-    f36.xml    ${True}    ${True}    ${False}
+    f36.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 38 Added
-    f38.xml    ${True}    ${True}    ${False}
+    f38.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 43 Added
-    f43.xml    ${True}    ${True}    ${False}
+    f43.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 45 Added
-    f45.xml    ${True}    ${True}    ${False}
+    f45.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 47 Added
-    f47.xml    ${True}    ${True}    ${False}
+    f47.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 101 Added
-    f101.xml    ${True}    ${True}    ${False}
+    f101.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 102 Added
-    f102.xml    ${True}    ${True}    ${False}
+    f102.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 103 Added
-    f103.xml    ${True}    ${True}    ${False}
+    f103.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 104 Added
-    f104.xml    ${True}    ${True}    ${False}
+    f104.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 105 Added
-    f105.xml    ${True}    ${True}    ${False}
+    f105.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 106 Added
-    f106.xml    ${True}    ${True}    ${False}
+    f106.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 107 Added
-    f107.xml    ${True}    ${True}    ${False}
+    f107.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 108 Added
-    f108.xml    ${True}    ${True}    ${False}
+    f108.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 109 Added
-    f109.xml    ${True}    ${True}    ${False}
+    f109.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 110 Added
-    f110.xml    ${True}    ${True}    ${False}
+    f110.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 113 Added
-    f113.xml    ${True}    ${True}    ${False}
+    f113.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 156 Added
-    f156.xml    ${True}    ${True}    ${False}
+    f156.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 201 Added
-    f201.xml    ${True}    ${True}    ${False}
+    f201.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 202 Added
-    f202.xml    ${True}    ${True}    ${False}
+    f202.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 203 Added
-    f203.xml    ${True}    ${True}    ${False}
+    f203.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 204 Added
-    f204.xml    ${True}    ${True}    ${False}
+    f204.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 205 Added
-    f205.xml    ${True}    ${True}    ${False}
+    f205.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 206 Added
-    f206.xml    ${True}    ${True}    ${False}
+    f206.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 209 Added
-    f209.xml    ${True}    ${True}    ${False}
+    f209.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 214 Added
-    f214.xml    ${True}    ${True}    ${False}
+    f214.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 218 Added
-    f218.xml    ${True}    ${True}    ${False}
+    f218.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 219 Added
-    f219.xml    ${True}    ${True}    ${False}
+    f219.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Is Flow 220 Added
-    f220.xml    ${True}    ${True}    ${False}
+    f220.xml    ${True}    ${True}    ${False}    ${check_id}
+
+Test Is Flow 221 Added
+    f221.xml    ${True}    ${True}    ${False}    ${check_id}
+
+Test Is Flow 222 Added
+    f222.xml    ${True}    ${True}    ${False}    ${check_id}
+
+Test Is Flow 223 Added
+    f223.xml    ${True}    ${True}    ${False}    ${check_id}
+
+Test Is Flow 224 Added
+    f224.xml    ${True}    ${True}    ${False}    ${check_id}
+
+Test Is Flow 225 Added
+    f225.xml    ${True}    ${True}    ${False}    ${check_id}
 
 Test Update Flows Group 0
     [Documentation]    Update all flows and waits for SM to collect data
@@ -217,166 +233,181 @@ Test Update Flows Group 0
     Read Until    mininet>
 
 Test Is Flow 1 Updated
-    f1.xml    ${True}    ${True}    ${True}
+    f1.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 2 Updated
-    f2.xml    ${True}    ${True}    ${True}
+    f2.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 3 Updated
-    f3.xml    ${True}    ${True}    ${True}
+    f3.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 4 Updated
-    f4.xml    ${True}    ${True}    ${True}
+    f4.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 5 Updated
-    f5.xml    ${True}    ${True}    ${True}
+    f5.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 6 Updated
-    f6.xml    ${True}    ${True}    ${True}
+    f6.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 7 Updated
-    f7.xml    ${True}    ${True}    ${True}
+    f7.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 8 Updated
-    f8.xml    ${True}    ${True}    ${True}
+    f8.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 9 Updated
-    f9.xml    ${True}    ${True}    ${True}
+    f9.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 10 Updated
-    f10.xml    ${True}    ${True}    ${True}
+    f10.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 11 Updated
-    f11.xml    ${True}    ${True}    ${True}
+    f11.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 12 Updated
-    f12.xml    ${True}    ${True}    ${True}
+    f12.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 13 Updated
-    f13.xml    ${True}    ${True}    ${True}
+    f13.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 14 Updated
-    f14.xml    ${True}    ${True}    ${True}
+    f14.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 15 Updated
-    f15.xml    ${True}    ${True}    ${True}
+    f15.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 16 Updated
-    f16.xml    ${True}    ${True}    ${True}
+    f16.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 17 Updated
-    f17.xml    ${True}    ${True}    ${True}
+    f17.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 18 Updated
-    f18.xml    ${True}    ${True}    ${True}
+    f18.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 19 Updated
-    f19.xml    ${True}    ${True}    ${True}
+    f19.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 20 Updated
-    f20.xml    ${True}    ${True}    ${True}
+    f20.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 21 Updated
-    f21.xml    ${True}    ${True}    ${True}
+    f21.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 22 Updated
-    f22.xml    ${True}    ${True}    ${True}
+    f22.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 23 Updated
-    f23.xml    ${True}    ${True}    ${True}
+    f23.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 24 Updated
-    f24.xml    ${True}    ${True}    ${True}
+    f24.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 25 Updated
-    f25.xml    ${True}    ${True}    ${True}
+    f25.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 31 Updated
-    f31.xml    ${True}    ${True}    ${True}
+    f31.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 36 Updated
-    f36.xml    ${True}    ${True}    ${True}
+    f36.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 38 Updated
-    f38.xml    ${True}    ${True}    ${True}
+    f38.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 43 Updated
-    f43.xml    ${True}    ${True}    ${True}
+    f43.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 45 Updated
-    f45.xml    ${True}    ${True}    ${True}
+    f45.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 47 Updated
-    f47.xml    ${True}    ${True}    ${True}
+    f47.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 101 Updated
-    f101.xml    ${True}    ${True}    ${True}
+    f101.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 102 Updated
-    f102.xml    ${True}    ${True}    ${True}
+    f102.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 103 Updated
-    f103.xml    ${True}    ${True}    ${True}
+    f103.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 104 Updated
-    f104.xml    ${True}    ${True}    ${True}
+    f104.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 105 Updated
-    f105.xml    ${True}    ${True}    ${True}
+    f105.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 106 Updated
-    f106.xml    ${True}    ${True}    ${True}
+    f106.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 107 Updated
-    f107.xml    ${True}    ${True}    ${True}
+    f107.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 108 Updated
-    f108.xml    ${True}    ${True}    ${True}
+    f108.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 109 Updated
-    f109.xml    ${True}    ${True}    ${True}
+    f109.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 110 Updated
-    f110.xml    ${True}    ${True}    ${True}
+    f110.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 113 Updated
-    f113.xml    ${True}    ${True}    ${True}
+    f113.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 156 Updated
-    f156.xml    ${True}    ${True}    ${True}
+    f156.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 201 Updated
-    f201.xml    ${True}    ${True}    ${True}
+    f201.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 202 Updated
-    f202.xml    ${True}    ${True}    ${True}
+    f202.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 203 Updated
-    f203.xml    ${True}    ${True}    ${True}
+    f203.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 204 Updated
-    f204.xml    ${True}    ${True}    ${True}
+    f204.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 205 Updated
-    f205.xml    ${True}    ${True}    ${True}
+    f205.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 206 Updated
-    f206.xml    ${True}    ${True}    ${True}
+    f206.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 209 Updated
-    f209.xml    ${True}    ${True}    ${True}
+    f209.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 214 Updated
-    f214.xml    ${True}    ${True}    ${True}
+    f214.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 218 Updated
-    f218.xml    ${True}    ${True}    ${True}
+    f218.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 219 Updated
-    f219.xml    ${True}    ${True}    ${True}
+    f219.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Is Flow 220 Updated
-    f220.xml    ${True}    ${True}    ${True}
+    f220.xml    ${True}    ${True}    ${True}    ${check_id}
+
+Test Is Flow 221 Updated
+    f221.xml    ${True}    ${True}    ${True}    ${check_id}
+
+Test Is Flow 222 Updated
+    f222.xml    ${True}    ${True}    ${True}    ${check_id}
+
+Test Is Flow 223 Updated
+    f223.xml    ${True}    ${True}    ${True}    ${check_id}
+
+Test Is Flow 224 Updated
+    f224.xml    ${True}    ${True}    ${True}    ${check_id}
+
+Test Is Flow 225 Updated
+    f225.xml    ${True}    ${True}    ${True}    ${check_id}
 
 Test Delete Flows Group 0
     [Documentation]    Delete all flows and waits for SM to collect data
@@ -553,9 +584,26 @@ Test Is Flow 219 Deleted
 Test Is Flow 220 Deleted
     f220.xml    ${False}    ${False}    ${True}
 
+Test Is Flow 221 Deleted
+    f221.xml    ${False}    ${False}    ${True}
+
+Test Is Flow 222 Deleted
+    f222.xml    ${False}    ${False}    ${True}
+
+Test Is Flow 223 Deleted
+    f223.xml    ${False}    ${False}    ${True}
+
+Test Is Flow 224 Deleted
+    f224.xml    ${False}    ${False}    ${True}
+
+Test Is Flow 225 Deleted
+    f225.xml    ${False}    ${False}    ${True}
+
 *** Keywords ***
 Initialization Phase
     [Documentation]    Initiate tcp connection with controller
+    ${check_id} =    Set Variable If    '${ODL_STREAM}' == 'stable/lithium' or '${ODL_STREAM}' == 'beryllium'    ${False}    ${True}
+    Set Suite Variable    ${check_id}
     Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
     Write    dpctl dump-flows -O OpenFlow13
     Read Until    mininet>
index 99b865677a74080d14d3dd13b97e3dcd2d8a29ed..8f30182303de9174375256eb2aa38503bfe5eeaf 100644 (file)
@@ -14,7 +14,7 @@ ${REST_CON}       /restconf/config/opendaylight-inventory:nodes
 ${FILE}           ${CURDIR}/../../../variables/xmls/f20.xml
 ${FLOW}           143
 ${TABLE}          2
-@{FLOWELMENTS}    metadata=0x1010/0x12d692    LOCAL
+@{FLOWELMENTS}    metadata=0x3039/0xf0ff    LOCAL
 
 *** Test Cases ***
 Add a flow - Output to physical port#
index 43c8a23beb3b0e616ad3c46d2c8119500d22b33c..f572474007467ac7bd850e913c87615e0793fe17 100644 (file)
         </ip-match>
         <sctp-source-port>768</sctp-source-port>
         <sctp-destination-port>384</sctp-destination-port>
-        <in-port>0</in-port>
+        <in-port>openflow:1:0</in-port>
     </match>
     <cookie>10</cookie>
     <flow-name>FooXf10</flow-name>
     <priority>10</priority>
     <barrier>false</barrier>
-</flow>
\ No newline at end of file
+</flow>
index 0d8fc98162a79efe7a9c3229e52865190b79b20f..8342dc6d64bdab877dfdcaebc672197cfac06f88 100644 (file)
@@ -43,6 +43,6 @@
         </ip-match>
         <udp-source-port>25364</udp-source-port>
         <udp-destination-port>8080</udp-destination-port>
-        <in-port>0</in-port>
+        <in-port>openflow:1:0</in-port>
     </match>
-</flow>
\ No newline at end of file
+</flow>
index a3ee70030cb3cdc46c3bd95cccf00186f7c81885..3f2ad8781223c74edfe1ef425e3a5eec68114576 100644 (file)
@@ -43,6 +43,6 @@
         </ip-match>
         <udp-source-port>25364</udp-source-port>
         <udp-destination-port>8080</udp-destination-port>
-        <in-port>0</in-port>
+        <in-port>openflow:1:0</in-port>
     </match>
-</flow>
\ No newline at end of file
+</flow>
index 392be09fe33d93c27ae71f857a1d28f9bead8dce..263e0b9c5b44f708387af03ede54157e3e5898fa 100644 (file)
@@ -43,6 +43,6 @@
         </ip-match>
         <udp-source-port>25364</udp-source-port>
         <udp-destination-port>8080</udp-destination-port>
-        <in-port>0</in-port>
+        <in-port>openflow:1:0</in-port>
     </match>
-</flow>
\ No newline at end of file
+</flow>
index fb319079f3c69fd8383395dfd58eb9f7d2093a6a..157fe924ff74c3cd56148afe2e74689e3c6d8bab 100644 (file)
@@ -38,9 +38,9 @@
             <icmpv4-type>6</icmpv4-type>
             <icmpv4-code>3</icmpv4-code>
         </icmpv4-match>
-        <in-port>0</in-port>
+        <in-port>openflow:1:0</in-port>
     </match>
     <cookie>11</cookie>
     <flow-name>FooXf11</flow-name>
     <priority>11</priority>
-</flow>
\ No newline at end of file
+</flow>
index 64d61944a749ca176904dc12388c885936f35ae7..84485daf943b9d72db498c3d2cd4dc1324a0df04 100644 (file)
@@ -42,6 +42,6 @@
         </ip-match>
         <udp-source-port>25364</udp-source-port>
         <udp-destination-port>8080</udp-destination-port>
-        <in-port>0</in-port>
+        <in-port>openflow:1:0</in-port>
     </match>
 </flow>
index c7fdad09443423377ae7ca650de4998ceab111aa..78a61acaaee5b78dbc6e3b3b5944580b3db933aa 100644 (file)
@@ -33,4 +33,4 @@
     <flow-name>FooXf12</flow-name>
     <priority>12</priority>
     <barrier>false</barrier>
-</flow>
\ No newline at end of file
+</flow>
index 604cbc7d776672188834869c5607d6c932c47142..26d972779ebb2855bcb273cc9154a6273e21f970 100644 (file)
@@ -28,4 +28,4 @@
         <ipv6-source>fe80::2acf:e9ff:fe21:6431/128</ipv6-source>
         <ipv6-destination>aabb:1234:2acf:e9ff::fe21:6431/64</ipv6-destination>
     </match>
-</flow>
\ No newline at end of file
+</flow>
index 7bda37af7ad0924198ef8248a2b6b5383bb71b23..6715dddbe339db34bfaf9afe6af173365db5246f 100644 (file)
@@ -24,7 +24,7 @@
     <match>
         <metadata>
             <metadata>12345</metadata>
-            <metadata-mask>1234578</metadata-mask>
+            <metadata-mask>0xf0ff</metadata-mask>
         </metadata>
     </match>
-</flow>
\ No newline at end of file
+</flow>
index 22f491ca52201318bee401f0d1a207d95ad8000c..02c7b2af5c8bcf5864856a1a670d4870d8745fa4 100644 (file)
@@ -38,7 +38,7 @@
         </ip-match>
         <sctp-source-port>768</sctp-source-port>
         <sctp-destination-port>384</sctp-destination-port>
-        <in-port>0</in-port>
+        <in-port>openflow:1:0</in-port>
     </match>
     <cookie>205</cookie>
     <flow-name>sctp-source-port-action</flow-name>
index 82638bb121d5900f74e7f97ab66df6746317a6a8..5631b5fc5244da122c4a972fef46489dd3eea8e2 100644 (file)
@@ -38,7 +38,7 @@
         </ip-match>
         <sctp-source-port>768</sctp-source-port>
         <sctp-destination-port>384</sctp-destination-port>
-        <in-port>0</in-port>
+        <in-port>openflow:1:0</in-port>
     </match>
     <cookie>206</cookie>
     <flow-name>sctp-destination-port</flow-name>
index 53c4bfe569ca966dd1a04f957cc8cab1bd281806..ecaf907c0853b0c1c70c49cffcc4852c883dafd2 100644 (file)
@@ -17,8 +17,8 @@
     <out_group>0xffffffff</out_group>
     <match>
         <tunnel>
-            <tunnel-mask>0xf7d120c</tunnel-mask>
-            <tunnel-id>10668</tunnel-id>
+            <tunnel-mask>0xfff0</tunnel-mask>
+            <tunnel-id>10656</tunnel-id>
         </tunnel>
     </match>
     <cookie>218</cookie>
index e736ef320eb7e82b71ec811d746633d2991f8594..853386db9892c6782793001b043537e1dcefdb7e 100644 (file)
@@ -4,15 +4,6 @@
     <instructions>
         <instruction>
             <order>0</order>
-            <write-actions>
-                <action>
-                    <order>0</order>
-                    <dec-mpls-ttl/>
-                </action>
-            </write-actions>
-        </instruction>
-        <instruction>
-            <order>1</order>
             <apply-actions>
                 <action>
                     <order>0</order>
diff --git a/csit/variables/xmls/f222.xml b/csit/variables/xmls/f222.xml
new file mode 100644 (file)
index 0000000..f260a55
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<flow xmlns="urn:opendaylight:flow:inventory">
+    <priority>222</priority>
+    <flow-name>Foo222</flow-name>
+    <match>
+        <ethernet-match>
+            <ethernet-type>
+                <type>2048</type>
+            </ethernet-type>
+        </ethernet-match>
+        <ipv4-destination>2.2.2.0/16</ipv4-destination>
+    </match>
+    <id>345</id>
+    <table_id>2</table_id>
+    <instructions>
+        <instruction>
+            <order>0</order>
+            <apply-actions>
+                <action>
+                   <order>0</order>
+                   <dec-nw-ttl/>
+                </action>
+            </apply-actions>
+        </instruction>
+    </instructions>
+</flow>
diff --git a/csit/variables/xmls/f223.xml b/csit/variables/xmls/f223.xml
new file mode 100644 (file)
index 0000000..f793d6a
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<flow xmlns="urn:opendaylight:flow:inventory">
+    <priority>223</priority>
+    <flow-name>Foo223</flow-name>
+    <match>
+        <ethernet-match>
+            <ethernet-type>
+                <type>2048</type>
+            </ethernet-type>
+        </ethernet-match>
+        <ipv4-destination-address-no-mask>7.7.7.0</ipv4-destination-address-no-mask>
+        <ipv4-destination-arbitrary-bitmask>255.0.241.0</ipv4-destination-arbitrary-bitmask>
+    </match>
+    <id>346</id>
+    <table_id>2</table_id>
+    <instructions>
+        <instruction>
+            <order>0</order>
+            <apply-actions>
+                <action>
+                   <order>0</order>
+                   <dec-nw-ttl/>
+                </action>
+            </apply-actions>
+        </instruction>
+    </instructions>
+</flow>
diff --git a/csit/variables/xmls/f224.xml b/csit/variables/xmls/f224.xml
new file mode 100644 (file)
index 0000000..6a65e87
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<flow xmlns="urn:opendaylight:flow:inventory">
+    <priority>224</priority>
+    <flow-name>Foo224</flow-name>
+    <match>
+        <ethernet-match>
+            <ethernet-type>
+                <type>34525</type>
+            </ethernet-type>
+        </ethernet-match>
+        <ipv6-destination-address-no-mask>2001:2001:2001:2001:2001:2001:0447:0447</ipv6-destination-address-no-mask>
+        <ipv6-destination-arbitrary-bitmask>FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:F000:F000</ipv6-destination-arbitrary-bitmask>
+    </match>
+    <id>347</id>
+    <table_id>2</table_id>
+    <instructions>
+        <instruction>
+            <order>0</order>
+            <apply-actions>
+                <action>
+                   <order>0</order>
+                   <dec-nw-ttl/>
+                </action>
+            </apply-actions>
+        </instruction>
+    </instructions>
+</flow>
diff --git a/csit/variables/xmls/f225.xml b/csit/variables/xmls/f225.xml
new file mode 100644 (file)
index 0000000..052f5ca
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<flow xmlns="urn:opendaylight:flow:inventory">
+    <priority>225</priority>
+    <flow-name>Foo225</flow-name>
+    <match>
+        <ethernet-match>
+            <ethernet-type>
+                <type>34525</type>
+            </ethernet-type>
+        </ethernet-match>
+        <ipv6-source-address-no-mask>2001:2001:2001:2001:2001:2001:0448:0448</ipv6-source-address-no-mask>
+        <ipv6-source-arbitrary-bitmask>FFFF:FFFF:FFFF:FFFF:0000:FFFF:F000:0000</ipv6-source-arbitrary-bitmask>
+    </match>
+    <id>348</id>
+    <table_id>2</table_id>
+    <instructions>
+        <instruction>
+            <order>0</order>
+            <apply-actions>
+                <action>
+                   <order>0</order>
+                   <dec-nw-ttl/>
+                </action>
+            </apply-actions>
+        </instruction>
+    </instructions>
+</flow>
index c34e023583823cd26af10365a1cc8cb863db90e0..6a795b80cdc6fba938bd4e0a028527faa6a16019 100644 (file)
@@ -20,8 +20,8 @@
     <out_group>0xffffffff</out_group>
     <match>
         <metadata>
-            <metadata-mask>0x46645a66</metadata-mask>
-            <metadata>500</metadata>
+            <metadata>1180719718</metadata>
+            <metadata-mask>0xfff0ffff</metadata-mask>
         </metadata>
     </match>
     <cookie>45</cookie>
index df6350a4289a770316fcfab163a3e7d8f620b0a5..716c1c2478890822a8b534e5db8ee4977718465a 100644 (file)
         </ethernet-match>
         <ipv4-source>10.1.2.0/24</ipv4-source>
         <ipv4-destination>20.4.0.0/16</ipv4-destination>
-        <in-port>0</in-port>
+        <in-port>openflow:1:0</in-port>
     </match>
     <cookie>5</cookie>
     <flow-name>FooXf5</flow-name>
     <priority>5</priority>
     <barrier>false</barrier>
-</flow>
\ No newline at end of file
+</flow>
index 46bb927206d8c8d7daae42427021e55fcef5edac..77539a5e60278857daaccc1d2dd929a1f61b1e98 100644 (file)
             <ip-dscp>15</ip-dscp>
             <ip-ecn>1</ip-ecn>
         </ip-match>
-        <in-port>0</in-port>
+        <in-port>openflow:1:0</in-port>
     </match>
     <cookie>7</cookie>
     <flow-name>FooXf7</flow-name>
     <priority>7</priority>
     <barrier>false</barrier>
-</flow>
\ No newline at end of file
+</flow>
index 8e7b462e5ea8f47162ae9dbd5dc9e10f189e9776..7168b90b8793fcc3eee1e81d613c21ea1b0f4d17 100644 (file)
@@ -36,7 +36,7 @@
         </ip-match>
         <tcp-source-port>25364</tcp-source-port>
         <tcp-destination-port>8080</tcp-destination-port>
-        <in-port>0</in-port>
+        <in-port>openflow:1:0</in-port>
     </match>
     <cookie>8</cookie>
     <flow-name>FooXf8</flow-name>
index d3044ebe65e65c08d564494846e26c940dc3850e..76404619e927235257f2b8ece13af71fc3fa1925 100644 (file)
         </ip-match>
         <udp-source-port>25364</udp-source-port>
         <udp-destination-port>8080</udp-destination-port>
-        <in-port>0</in-port>
+        <in-port>openflow:1:0</in-port>
     </match>
     <cookie>9</cookie>
     <flow-name>FooXf9</flow-name>
     <priority>9</priority>
     <barrier>false</barrier>
-</flow>
\ No newline at end of file
+</flow>