SXP: Make cluster routing suite more readable
[integration/test.git] / csit / libraries / OvsManager.robot
index ccab7fdae3e8de86b833e6563b28527a886d7065..f3852fd9d8dae1549234c65febfec40bd5947556 100644 (file)
@@ -216,3 +216,24 @@ Get Dump Flows Count
     ${output} =    Utils.Write Commands Until Expected Prompt    ${cmd}    ${DEFAULT_LINUX_PROMPT_STRICT}
     @{list} =    String.Split String    ${output}
     [Return]    ${list[0]}
+
+Get Packet Count From Table
+    [Arguments]    ${system_ip}    ${br_name}    ${table_no}    ${addtioanal_args}=${EMPTY}
+    [Documentation]    Return packet count for the specific table no.
+    ${flow_output} =    Utils.Run Command On Remote System    ${system_ip}    sudo ovs-ofctl dump-flows -O Openflow13 ${br_name} | grep ${table_no} ${addtioanal_args}
+    @{output} =    String.Split String    ${flow_output}    \r\n
+    ${flow} =    Collections.Get From List    ${output}    0
+    ${packetcountlist} =    String.Get Regexp Matches    ${flow}    n_packets=([0-9]+),    1
+    ${packetcount} =    Collections.Get From List    ${packetcountlist}    0
+    [Return]    ${packetcount}
+
+Get Packet Count In Table For IP
+    [Arguments]    ${os_compute_ip}    ${table_no}    ${ip_address}    ${additional_args}=${EMPTY}
+    [Documentation]    Capture packetcount for IP in Table
+    ${cmd} =    BuiltIn.Set Variable    sudo ovs-ofctl dump-flows br-int -OOpenFlow13 | grep table=${table_no} | grep ${ip_address} ${additional_args}
+    ${output} =    Utils.Run Command On Remote System And Log    ${os_compute_ip}    ${cmd}
+    @{output_list} =    String.Split String    ${output}    \r\n
+    ${flow} =    Collections.Get From List    ${output_list}    0
+    ${packetcount_list} =    String.Get Regexp Matches    ${flow}    n_packets=([0-9]+)    1
+    ${count} =    Collections.Get From List    ${packetcount_list}    0
+    [Return]    ${count}