diff options
Diffstat (limited to 'resources/libraries/robot')
-rw-r--r-- | resources/libraries/robot/shared/default.robot | 1 | ||||
-rw-r--r-- | resources/libraries/robot/shared/interfaces.robot | 42 | ||||
-rw-r--r-- | resources/libraries/robot/shared/suite_setup.robot | 30 |
3 files changed, 67 insertions, 6 deletions
diff --git a/resources/libraries/robot/shared/default.robot b/resources/libraries/robot/shared/default.robot index 113305bfd3..58c2189b9b 100644 --- a/resources/libraries/robot/shared/default.robot +++ b/resources/libraries/robot/shared/default.robot @@ -29,6 +29,7 @@ | 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 diff --git a/resources/libraries/robot/shared/interfaces.robot b/resources/libraries/robot/shared/interfaces.robot index 30c09408cf..5bb7c855f3 100644 --- a/resources/libraries/robot/shared/interfaces.robot +++ b/resources/libraries/robot/shared/interfaces.robot @@ -165,13 +165,25 @@ | | | | No operation +| Pre-initialize layer af_xdp on all DUTs +| | [Documentation] +| | ... | Pre-initialize af_xdp driver. +| | +| | FOR | ${dut} | IN | @{duts} +| | | Set Interface State PCI +| | | ... | ${nodes['${dut}']} | ${${dut}_pf_pci} | state=up +| | | Set Interface Channels +| | | ... | ${nodes['${dut}']} | ${${dut}_pf_pci} | num_queues=${rxq_count_int} +| | | ... | channel=combined +| | END + | Pre-initialize layer rdma-core on all DUTs | | [Documentation] | | ... | Pre-initialize rdma-core driver. | | | | FOR | ${dut} | IN | @{duts} | | | Set Interface Flow Control -| | | ... | ${nodes['${dut}']} | ${${dut}_pf_pci} | rx="off" | tx="off" +| | | ... | ${nodes['${dut}']} | ${${dut}_pf_pci} | rxf="off" | txf="off" | | | Set PCI Parameter | | | ... | ${nodes['${dut}']} | ${${dut}_pf_pci} | key="68.w" | value="3BCD" | | END @@ -186,7 +198,7 @@ | | | ... | ELSE | | | ... | Set Interface MTU | ${nodes['${dut}']} | ${${dut}_pf_pci} | mtu=1500 | | | Set Interface Flow Control -| | | ... | ${nodes['${dut}']} | ${${dut}_pf_pci} | rx="off" | tx="off" +| | | ... | ${nodes['${dut}']} | ${${dut}_pf_pci} | rxf="off" | txf="off" | | | Set PCI Parameter | | | ... | ${nodes['${dut}']} | ${${dut}_pf_pci} | key="68.w" | value="3BCD" | | END @@ -378,6 +390,32 @@ | | | Set List Value | ${${dut}_vf${pf}_vlan} | ${vf} | ${_vlan} | | END +| Initialize layer af_xdp on node +| | [Documentation] +| | ... | Initialize AF_XDP (eBPF) interfaces on DUT on NIC PF. +| | +| | ... | *Arguments:* +| | ... | - dut - DUT node. Type: string +| | ... | - pf - NIC physical function (physical port). Type: integer +| | +| | ... | *Example:* +| | +| | ... | \| Initialize layer af_xdp on node \| DUT1 \| 1 \| +| | +| | [Arguments] | ${dut} | ${pf} +| | +| | ${_af_xdp}= | VPP Create AF XDP Interface +| | ... | ${nodes['${dut}']} | ${${dut}_vf${pf}}[0] +| | ... | num_rx_queues=${65535} +| | ... | rxq_size=${nic_rxq_size} | txq_size=${nic_txq_size} +| | ${cpu_skip_cnt}= | Evaluate | ${CPU_CNT_SYSTEM}+${CPU_CNT_MAIN} +| | ${cpu_skip_cnt}= | Evaluate | ${cpu_skip_cnt}+${cpu_count_int} +| | ${cpu_skip_cnt}= | Evaluate | ${cpu_skip_cnt}+(${pf}-${1})*${rxq_count_int} +| | Set Interface IRQs Affinity +| | ... | ${nodes['${dut}']} | ${_af_xdp} +| | ... | cpu_skip_cnt=${cpu_skip_cnt} | cpu_cnt=${rxq_count_int} +| | Set List Value | ${${dut}_vf${pf}} | 0 | ${_af_xdp} + | Initialize layer rdma-core on node | | [Documentation] | | ... | Initialize rdma-core (Mellanox VPP) interfaces on DUT on NIC PF. diff --git a/resources/libraries/robot/shared/suite_setup.robot b/resources/libraries/robot/shared/suite_setup.robot index 09cec67e4e..6e1136761c 100644 --- a/resources/libraries/robot/shared/suite_setup.robot +++ b/resources/libraries/robot/shared/suite_setup.robot @@ -141,15 +141,15 @@ | | | | ... | *Example:* | | -| | ... | \| Additional Suite Setup Action For performance_dut \| DUT1 \| +| | ... | \| Additional Suite Setup Action For performance vf \| DUT1 \| | | | | [Arguments] | ${dut} | | | | FOR | ${pf} | IN RANGE | 1 | ${nic_pfs} + 1 | | | ${_vf}= -| | | ... | Run Keyword | Init ${nic_driver} interface -| | | ... | ${nodes['${dut}']} | ${${dut}_pf${pf}}[0] | numvfs=${nic_vfs} -| | | ... | osi_layer=${osi_layer} +| | | ... | Run Keyword | Init interface +| | | ... | ${nodes['${dut}']} | ${${dut}_pf${pf}}[0] | driver=${nic_driver} +| | | ... | numvfs=${nic_vfs} | osi_layer=${osi_layer} | | | ${_mac}= | | | ... | Create List | ${EMPTY} | | | ${_ip4_addr}= @@ -176,6 +176,26 @@ | | Set Suite Variable | | ... | ${int} | prevf +| Additional Suite Setup Action For performance pf +| | [Documentation] +| | ... | Additional Setup for suites which uses performance measurement for +| | ... | single DUT (inner loop). +| | +| | ... | *Arguments:* +| | ... | - dut - DUT node. Type: string +| | +| | ... | *Example:* +| | +| | ... | \| Additional Suite Setup Action For performance pf \| DUT1 \| +| | +| | [Arguments] | ${dut} +| | +| | FOR | ${pf} | IN RANGE | 1 | ${nic_pfs} + 1 +| | | Run Keyword | Init interface +| | | ... | ${nodes['${dut}']} | ${${dut}_pf${pf}}[0] | driver=${nic_driver} +| | | ... | numvfs=${0} | osi_layer=${osi_layer} +| | END + | Additional Suite Setup Action For performance | | [Documentation] | | ... | Additional Setup for suites which uses performance measurement. @@ -183,6 +203,8 @@ | | FOR | ${dut} | IN | @{duts} | | | Run Keyword If | ${nic_vfs} > 0 | | | ... | Additional Suite Setup Action For performance vf | ${dut} +| | | ... | ELSE +| | | ... | Additional Suite Setup Action For performance pf | ${dut} | | END | | Initialize traffic generator | | ... | ${tg} | ${TG_pf1}[0] | ${TG_pf2}[0] |