From da091711b7737bebb144ade6b0ef1cd9f4de104b Mon Sep 17 00:00:00 2001 From: "Karthik.S" Date: Thu, 10 Mar 2016 23:51:01 +0530 Subject: [PATCH] Modify CSIT test files and library file of VTN Manager. * 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 --- csit/libraries/VtnMaKeywords.robot | 41 +++++-- .../010__vtn_manager_flowfilter.robot | 108 ++++++++++++------ .../010__vtn_manager_flowfilter.robot | 104 +++++++++++------ 3 files changed, 170 insertions(+), 83 deletions(-) diff --git a/csit/libraries/VtnMaKeywords.robot b/csit/libraries/VtnMaKeywords.robot index 39a2ed4cbf..78a1a6d46a 100644 --- a/csit/libraries/VtnMaKeywords.robot +++ b/csit/libraries/VtnMaKeywords.robot @@ -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 diff --git a/csit/suites/vtn/VTN_Mgr_OF10/010__vtn_manager_flowfilter.robot b/csit/suites/vtn/VTN_Mgr_OF10/010__vtn_manager_flowfilter.robot index 4255839b0e..83e0d05071 100644 --- a/csit/suites/vtn/VTN_Mgr_OF10/010__vtn_manager_flowfilter.robot +++ b/csit/suites/vtn/VTN_Mgr_OF10/010__vtn_manager_flowfilter.robot @@ -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 diff --git a/csit/suites/vtn/VTN_Mgr_OF13/010__vtn_manager_flowfilter.robot b/csit/suites/vtn/VTN_Mgr_OF13/010__vtn_manager_flowfilter.robot index 1101d272c5..3873fc2218 100644 --- a/csit/suites/vtn/VTN_Mgr_OF13/010__vtn_manager_flowfilter.robot +++ b/csit/suites/vtn/VTN_Mgr_OF13/010__vtn_manager_flowfilter.robot @@ -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 a vtn Tenant1 + [Documentation] Delete vtn Tenant1 Delete a vtn Tenant1 -- 2.36.6