| Library | resources.libraries.python.InterfaceUtil
| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.IPv6Util
+| Library | resources.libraries.python.IrqUtil
| Library | resources.libraries.python.NodePath
| Library | resources.libraries.python.Namespaces
| Library | resources.libraries.python.PapiHistory
| | # Parens are there to perform the call.
| | Run Keyword If | $resetter | Evaluate | $resetter()
+| Verify statistic commands
+| | [Documentation]
+| | ... | Execute several commands related to stats.
+| | ... | To be used by "stats" device tests,
+| | ... | as other device tests do not interact with stats.
+| |
+| | ... | The commands should also cover frequently used
+| | ... | PAPI (non-stats) commands and CLI commands.
+| |
+| | ${results}= | Create List
+| | ${status} | ${value}= | Run Keyword And Ignore Error
+| | ... | VPP Show Runtime On All DUTs | ${nodes}
+| | Append To List | ${results} | ${status}
+| | ${status} | ${value}= | Run Keyword And Ignore Error
+| | ... | Show Statistics On All DUTs | ${nodes}
+| | Append To List | ${results} | ${status}
+| | ${status} | ${value}= | Run Keyword And Ignore Error
+| | ... | Show Event Logger On All DUTs | ${nodes}
+| | Append To List | ${results} | ${status}
+| | ${status} | ${value}= | Run Keyword And Ignore Error
+| | ... | VPP Clear Runtime On All DUTs | ${nodes}
+| | Append To List | ${results} | ${status}
+| | ${status} | ${value}= | Run Keyword And Ignore Error
+| | ... | Clear Statistics On All DUTs | ${nodes}
+| | Append To List | ${results} | ${status}
+| | Should Not Contain Match | ${results} | FAIL
+| | ... | msg=At least one of statistic commands failed!
+
+| Workers From Physical Cores
+| | [Documentation]
+| | ... | Convert from core count to worker count.
+| |
+| | ... | This just calls CpuUtils.worker_count_from_cores_and_smt keyword
+| | ... | with the global \${smt_used} value.
+| | ... | See documentation there.
+| |
+| | ... | *Arguments:*
+| | ... | - phy_cores - Number of physical cores to convert from. Type: integer.
+| |
+| | ... | *Return value:*
+| | ... | - Number of workers active on the given number of cores.
+| |
+| | ... | *Example:*
+| |
+| | ... | \| \${dp_workers} = \| Workers from Physical Cores \| \${1} \|
+| |
+| | [Arguments] | ${phy_cores}
+| |
+| | Run Keyword And Return | Worker Count From Cores And Smt
+| | ... | phy_cores=${phy_cores} | smt_used=${smt_used}
+
| Configure crypto device on all DUTs
| | [Documentation] | Verify if Crypto QAT device virtual functions are
| | ... | initialized on all DUTs. If parameter force_init is set to True, then
| | | ${thr_count_int}= | Run Keyword If | ${smt_used}
| | | ... | Evaluate | int(${cpu_count_int}*2)
| | | ... | ELSE | Set variable | ${thr_count_int}
-| | | ${rxq_ratio} = | Get Variable Value | \${rxq_ratio} | ${2}
+| | | ${rxq_ratio} = | Get Variable Value | \${rxq_ratio} | ${1}
| | | ${rxq_count_int}= | Run Keyword If | ${rx_queues}
| | | ... | Set variable | ${rx_queues}
| | | ... | ELSE | Evaluate | int(${thr_count_int}/${rxq_ratio})
| | | ${thr_count_int}= | Run Keyword If | ${smt_used}
| | | ... | Evaluate | int(${cpu_count_int}*2)
| | | ... | ELSE | Set variable | ${thr_count_int}
-| | | ${rxq_ratio} = | Get Variable Value | \${rxq_ratio} | ${2}
+| | | ${rxq_ratio} = | Get Variable Value | \${rxq_ratio} | ${1}
| | | ${rxq_count_int}= | Run Keyword If | ${rx_queues}
| | | ... | Set variable | ${rx_queues}
| | | ... | ELSE | Evaluate | int(${thr_count_int}/${rxq_ratio})