* 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>
${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
@{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}
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}
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}
${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
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"}]
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
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
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
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
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
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
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"}]
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
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
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
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
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
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