Modify CSIT test files and library file of VTN Manager. 41/36041/16
authorKarthik.S <siva-karthik@hcl.com>
Thu, 10 Mar 2016 18:21:01 +0000 (23:51 +0530)
committerVratko Polák <vrpolak@cisco.com>
Thu, 31 Mar 2016 16:27:57 +0000 (16:27 +0000)
    * Fixing invalid input values(inet4src, inet4dst, icmp code and icmp type) in flowfilter robot test files.
    * Modified Dumpflow command in VtnMaKeywords.robot.
    * Due to Bug 5587 added Tags exclude for ICMP test cases in flowfilter robot files for both OF10 and OF13.
    Once bug is fixed and resolved, will remove Tags exclude and enable ICMP test cases in flowfilter robot files.

Change-Id: I7dec55e97affc0ccfb56c2104faa34b541646cee
Signed-off-by: Karthik.S <siva-karthik@hcl.com>
csit/libraries/VtnMaKeywords.robot
csit/suites/vtn/VTN_Mgr_OF10/010__vtn_manager_flowfilter.robot
csit/suites/vtn/VTN_Mgr_OF13/010__vtn_manager_flowfilter.robot

index 39a2ed4cbf1de7d6853fe99c26b92d40bf3c46dd..78a1a6d46a14a9836d726cfe1d24d1d98cfe6840 100644 (file)
@@ -14,10 +14,14 @@ ${vlan_topo_10}    sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --custom vlan
 ${vlan_topo_13}    sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --custom vlan_vtn_test.py --topo vlantopo --switch ovsk,protocols=OpenFlow13
 ${VERSION_VTN}    controller/nb/v2/vtn/version
 ${VTN_INVENTORY}    restconf/operational/vtn-inventory:vtn-nodes
-${DUMPFLOWS_OF10}    dpctl dump-flows -O OpenFlow10
-${DUMPFLOWS_OF13}    dpctl dump-flows -O OpenFlow13
+${DUMPFLOWS_OF10}    dpctl dump-flows -OOpenFlow10
+${DUMPFLOWS_OF13}    dpctl dump-flows -OOpenFlow13
+${FF_DUMPFLOWS_OF10}     sh ovs-ofctl dump-flows -OOpenFlow10 s3
+${FF_DUMPFLOWS_OF13}     sh ovs-ofctl dump-flows -OOpenFlow13 s3
+${DROP_DUMPFLOWS_OF10}     sh ovs-ofctl dump-flows -OOpenFlow10 s2
+${DROP_DUMPFLOWS_OF13}     sh ovs-ofctl dump-flows -OOpenFlow13 s2
 ${index}          7
-@{inet_actions}    nw_src=10.0.0.1    nw_dst=10.0.0.3
+@{inet_actions}    mod_nw_src:192.0.0.1    mod_nw_dst:192.0.0.2
 @{BRIDGE1_DATAFLOW}    "reason":"PORTMAPPED"    "tenant-name":"Tenant1"    "bridge-name":"vBridge1"    "interface-name":"if2"
 @{BRIDGE2_DATAFLOW}    "reason":"PORTMAPPED"    "tenant-name":"Tenant1"    "bridge-name":"vBridge2"    "interface-name":"if3"
 ${vlanmap_bridge1}    200
@@ -31,9 +35,12 @@ ${pathpolicy_topo_10}    sudo mn --controller=remote,ip=${ODL_SYSTEM_IP} --custo
 @{PATHMAP_ATTR}    "index":"1"    "condition":"flowcond_path"    "policy":"1"
 ${policy_id}      1
 ${in_port}        1
+${filter_index}    1
+@{inet_action}    set_field:192.0.0.1->ip_src    set_field:192.0.0.2->ip_dst
 ${dscp_action}    set_field:32->nw_tos_shifted
 ${dscp_flow}      mod_nw_tos:128
-@{icmp_action}    nw_src=10.0.0.1    nw_dst=10.0.0.3
+@{icmp_action}    mod_tp_dst:1    mod_tp_src:3
+${drop_action}    actions=drop
 @{PATHPOLICY_ATTR}    "id":1    "port-desc":"openflow:4,2,s4-eth2"
 ${custom}         ${CURDIR}/${CREATE_PATHPOLICY_TOPOLOGY_FILE_PATH}
 
@@ -237,8 +244,8 @@ Remove a portmap
 Verify FlowMacAddress
     [Arguments]    ${host1}    ${host2}    ${OF_VERSION}
     [Documentation]    Verify the source and destination mac address.
-    Run Keyword If    '${OF_VERSION}' == 'OF10'    Verify Flows On OpenFlow    ${host1}    ${host2}    ${DUMPFLOWS_OF10}
-    ...    ELSE    VerifyFlowsOnOpenFlow    ${host1}    ${host2}    ${DUMPFLOWS_OF13}
+    Run Keyword If    '${OF_VERSION}' == 'OF10'    Verify Flows On OpenFlow    ${host1}    ${host2}    ${FF_DUMPFLOWS_OF10}
+    ...    ELSE    VerifyFlowsOnOpenFlow    ${host1}    ${host2}    ${FF_DUMPFLOWS_OF13}
 
 Verify Flows On OpenFlow
     [Arguments]    ${host1}    ${host2}    ${DUMPFLOWS}
@@ -249,8 +256,8 @@ Verify Flows On OpenFlow
 Verify RemovedFlowMacAddress
     [Arguments]    ${host1}    ${host2}    ${OF_VERSION}
     [Documentation]    Verify the removed source and destination mac address.
-    Run Keyword If    '${OF_VERSION}' == 'OF10'    Verify Removed Flows On OpenFlow    ${host1}    ${host2}    ${DUMPFLOWS_OF10}
-    ...    ELSE    VerifyRemovedFlowsOnOpenFlow    ${host1}    ${host2}    ${DUMPFLOWS_OF13}
+    Run Keyword If    '${OF_VERSION}' == 'OF10'    Verify Removed Flows On OpenFlow    ${host1}    ${host2}    ${FF_DUMPFLOWS_OF10}
+    ...    ELSE    Verify Removed Flows On OpenFlow    ${host1}    ${host2}    ${FF_DUMPFLOWS_OF13}
 
 Verify Removed Flows On OpenFlow
     [Arguments]    ${host1}    ${host2}    ${DUMPFLOWS}
@@ -289,18 +296,36 @@ Add a vtn flowfilter
     ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-flow-filter:set-flow-filter    data={"input": {"tenant-name": "${vtn_name}",${vtnflowfilter_data}}}
     Should Be Equal As Strings    ${resp.status_code}    200
 
+Remove a vtn flowfilter
+    [Arguments]    ${vtn_name}    ${filter_index}
+    [Documentation]    Delete a vtn flowfilter
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-flow-filter:remove-flow-filter    data={"input": {"indices": ["${filter_index}"], "tenant-name": "${vtn_name}"}}
+    Should Be Equal As Strings    ${resp.status_code}    200
+
 Add a vbr flowfilter
     [Arguments]    ${vtn_name}    ${vBridge_name}    ${vbrflowfilter_data}
     [Documentation]    Create a flowfilter for a vbr
     ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-flow-filter:set-flow-filter    data={"input": {"tenant-name": "${vtn_name}", "bridge-name": "${vBridge_name}", ${vbrflowfilter_data}}}
     Should Be Equal As Strings    ${resp.status_code}    200
 
+Remove a vbr flowfilter
+    [Arguments]    ${vtn_name}    ${vBridge_name}    ${filter_index}
+    [Documentation]    Delete a vbr flowfilter
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-flow-filter:remove-flow-filter    data={"input": {"indices": ["${filter_index}"], "tenant-name": "${vtn_name}","bridge-name": "${vBridge_name}"}}
+    Should Be Equal As Strings    ${resp.status_code}    200
+
 Add a vbrif flowfilter
     [Arguments]    ${vtn_name}    ${vBridge_name}    ${interface_name}    ${vbrif_flowfilter_data}
     [Documentation]    Create a flowfilter for a vbrif
     ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-flow-filter:set-flow-filter    data={"input": {"tenant-name": ${vtn_name}, "bridge-name": "${vBridge_name}","interface-name":"${interface_name}",${vbrif_flowfilter_data}}}
     Should Be Equal As Strings    ${resp.status_code}    200
 
+Remove a vbrif flowfilter
+    [Arguments]    ${vtn_name}    ${vBridge_name}    ${interface_name}    ${filter_index}
+    [Documentation]    Delete a vbrif flowfilter
+    ${resp}=    RequestsLibrary.Post Request    session    restconf/operations/vtn-flow-filter:remove-flow-filter    data={"input": {"indices": ["${filter_index}"], "tenant-name": "${vtn_name}","bridge-name": "${vBridge_name}","interface-name": "${interface_name}"}}
+    Should Be Equal As Strings    ${resp.status_code}    200
+
 Verify Flow Entries for Flowfilter
     [Arguments]    ${dumpflows}    @{flowfilter_actions}
     [Documentation]    Verify switch flow entry using flowfilter for a vtn
index 4255839b0e4925f22f65a0a500dc5db9a86299ff..83e0d0507170963dd1bc94962471d4e841151c40 100644 (file)
@@ -5,10 +5,10 @@ Suite Teardown    Stop SuiteVtnMaTest
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Variables ***
-${flowconditiondata}    "vtn-flow-match":[{"vtn-inet-match":{"source-network":"10.0.0.1/32","protocol":1,"destination-network":"10.0.0.3/32"},"index":"1"}]
-${flowfilterInetdata}    "vtn-flow-filter":[{"condition":"cond_1","vtn-pass-filter":{},"vtn-flow-action":[{"order": "1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.1/32"}},{"order": "2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.3/32"}}],"index": "1"}]
-${flowfilterInetdropdata}    "vtn-flow-filter":[{"condition":"cond_1","vtn-drop-filter":{},"vtn-flow-action":[{"order": "1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.1/32"}},{"order": "2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.3/32"}}],"index": "1"}]
-${flowfilterIcmpCodedata}    "vtn-flow-filter":[{"condition":"cond_1","vtn-pass-filter":{},"vtn-flow-action":[{"order": "1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.1/32"}},{"order": "2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.3/32"}}],"index": "1"}]
+${flowconditiondata}    "vtn-flow-match":[{"vtn-inet-match":{"source-network":"10.0.0.1/32","destination-network":"10.0.0.3/32"},"index":"1"}]
+${flowfilterInetdata}    "vtn-flow-filter":[{"condition":"cond_1","vtn-pass-filter":{},"vtn-flow-action":[{"order": "1","vtn-set-inet-src-action":{"ipv4-address":"192.0.0.1/32"}},{"order": "2","vtn-set-inet-dst-action":{"ipv4-address":"192.0.0.2/32"}}],"index": "1"}]
+${flowfilterInetdropdata}    "vtn-flow-filter":[{"condition":"cond_1","vtn-drop-filter":{},"vtn-flow-action":[{"order": "1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.2/32"}},{"order": "2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.4/32"}}],"index": "1"}]
+${flowfilterIcmpCodedata}    "vtn-flow-filter": [{"condition": "cond_1","index": "1", "vtn-pass-filter": {}, "vtn-flow-action": [{ "order": "1", "vtn-set-icmp-code-action":{"code": "1"}},{"order": "2","vtn-set-icmp-type-action": {"type": "3"}}]}]
 ${flowfilterTpsrcTpdstdata}    "vtn-flow-filter": [{"condition": "cond_1","vtn-pass-filter": {},"vtn-flow-action": [{"order": "1","vtn-set-port-src-action": {"port": "5"}},{"order": "2","vtn-set-port-dst-action": {"port": "10"}}],"index": "1"}]
 ${flowfilterDscpdata}    "vtn-flow-filter":[{"condition": "cond_1","vtn-pass-filter": {},"vtn-flow-action": [{"order": "1","vtn-set-inet-dscp-action": {"dscp":"32"}}],"index":"1"}]
 ${flowfiltervlanpcp}    "vtn-flow-filter":[{"condition":"cond_1","vtn-pass-filter":{},"vtn-flow-action":[{"order":"3","vtn-set-icmp-code-action":{"code":"1"}},{"order":"4","vtn-set-vlan-pcp-action":{"vlan-pcp":"3"}}],"index":"1"}]
@@ -59,20 +59,20 @@ Add a vBridge vBridge2
     Add a vBridge    Tenant1    vBridge2
 
 Add a interface If3
-    [Documentation]    Add a interface if3 into vBrdige vBridge1
-    Add a interface    Tenant1    vBridge1    if3
+    [Documentation]    Add a interface if3 into vBrdige vBridge2
+    Add a interface    Tenant1    vBridge2    if3
 
 Add a interface if4
-    [Documentation]    Add a interface if4 into vBrdige vBridge1
-    Add a interface    Tenant1    vBridge1    if4
+    [Documentation]    Add a interface if4 into vBrdige vBridge2
+    Add a interface    Tenant1    vBridge2    if4
 
 Add a portmap for interface if3
-    [Documentation]    Create a portmap on Interface if3 of vBridge1
-    Add a portmap    Tenant1    vBridge1    if3    openflow:2    s2-eth2
+    [Documentation]    Create a portmap on Interface if3 of vBridge2
+    Add a portmap    Tenant1    vBridge2    if3    openflow:2    s2-eth2
 
 Add a portmap for interface if4
-    [Documentation]    Create a portmap on Interface if4 of vBridge1
-    Add a portmap    Tenant1    vBridge1    if4    openflow:3    s3-eth2
+    [Documentation]    Create a portmap on Interface if4 of vBridge2
+    Add a portmap    Tenant1    vBridge2    if4    openflow:3    s3-eth2
 
 Ping h2 to h4
     [Documentation]    Ping h2 to h4, verify no packet loss
@@ -85,61 +85,89 @@ Add a flowcondition
 Add a vtn flowfilter with inet4src and inet4dst
     [Documentation]    Create a flowfilter with inet4 and Verify ping
     Add a vtn flowfilter    Tenant1    ${flowfilterInetdata}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Not Succeed    h1    h3
 
 Verify inet4src and inet4dst of vtn flowfilter
     [Documentation]    Verify vtn flowfilter actions in Flow Enties for inet4src and inet4dst
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${DUMPFLOWS_OF10}    @{inet_actions}
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${FF_DUMPFLOWS_OF10}    @{inet_actions}
+
+Remove vtn Flowfilter index
+    [Documentation]    Remove a index of vtn flowfilter
+    Remove a vtn flowfilter    Tenant1    ${filter_index}
 
 Add a vbr flowfilter with inet4src and inet4dst
     [Documentation]    Create a flowfilter with inet4 and Verify ping
     Add a vbr flowfilter    Tenant1    vBridge1    ${flowfilterInetdata}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Not Succeed    h1    h3
 
 Verify inet4src and inet4dst of vbr flowfilter
     [Documentation]    Verify actions in Flow Enties for inet4src and inet4dst
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${DUMPFLOWS_OF10}    @{inet_actions}
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${FF_DUMPFLOWS_OF10}    @{inet_actions}
+
+Remove vbr Flowfilter index
+    [Documentation]    Remove a index of vbr flowfilter
+    Remove a vbr flowfilter    Tenant1    vBridge1    ${filter_index}
 
 Add a vbrif flowfilter with inet4src and inet4dst
     [Documentation]    Create a flowfilter with inet4 and Verify ping
     Add a vbrif flowfilter    Tenant1    vBridge1    if1    ${flowfilterInetdata}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Not Succeed    h1    h3
 
 Verify inet4src and inet4dst of vbrif flowfilter
     [Documentation]    Verify actions in Flow Enties for inet4src and inet4dst
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${DUMPFLOWS_OF10}    @{inet_actions}
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${FF_DUMPFLOWS_OF10}    @{inet_actions}
+
+Remove vbrif Flowfilter index
+    [Documentation]    Remove a index of vbrif flowfilter
+    Remove a vbrif flowfilter    Tenant1    vBridge1    if1    ${filter_index}
 
 Add a vtn flowfilter with Icmp code
     [Documentation]    Create a flowfilter with icmp code and Verify ping
+    [Tags]    exclude
     Add a vtn flowfilter    Tenant1    ${flowfilterIcmpCodedata}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Not Succeed    h1    h3
 
 Verify icmp action for vtn flowfilter
     [Documentation]    Verify actions in Flow Enties for icmp code and type
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${DUMPFLOWS_OF10}    @{icmp_action}
+    [Tags]    exclude
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${FF_DUMPFLOWS_OF10}    @{icmp_action}
+
+Remove vtn Flowfilter index which has ICMP
+    [Documentation]    Remove a index of vtn flowfilter which have ICMP
+    [Tags]    exclude
+    Remove a vtn flowfilter    Tenant1    ${filter_index}
 
 Add a vbr flowfilter with Icmp code
     [Documentation]    Create a flowfilter with icmp code and Verify ping
+    [Tags]    exclude
     Add a vbr flowfilter    Tenant1    vBridge1    ${flowfilterIcmpCodedata}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Not Succeed    h1    h3
 
 Verify icmp action for vbr flowfilter
     [Documentation]    Verify actions in Flow Enties for icmp code and type
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${DUMPFLOWS_OF10}    @{icmp_action}
+    [Tags]    exclude
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${FF_DUMPFLOWS_OF10}    @{icmp_action}
+
+Remove vbr Flowfilter index which has ICMP
+    [Documentation]    Remove a index of vbr flowfilter which have ICMP
+    [Tags]    exclude
+    Remove a vbr flowfilter    Tenant1    vBridge1    ${filter_index}
 
 Add a vbrif flowfilter with Icmp code
     [Documentation]    Create a flowfilter with icmp code and Verify ping
+    [Tags]    exclude
     Add a vbrif flowfilter    Tenant1    vBridge1    if1    ${flowfilterIcmpCodedata}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Not Succeed    h1    h3
 
 Verify icmp action for vbrif flowfilter
     [Documentation]    Verify actions in Flow Enties for icmp code and type
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${DUMPFLOWS_OF10}    @{icmp_action}
+    [Tags]    exclude
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${FF_DUMPFLOWS_OF10}    @{icmp_action}
 
-Add a flowfilter with tpsrc and tpdst
-    [Documentation]    Create a flowfilter with tpsrc and tpdst and Verify ping
-    Add a vbrif flowfilter    Tenant1    vBridge1    if1    ${flowfilterTpsrcTpdstdata}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+Remove vbrif Flowfilter index which has ICMP
+    [Documentation]    Remove a index of vbrif flowfilter which have ICMP
+    [Tags]    exclude
+    Remove a vbrif flowfilter    Tenant1    vBridge1    if1    ${filter_index}
 
 Add a vtn flowfilter with dscp
     [Documentation]    Create a flowfilter with dscp and Verify ping
@@ -148,7 +176,11 @@ Add a vtn flowfilter with dscp
 
 Verify dscp action for vtn flowfilter
     [Documentation]    Verify actions in Flow Enties for dscp
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify flowactions    ${dscp_flow}    ${DUMPFLOWS_OF10}
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify flowactions    ${dscp_flow}    ${FF_DUMPFLOWS_OF10}
+
+Remove vtn Flowfilter index which have dscp
+    [Documentation]    Remove a index of vtn flowfilter which have DSCP
+    Remove a vtn flowfilter    Tenant1    ${filter_index}
 
 Add a vbr flowfilter with dscp
     [Documentation]    Create a flowfilter with dscp and Verify ping
@@ -157,7 +189,11 @@ Add a vbr flowfilter with dscp
 
 Verify dscp action for vbr flowfilter
     [Documentation]    Verify actions in Flow Enties for dscp
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify flowactions    ${dscp_flow}    ${DUMPFLOWS_OF10}
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify flowactions    ${dscp_flow}    ${FF_DUMPFLOWS_OF10}
+
+Remove vbr Flowfilter index which have dscp
+    [Documentation]    Remove a index of vbr flowfilter which have DSCP
+    Remove a vbr flowfilter    Tenant1    vBridge1    ${filter_index}
 
 Add a vbrif flowfilter with dscp
     [Documentation]    Create a flowfilter with dscp and Verify ping
@@ -166,12 +202,11 @@ Add a vbrif flowfilter with dscp
 
 Verify dscp action for vbrif flowfilter
     [Documentation]    Verify actions in Flow Enties for dscp
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify flowactions    ${dscp_flow}    ${DUMPFLOWS_OF10}
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify flowactions    ${dscp_flow}    ${FF_DUMPFLOWS_OF10}
 
-Add a flowfilter with vlanpcp
-    [Documentation]    Create a flowfilter with vlanpcp and Verify ping
-    Add a vbrif flowfilter    Tenant1    vBridge1    if1    ${flowfiltervlanpcp}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+Remove vbrif Flowfilter index which have dscp
+    [Documentation]    Remove a index of vbrif flowfilter which have DSCP
+    Remove a vbrif flowfilter    Tenant1    vBridge1    if1    ${filter_index}
 
 Add a flowfilter with inet4 for drop
     [Documentation]    Create a flowfilter with inet4 for drop action and Verify no pinging
@@ -180,8 +215,7 @@ Add a flowfilter with inet4 for drop
 
 Verify Removed Flow Entry For Inet After Drop Action
     [Documentation]    Verify no flows between the hosts after drop
-    [Tags]    exclude
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify Removed Flow Entry for Inet Drop Flowfilter    @{inet_actions}    ${DUMPFLOWS_OF10}
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify flowactions    ${drop_action}    ${DROP_DUMPFLOWS_OF10}
 
 Delete a flowcondition
     [Documentation]    Delete a flowcondition
index 1101d272c51086cd5e3ae815aa31b13aa193754b..3873fc221845de2d2586aea38d6a9f9e3cc2f3c4 100644 (file)
@@ -5,10 +5,10 @@ Suite Teardown    Stop SuiteVtnMaTest
 Resource          ../../../libraries/VtnMaKeywords.robot
 
 *** Variables ***
-${flowconditiondata}    "vtn-flow-match":[{"vtn-inet-match":{"source-network":"10.0.0.1/32","protocol":1,"destination-network":"10.0.0.3/32"},"index":"1"}]
-${flowfilterInetdata}    "vtn-flow-filter":[{"condition":"cond_1","vtn-pass-filter":{},"vtn-flow-action":[{"order": "1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.1/32"}},{"order": "2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.3/32"}}],"index": "1"}]
-${flowfilterInetdropdata}    "vtn-flow-filter":[{"condition":"cond_1","vtn-drop-filter":{},"vtn-flow-action":[{"order": "1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.1/32"}},{"order": "2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.3/32"}}],"index": "1"}]
-${flowfilterIcmpCodedata}    "vtn-flow-filter":[{"condition":"cond_1","vtn-pass-filter":{},"vtn-flow-action":[{"order": "1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.1/32"}},{"order": "2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.3/32"}}],"index": "1"}]
+${flowconditiondata}    "vtn-flow-match":[{"vtn-inet-match":{"source-network":"10.0.0.1/32","destination-network":"10.0.0.3/32"},"index":"1"}]
+${flowfilterInetdata}    "vtn-flow-filter":[{"condition":"cond_1","vtn-pass-filter":{},"vtn-flow-action":[{"order": "1","vtn-set-inet-src-action":{"ipv4-address":"192.0.0.1/32"}},{"order": "2","vtn-set-inet-dst-action":{"ipv4-address":"192.0.0.2/32"}}],"index": "1"}]
+${flowfilterInetdropdata}    "vtn-flow-filter":[{"condition":"cond_1","vtn-drop-filter":{},"vtn-flow-action":[{"order": "1","vtn-set-inet-src-action":{"ipv4-address":"10.0.0.2/32"}},{"order": "2","vtn-set-inet-dst-action":{"ipv4-address":"10.0.0.4/32"}}],"index": "1"}]
+${flowfilterIcmpCodedata}    "vtn-flow-filter": [{"condition": "cond_1","index": "1", "vtn-pass-filter": {}, "vtn-flow-action": [{ "order": "1", "vtn-set-icmp-code-action":{"code": "1"}},{"order": "2","vtn-set-icmp-type-action": {"type": "3"}}]}]
 ${flowfilterTpsrcTpdstdata}    "vtn-flow-filter": [{"condition": "cond_1","vtn-pass-filter": {},"vtn-flow-action": [{"order": "1","vtn-set-port-src-action": {"port": "5"}},{"order": "2","vtn-set-port-dst-action": {"port": "10"}}],"index": "1"}]
 ${flowfilterDscpdata}    "vtn-flow-filter":[{"condition": "cond_1","vtn-pass-filter": {},"vtn-flow-action": [{"order": "1","vtn-set-inet-dscp-action": {"dscp":"32"}}],"index":"1"}]
 ${flowfiltervlanpcp}    "vtn-flow-filter":[{"condition":"cond_1","vtn-pass-filter":{},"vtn-flow-action":[{"order":"3","vtn-set-icmp-code-action":{"code":"1"}},{"order":"4","vtn-set-vlan-pcp-action":{"vlan-pcp":"3"}}],"index":"1"}]
@@ -59,20 +59,20 @@ Add a vBridge vBridge2
     Add a vBridge    Tenant1    vBridge2
 
 Add a interface If3
-    [Documentation]    Add a interface if3 into vBrdige vBridge1
-    Add a interface    Tenant1    vBridge1    if3
+    [Documentation]    Add a interface if3 into vBrdige vBridge2
+    Add a interface    Tenant1    vBridge2    if3
 
 Add a interface if4
-    [Documentation]    Add a interface if4 into vBrdige vBridge1
-    Add a interface    Tenant1    vBridge1    if4
+    [Documentation]    Add a interface if4 into vBrdige vBridge2
+    Add a interface    Tenant1    vBridge2    if4
 
 Add a portmap for interface if3
-    [Documentation]    Create a portmap on Interface if3 of vBridge1
-    Add a portmap    Tenant1    vBridge1    if3    openflow:2    s2-eth2
+    [Documentation]    Create a portmap on Interface if3 of vBridge2
+    Add a portmap    Tenant1    vBridge2    if3    openflow:2    s2-eth2
 
 Add a portmap for interface if4
-    [Documentation]    Create a portmap on Interface if4 of vBridge1
-    Add a portmap    Tenant1    vBridge1    if4    openflow:3    s3-eth2
+    [Documentation]    Create a portmap on Interface if4 of vBridge2
+    Add a portmap    Tenant1    vBridge2    if4    openflow:3    s3-eth2
 
 Ping h2 to h4
     [Documentation]    Ping h2 to h4, verify no packet loss
@@ -85,61 +85,83 @@ Add a flowcondition
 Add a vtn flowfilter with inet4src and inet4dst
     [Documentation]    Create a flowfilter with inet4 and Verify ping
     Add a vtn flowfilter    Tenant1    ${flowfilterInetdata}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Not Succeed    h1    h3
 
 Verify inet4src and inet4dst of vtn flowfilter
     [Documentation]    Verify vtn flowfilter actions in Flow Enties for inet4src and inet4dst
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${DUMPFLOWS_OF13}    @{inet_actions}
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${FF_DUMPFLOWS_OF13}    @{inet_action}
+
+Remove vtn Flowfilter index
+    [Documentation]    Remove a index of vtn flowfilter
+    Remove a vtn flowfilter    Tenant1    ${filter_index}
 
 Add a vbr flowfilter with inet4src and inet4dst
     [Documentation]    Create a flowfilter with inet4 and Verify ping
     Add a vbr flowfilter    Tenant1    vBridge1    ${flowfilterInetdata}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Not Succeed    h1    h3
 
 Verify inet4src and inet4dst of vbr flowfilter
     [Documentation]    Verify actions in Flow Enties for inet4src and inet4dst
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${DUMPFLOWS_OF13}    @{inet_actions}
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${FF_DUMPFLOWS_OF13}    @{inet_action}
+
+Remove vbr Flowfilter index
+    [Documentation]    Remove a index of vbr flowfilter
+    Remove a vbr flowfilter    Tenant1    vBridge1    ${filter_index}
 
 Add a vbrif flowfilter with inet4src and inet4dst
     [Documentation]    Create a flowfilter with inet4 and Verify ping
     Add a vbrif flowfilter    Tenant1    vBridge1    if1    ${flowfilterInetdata}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Not Succeed    h1    h3
 
 Verify inet4src and inet4dst of vbrif flowfilter
     [Documentation]    Verify actions in Flow Enties for inet4src and inet4dst
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${DUMPFLOWS_OF13}    @{inet_actions}
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${FF_DUMPFLOWS_OF13}    @{inet_action}
+
+Remove vbrif Flowfilter index
+    [Documentation]    Remove a index of vbrif flowfilter
+    Remove a vbrif flowfilter    Tenant1    vBridge1    if1    ${filter_index}
 
 Add a vtn flowfilter with Icmp code
     [Documentation]    Create a flowfilter with icmp code and Verify ping
     Add a vtn flowfilter    Tenant1    ${flowfilterIcmpCodedata}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Not Succeed    h1    h3
 
 Verify icmp action for vtn flowfilter
     [Documentation]    Verify actions in Flow Enties for icmp code and type
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${DUMPFLOWS_OF13}    @{icmp_action}
+    [Tags]    exclude
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${FF_DUMPFLOWS_OF13}    @{icmp_action}
+
+Remove vtn Flowfilter index which has ICMP
+    [Documentation]    Remove a index of vtn flowfilter which have ICMP
+    Remove a vtn flowfilter    Tenant1    ${filter_index}
 
 Add a vbr flowfilter with Icmp code
     [Documentation]    Create a flowfilter with icmp code and Verify ping
     Add a vbr flowfilter    Tenant1    vBridge1    ${flowfilterIcmpCodedata}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Not Succeed    h1    h3
 
 Verify icmp action for vbr flowfilter
     [Documentation]    Verify actions in Flow Enties for icmp code and type
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${DUMPFLOWS_OF13}    @{icmp_action}
+    [Tags]    exclude
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${FF_DUMPFLOWS_OF13}    @{icmp_action}
+
+Remove vbr Flowfilter index which has ICMP
+    [Documentation]    Remove a index of vbr flowfilter which have ICMP
+    Remove a vbr flowfilter    Tenant1    vBridge1    ${filter_index}
 
 Add a vbrif flowfilter with Icmp code
     [Documentation]    Create a flowfilter with icmp code and Verify ping
     Add a vbrif flowfilter    Tenant1    vBridge1    if1    ${flowfilterIcmpCodedata}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Not Succeed    h1    h3
 
 Verify icmp action for vbrif flowfilter
     [Documentation]    Verify actions in Flow Enties for icmp code and type
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${DUMPFLOWS_OF13}    @{icmp_action}
+    [Tags]    exclude
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify Flow Entries for Flowfilter    ${FF_DUMPFLOWS_OF13}    @{icmp_action}
 
-Add a flowfilter with tpsrc and tpdst
-    [Documentation]    Create a flowfilter with tpsrc and tpdst and Verify ping
-    Add a vbrif flowfilter    Tenant1    vBridge1    if1    ${flowfilterTpsrcTpdstdata}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+Remove vbrif Flowfilter index which has ICMP
+    [Documentation]    Remove a index of vbrif flowfilter which have ICMP
+    Remove a vbrif flowfilter    Tenant1    vBridge1    if1    ${filter_index}
 
 Add a vtn flowfilter with dscp
     [Documentation]    Create a flowfilter with dscp and Verify ping
@@ -148,7 +170,11 @@ Add a vtn flowfilter with dscp
 
 Verify dscp action for vtn flowfilter
     [Documentation]    Verify actions in Flow Enties for dscp
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify flowactions    ${dscp_action}    ${DUMPFLOWS_OF13}
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify flowactions    ${dscp_action}    ${FF_DUMPFLOWS_OF13}
+
+Remove vtn Flowfilter index which have dscp
+    [Documentation]    Remove a index of vtn flowfilter which have DSCP
+    Remove a vtn flowfilter    Tenant1    ${filter_index}
 
 Add a vbr flowfilter with dscp
     [Documentation]    Create a flowfilter with dscp and Verify ping
@@ -157,7 +183,11 @@ Add a vbr flowfilter with dscp
 
 Verify dscp action for vbr flowfilter
     [Documentation]    Verify actions in Flow Enties for dscp
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify flowactions    ${dscp_action}    ${DUMPFLOWS_OF13}
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify flowactions    ${dscp_action}    ${FF_DUMPFLOWS_OF13}
+
+Remove vbr Flowfilter index which have dscp
+    [Documentation]    Remove a index of vbr flowfilter which have DSCP
+    Remove a vbr flowfilter    Tenant1    vBridge1    ${filter_index}
 
 Add a vbrif flowfilter with dscp
     [Documentation]    Create a flowfilter with dscp and Verify ping
@@ -166,12 +196,11 @@ Add a vbrif flowfilter with dscp
 
 Verify dscp action for vbrif flowfilter
     [Documentation]    Verify actions in Flow Enties for dscp
-    Wait_Until_Keyword_Succeeds    20s    1s    Verify flowactions    ${dscp_action}    ${DUMPFLOWS_OF13}
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify flowactions    ${dscp_action}    ${FF_DUMPFLOWS_OF13}
 
-Add a flowfilter with vlanpcp
-    [Documentation]    Create a flowfilter with vlanpcp and Verify ping
-    Add a vbrif flowfilter    Tenant1    vBridge1    if1    ${flowfiltervlanpcp}
-    Wait_Until_Keyword_Succeeds    20s    1s    Mininet Ping Should Succeed    h1    h3
+Remove vbrif Flowfilter index which have dscp
+    [Documentation]    Remove a index of vbrif flowfilter which have DSCP
+    Remove a vbrif flowfilter    Tenant1    vBridge1    if1    ${filter_index}
 
 Add a flowfilter with inet4 for drop
     [Documentation]    Create a flowfilter with inet4 for drop action and Verify no pinging
@@ -180,13 +209,12 @@ Add a flowfilter with inet4 for drop
 
 Verify Removed Flow Entry For Inet After Drop Action
     [Documentation]    Verify no flows between the hosts after drop
-    [Tags]    exclude
-    Verify Removed Flow Entry for Inet Drop Flowfilter    @{inet_actions}    ${DUMPFLOWS_OF13}
+    Wait_Until_Keyword_Succeeds    20s    1s    Verify flowactions    ${drop_action}    ${DROP_DUMPFLOWS_OF13}
 
 Delete a flowcondition
     [Documentation]    Delete a flowcondition
     Remove flowcondition    cond_1
 
 Delete a vtn Tenant1
-    [Documentation]    Delete vtn Tenant1
+    [Documentation]    Delete vtn Tenant1
     Delete a vtn    Tenant1