X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fshared%2Finterfaces.robot;h=30c09408cfbb6e31a99c6a9ff2097fd3506335e7;hp=4fdc1ee0a609ef34a585389dccd6a174319f6ba7;hb=82863d5b8422b1b817d86bd6b1829a06a49feb02;hpb=844698802b99b67237250fd31e416081680354c0 diff --git a/resources/libraries/robot/shared/interfaces.robot b/resources/libraries/robot/shared/interfaces.robot index 4fdc1ee0a6..30c09408cf 100644 --- a/resources/libraries/robot/shared/interfaces.robot +++ b/resources/libraries/robot/shared/interfaces.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Cisco and/or its affiliates. +# Copyright (c) 2021 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -44,10 +44,17 @@ | | ... | *Set UP state on VPP interfaces in path on all DUT nodes and set | | ... | maximal MTU.* | | +| | ... | *Arguments:* +| | ... | - validate - Validate interfaces are up. +| | ... | Type: boolean +| | +| | [Arguments] | ${validate}=${True} +| | | | FOR | ${dut} | IN | @{duts} | | | Set interfaces in path up on node | ${dut} | | END -| | All VPP Interfaces Ready Wait | ${nodes} | retries=${60} +| | Run Keyword If | ${validate} +| | ... | All VPP Interfaces Ready Wait | ${nodes} | retries=${60} | Set interfaces in path up on node | | [Documentation] @@ -109,6 +116,18 @@ | | | | Run Keyword | Pre-initialize layer ${driver} on all DUTs +| Pre-initialize layer tap on all DUTs +| | [Documentation] +| | ... | Pre-initialize tap driver. Currently no operation. +| | +| | No operation + +| Pre-initialize layer vhost on all DUTs +| | [Documentation] +| | ... | Pre-initialize vhost driver. Currently no operation. +| | +| | No operation + | Pre-initialize layer vfio-pci on all DUTs | | [Documentation] | | ... | Pre-initialize vfio-pci driver by adding related sections to startup @@ -133,6 +152,7 @@ | | | ... | ${dut}.Add DPDK Dev Default TXD | ${nic_txq_size} | | | Run Keyword If | '${crypto_type}' != '${None}' | | | ... | ${dut}.Add DPDK Cryptodev | ${thr_count_int} +| | | Run Keyword | ${dut}.Add DPDK Max Simd Bitwidth | ${GRAPH_NODE_VARIANT} | | END | | ${_vlan_strip} | ${value}= | Run Keyword And Ignore Error | | ... | Variable Should Exist | ${vlan_strip_off} @@ -179,18 +199,20 @@ | | ... | *Arguments:* | | ... | - driver - NIC driver used in test [vfio-pci|avf|rdma-core]. | | ... | Type: string +| | ... | - validate - Validate interfaces are up. +| | ... | Type: boolean | | | | ... | *Example:* | | | | ... | \| Initialize layer driver \| vfio-pci \| | | -| | [Arguments] | ${driver} +| | [Arguments] | ${driver} | ${validate}=${True} | | | | FOR | ${dut} | IN | @{duts} | | | Initialize layer driver on node | ${dut} | ${driver} | | END | | Set Test Variable | ${int} | vf -| | Set interfaces in path up +| | Set interfaces in path up | validate=${validate} | Initialize layer driver on node | | [Documentation] @@ -236,6 +258,72 @@ | | | Run Keyword | Initialize layer ${driver} on node | ${dut} | ${pf} | | END +| Initialize layer tap on node +| | [Documentation] +| | ... | Initialize tap interfaces on DUT. +| | +| | ... | *Arguments:* +| | ... | - dut - DUT node. +| | ... | Type: string +| | ... | - pf - TAP ID (logical port). +| | ... | Type: integer +| | +| | ... | *Example:* +| | +| | ... | \| Initialize layer tap on node \| DUT1 \| 0 \| +| | +| | [Arguments] | ${dut} | ${pf} +| | +| | Create Namespace +| | ... | ${nodes['${dut}']} | tap${${pf}-1}_namespace +| | ${tap_feature_mask}= | Create Tap feature mask | gso=${enable_gso} +| | ${_tap}= +| | ... | And Add Tap Interface | ${nodes['${dut}']} | tap${${pf}-1} +| | ... | host_namespace=tap${${pf}-1}_namespace +| | ... | num_rx_queues=${rxq_count_int} +| | ... | rxq_size=${nic_rxq_size} | txq_size=${nic_txq_size} +| | ... | tap_feature_mask=${tap_feature_mask} +| | ${_mac}= +| | ... | Get Interface MAC | ${nodes['${dut}']} | tap${pf} +| | ${_tap}= | Create List | ${_tap} +| | ${_mac}= | Create List | ${_mac} +| | Vhost User Affinity +| | ... | ${nodes['${dut}']} | ${${dut}_pf${pf}}[0] +| | ... | skip_cnt=${${CPU_CNT_MAIN}+${CPU_CNT_SYSTEM}+${cpu_count_int}} +| | Set Test Variable +| | ... | ${${dut}_vf${pf}} | ${_tap} +| | Set Test Variable +| | ... | ${${dut}_vf${pf}_mac} | ${_mac} + +| Initialize layer vhost on node +| | [Documentation] +| | ... | Initialize vhost interfaces on DUT. +| | +| | ... | *Arguments:* +| | ... | - dut - DUT node. +| | ... | Type: string +| | ... | - pf - VHOST ID (logical port). +| | ... | Type: integer +| | +| | ... | *Example:* +| | +| | ... | \| Initialize layer vhost on node \| DUT1 \| 0 \| +| | +| | [Arguments] | ${dut} | ${pf} +| | +| | ${virtio_feature_mask}= | Create Virtio feature mask | gso=${enable_gso} +| | ${vhost}= | Vpp Create Vhost User Interface +| | ... | ${nodes['${dut}']} | /var/run/vpp/sock-${pf}-1 +| | ... | is_server=${True} | virtio_feature_mask=${virtio_feature_mask} +| | ${_mac}= +| | ... | Get Interface MAC | ${nodes['${dut}']} | vhost${pf} +| | ${_vhost}= | Create List | ${_vhost} +| | ${_mac}= | Create List | ${_mac} +| | Set Test Variable +| | ... | ${${dut}_vf${pf}} | ${_vhost} +| | Set Test Variable +| | ... | ${${dut}_vf${pf}_mac} | ${_mac} + | Initialize layer vfio-pci on node | | [Documentation] | | ... | Initialize vfio-pci interfaces on DUT on NIC PF. @@ -415,9 +503,9 @@ | | ... | ${nodes['${dut}']} | ${bond_mode} | load_balance=${lb_mode} | | ... | mac=00:00:00:01:01:01 | | Set Interface State | ${nodes['${dut}']} | ${if_index} | up -| | VPP Enslave Physical Interface +| | VPP Add Bond Member | | ... | ${nodes['${dut}']} | ${${dut}_${int}1_1} | ${if_index} -| | VPP Enslave Physical Interface +| | VPP Add Bond Member | | ... | ${nodes['${dut}']} | ${${dut}_${int}2_1} | ${if_index} | | FOR | ${id} | IN RANGE | 1 | ${count} + 1 | | | Set Test Variable | ${${dut}_bond1_${id}} | ${if_index} @@ -661,8 +749,8 @@ | | ... | Type: string | | ... | - ${is_server} - Server side of connection (Optional). | | ... | Type: boolean -| | ... | - ${enable_gso} - Generic segmentation offloading (Optional). -| | ... | Type: boolean +| | ... | - ${virtio_feature_mask} - Enabled Virtio feature flags (Optional). +| | ... | Type: integer | | | | ... | _NOTE:_ This KW sets following test case variable: | | ... | - ${${vhost_if1}} - First Vhost-User interface. @@ -675,14 +763,14 @@ | | | | [Arguments] | ${dut_node} | ${sock1} | ${sock2} | ${vhost_if1}=vhost_if1 | | ... | ${vhost_if2}=vhost_if2 | ${is_server}=${False} -| | ... | ${enable_gso}=${False} +| | ... | ${virtio_feature_mask}=${None} | | | | ${vhost_1}= | Vpp Create Vhost User Interface | | ... | ${dut_node} | ${sock1} | is_server=${is_server} -| | ... | enable_gso=${enable_gso} +| | ... | virtio_feature_mask=${virtio_feature_mask} | | ${vhost_2}= | Vpp Create Vhost User Interface | | ... | ${dut_node} | ${sock2} | is_server=${is_server} -| | ... | enable_gso=${enable_gso} +| | ... | virtio_feature_mask=${virtio_feature_mask} | | ${vhost_1_key}= | Get Interface By SW Index | ${dut_node} | ${vhost_1} | | ${vhost_2_key}= | Get Interface By SW Index | ${dut_node} | ${vhost_2} | | ${vhost_1_mac}= | Get Interface MAC | ${dut_node} | ${vhost_1_key}