+Add a vlanmap
+ [Arguments] ${vtn_name} ${vbr_name} ${vlan_id}
+ [Documentation] Create a vlanmap
+ ${resp}= RequestsLibrary.Post Request session restconf/operations/vtn-vlan-map:add-vlan-map data={"input": {"tenant-name":${vtn_name},"bridge-name":${vbr_name},"vlan-id":${vlan_id}}}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Verify Data Flows
+ [Arguments] ${vtn_name} ${vBridge_name}
+ [Documentation] Verify the reason and physical data flows for the specified vtn and vbridge
+ ${resp}= RequestsLibrary.Post Request session restconf/operations/vtn-flow:get-data-flow data={"input":{"tenant-name":"${vtn_name}","mode":"UPDATESTATS"}}
+ Run Keyword If '${vBridge_name}' == 'vBridge1' DataFlowsForBridge ${resp} @{BRIDGE1_DATAFLOW}
+ ... ELSE IF '${vBridge_name}' == 'vBridge2' DataFlowsForBridge ${resp} @{BRIDGE2_DATAFLOW}
+ ... ELSE IF '${vBridge_name}' == 'vBridge1_vlan' DataFlowsForBridge ${resp} @{VLANMAP_BRIDGE1_DATAFLOW}
+ ... ELSE DataFlowsForBridge ${resp} @{VLANMAP_BRIDGE2_DATAFLOW}
+
+Start PathSuiteVtnMaTest
+ [Documentation] Start VTN Manager Test Suite and Mininet
+ Start SuiteVtnMaTest
+ MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_IP} ${pathpolicy_topo} ${custom} ofversion=13
+
+Start PathSuiteVtnMaTestOF10
+ [Documentation] Start VTN Manager Test Suite and Mininet in Open Flow 10 Specification
+ Start SuiteVtnMaTest
+ MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_IP} ${pathpolicy_topo} ${custom} ofversion=10
+
+Stop PathSuiteVtnMaTest
+ [Documentation] Cleanup/Shutdown work at the completion of all tests.
+ Delete All Sessions
+ MininetKeywords.Stop Mininet And Exit
+
+DataFlowsForBridge
+ [Arguments] ${resp} @{BRIDGE_DATAFLOW}
+ [Documentation] Verify whether the required attributes exists.
+ FOR ${dataflowElement} IN @{BRIDGE_DATAFLOW}
+ should Contain ${resp.text} ${dataflowElement}
+ END
+
+Add a pathmap
+ [Arguments] ${pathmap_data}
+ [Documentation] Create a pathmap for a vtn
+ ${resp}= RequestsLibrary.Post Request session restconf/operations/vtn-path-map:set-path-map data=${pathmap_data}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Get a pathmap
+ [Documentation] Get a pathmap for a vtn.
+ ${resp}= RequestsLibrary.Get Request session restconf/operational/vtn-path-map:global-path-maps
+ FOR ${pathElement} IN @{PATHMAP_ATTR}
+ should Contain ${resp.text} ${pathElement}
+ END
+
+Add a pathpolicy
+ [Arguments] ${pathpolicy_data}
+ [Documentation] Create a pathpolicy for a vtn
+ ${resp}= RequestsLibrary.Post Request session restconf/operations/vtn-path-policy:set-path-policy data=${pathpolicy_data}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Get a pathpolicy
+ [Arguments] ${pathpolicy_id}
+ [Documentation] Get a pathpolicy for a vtn.
+ ${resp}= RequestsLibrary.Get Request session restconf/operational/vtn-path-policy:vtn-path-policies/vtn-path-policy/${pathpolicy_id}
+ FOR ${pathpolicyElement} IN @{PATHPOLICY_ATTR}
+ should Contain ${resp.text} ${pathpolicyElement}
+ END
+
+Delete a pathmap
+ [Arguments] ${tenant_path}
+ [Documentation] Remove a pathmap for a vtn
+ ${resp}= RequestsLibrary.Post Request session restconf/operations/vtn-path-map:remove-path-map data={"input":{"tenant-name":"${tenant_path}","map-index":["${policy_id}"]}}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Delete a pathpolicy
+ [Arguments] ${policy_id}
+ [Documentation] Delete a pathpolicy for a vtn
+ ${resp}= RequestsLibrary.Post Request session restconf/operations/vtn-path-policy:remove-path-policy data={"input":{"id":"${policy_id}"}}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Verify flowEntryPathPolicy
+ [Arguments] ${of_version} ${port} ${output}
+ [Documentation] Checking Flows on switch S1 and switch S3 after applying path policy
+ ${DUMPFLOWS}= Set Variable If "${of_version}"=="OF10" ${DUMPFLOWS_OF10} ${DUMPFLOWS_OF13}
+ write ${DUMPFLOWS}
+ ${result} Read Until mininet>
+ Should Contain ${result} in_port=${port} actions=${output}
+