diff options
Diffstat (limited to 'resources/libraries/robot')
-rw-r--r-- | resources/libraries/robot/ip/ip4.robot | 9 | ||||
-rw-r--r-- | resources/libraries/robot/ip/ip6.robot | 5 | ||||
-rw-r--r-- | resources/libraries/robot/l2/l2_bridge_domain.robot | 29 | ||||
-rw-r--r-- | resources/libraries/robot/l2/l2_xconnect.robot | 22 | ||||
-rw-r--r-- | resources/libraries/robot/shared/default.robot | 1 | ||||
-rw-r--r-- | resources/libraries/robot/shared/interfaces.robot | 10 |
6 files changed, 64 insertions, 12 deletions
diff --git a/resources/libraries/robot/ip/ip4.robot b/resources/libraries/robot/ip/ip4.robot index f61466bf4e..0220fe29f6 100644 --- a/resources/libraries/robot/ip/ip4.robot +++ b/resources/libraries/robot/ip/ip4.robot @@ -319,6 +319,8 @@ | | ... | - nf_nodes - Number of guest VMs. Type: integer | | ... | - testpmd_mac - Switch for testpmd_mac test configuration. | | ... | Type: boolean +| | ... | - virtio_feature_mask - Enabled Virtio features (Optional). +| | ... | Type: integer | | | | ... | *Note:* | | ... | Socket paths for VM are defined in following format: @@ -331,6 +333,7 @@ | | ... | topology \| 1 \| | | | | [Arguments] | ${nf_nodes}=${1} | ${testpmd_mac}=${FALSE} +| | ... | ${virtio_feature_mask}=${None} | | | | Set interfaces in path up | | ${fib_table_1}= | Set Variable | ${101} @@ -359,6 +362,7 @@ | | | Configure vhost interfaces | ${dut1} | | | ... | /var/run/vpp/sock-${number}-1 | /var/run/vpp/sock-${number}-2 | | | ... | dut1-vhost-${number}-if1 | dut1-vhost-${number}-if2 +| | | ... | virtio_feature_mask=${virtio_feature_mask} | | | Set Interface State | ${dut1} | ${dut1-vhost-${number}-if1} | up | | | Set Interface State | ${dut1} | ${dut1-vhost-${number}-if2} | up | | | Add Fib Table | ${dut1} | ${fib_table_1} @@ -404,6 +408,8 @@ | | | | ... | *Arguments:* | | ... | - nf_nodes - Number of guest VMs. Type: integer +| | ... | - virtio_feature_mask - Enabled Virtio features (Optional). +| | ... | Type: integer | | | | ... | *Note:* | | ... | Socket paths for VM are defined in following format: @@ -416,6 +422,7 @@ | | ... | topology \| 1 \| | | | | [Arguments] | ${nf_nodes}=${1} | ${testpmd_mac}=${FALSE} +| | ... | ${virtio_feature_mask}=${None} | | | | Set interfaces in path up | | ${fib_table_1}= | Set Variable | ${101} @@ -458,11 +465,13 @@ | | | Configure vhost interfaces | ${dut1} | | | ... | /var/run/vpp/sock-${number}-1 | /var/run/vpp/sock-${number}-2 | | | ... | dut1-vhost-${number}-if1 | dut1-vhost-${number}-if2 +| | | ... | virtio_feature_mask=${virtio_feature_mask} | | | Set Interface State | ${dut1} | ${dut1-vhost-${number}-if1} | up | | | Set Interface State | ${dut1} | ${dut1-vhost-${number}-if2} | up | | | Configure vhost interfaces | ${dut2} | | | ... | /var/run/vpp/sock-${number}-1 | /var/run/vpp/sock-${number}-2 | | | ... | dut2-vhost-${number}-if1 | dut2-vhost-${number}-if2 +| | | ... | virtio_feature_mask=${virtio_feature_mask} | | | Set Interface State | ${dut2} | ${dut2-vhost-${number}-if1} | up | | | Set Interface State | ${dut2} | ${dut2-vhost-${number}-if2} | up | | | Add Fib Table | ${dut1} | ${fib_table_1} diff --git a/resources/libraries/robot/ip/ip6.robot b/resources/libraries/robot/ip/ip6.robot index 8ba0689dc9..ec22c5511b 100644 --- a/resources/libraries/robot/ip/ip6.robot +++ b/resources/libraries/robot/ip/ip6.robot @@ -175,6 +175,8 @@ | | | | ... | *Arguments:* | | ... | - nf_nodes - Number of guest VMs. Type: integer +| | ... | - virtio_feature_mask - Enabled Virtio features (Optional). +| | ... | Type: integer | | | | ... | *Note:* | | ... | Socket paths for VM are defined in following format: @@ -186,7 +188,7 @@ | | ... | \| IPv6 forwarding with Vhost-User initialized in a 2-node circular\ | | ... | topology \| 1 \| | | -| | [Arguments] | ${nf_nodes}=${1} +| | [Arguments] | ${nf_nodes}=${1} | ${virtio_feature_mask}=${None} | | | | Vpp Interfaces RA Suppress On All Nodes | ${nodes} | | Set interfaces in path up @@ -221,6 +223,7 @@ | | | Configure vhost interfaces | ${dut1} | | | ... | /var/run/vpp/sock-${number}-1 | /var/run/vpp/sock-${number}-2 | | | ... | dut1-vhost-${number}-if1 | dut1-vhost-${number}-if2 +| | | ... | virtio_feature_mask=${virtio_feature_mask} | | | Set Interface State | ${dut1} | ${dut1-vhost-${number}-if1} | up | | | Set Interface State | ${dut1} | ${dut1-vhost-${number}-if2} | up | | | Add Fib Table | ${dut1} | ${fib_table_1} | ipv6=${True} diff --git a/resources/libraries/robot/l2/l2_bridge_domain.robot b/resources/libraries/robot/l2/l2_bridge_domain.robot index bb533e3e05..543c01c3ba 100644 --- a/resources/libraries/robot/l2/l2_bridge_domain.robot +++ b/resources/libraries/robot/l2/l2_bridge_domain.robot @@ -100,6 +100,8 @@ | | ... | - dut - DUT node. Type: string | | ... | - nf_chain - NF chain. Type: integer | | ... | - nf_nodes - Number of NFs nodes per chain. Type: integer +| | ... | - virtio_feature_mask - Enabled Virtio features (Optional). +| | ... | Type: integer | | | | ... | *Note:* | | ... | Socket paths for VM are defined in following format: @@ -112,6 +114,7 @@ | | ... | \| 1 \| 1 \| | | | | [Arguments] | ${dut} | ${nf_chain}=${1} | ${nf_nodes}=${1} +| | ... | ${virtio_feature_mask}=${None} | | | | ${bd_id1}= | Evaluate | ${nf_nodes} * (${nf_chain} - 1) + ${nf_chain} | | ${bd_id2}= | Evaluate | ${nf_nodes} * ${nf_chain} + ${nf_chain} @@ -127,6 +130,7 @@ | | | ... | ${nodes['${dut}']} | | | ... | /var/run/vpp/sock-${qemu_id}-1 | /var/run/vpp/sock-${qemu_id}-2 | | | ... | ${dut}-vhost-${qemu_id}-if1 | ${dut}-vhost-${qemu_id}-if2 +| | | ... | virtio_feature_mask=${virtio_feature_mask} | | | ${bd_id1}= | Evaluate | ${qemu_id} + (${nf_chain} - 1) | | | ${bd_id2}= | Evaluate | ${bd_id1} + 1 | | | Add interface to bridge domain @@ -145,16 +149,20 @@ | | ... | *Arguments:* | | ... | - nf_chain - NF chain. Type: integer | | ... | - nf_nodes - Number of NFs nodes per chain. Type: integer +| | ... | - virtio_feature_mask - Enabled Virtio features (Optional). +| | ... | Type: integer | | | | ... | *Example:* | | | | ... | \| Initialize L2 bridge domains with Vhost-User \| 1 \| 1 \| | | | | [Arguments] | ${nf_chain}=${1} | ${nf_nodes}=${1} +| | ... | ${virtio_feature_mask}=${None} | | | | FOR | ${dut} | IN | @{duts} | | | Initialize L2 bridge domains with Vhost-User on node | | | ... | ${dut} | nf_chain=${nf_chain} | nf_nodes=${nf_nodes} +| | | ... | virtio_feature_mask=${virtio_feature_mask} | | END | Initialize L2 bridge domains for multiple chains with Vhost-User @@ -170,6 +178,8 @@ | | ... | - nf_nodes - Number of NFs nodes per chain. Type: integer | | ... | - start - Id of first chain, allows to add chains during test. | | ... | Type: integer +| | ... | - virtio_feature_mask - Enabled Virtio features (Optional). +| | ... | Type: integer | | | | ... | *Example:* | | @@ -177,11 +187,13 @@ | | ... | \| 3 \| 1 \| 2 \| | | | | [Arguments] | ${nf_chains}=${1} | ${nf_nodes}=${1} | ${start}=${1} +| | ... | ${virtio_feature_mask}=${None} | | | | Set interfaces in path up | | FOR | ${nf_chain} | IN RANGE | ${start} | ${nf_chains} + 1 | | | Initialize L2 bridge domains with Vhost-User | | | ... | nf_chain=${nf_chain} | nf_nodes=${nf_nodes} +| | | ... | virtio_feature_mask=${virtio_feature_mask} | | END | Initialize L2 bridge domain with VXLANoIPv4 in 3-node circular topology @@ -281,13 +293,15 @@ | | ... | *Arguments:* | | ... | - bd_id1 - Bridge domain ID. Type: integer | | ... | - bd_id2 - Bridge domain ID. Type: integer +| | ... | - virtio_feature_mask - Enabled Virtio features (Optional). +| | ... | Type: integer | | | | ... | *Example:* | | | | ... | \| L2 bridge domains with Vhost-User and VXLANoIPv4 initialized in a\ | | ... | 3-node circular topology \| 1 \| 2 \| | | -| | [Arguments] | ${bd_id1} | ${bd_id2} +| | [Arguments] | ${bd_id1} | ${bd_id2} | ${virtio_feature_mask}=${None} | | | | VPP Interface Set IP Address | | ... | ${dut1} | ${DUT1_${int}2}[0] | 172.16.0.1 | 24 @@ -300,6 +314,7 @@ | | ... | ${dut2} | 24 | 172.16.0.2 | 172.16.0.1 | | Configure vhost interfaces | ${dut1} | | ... | /var/run/vpp/sock-1-${bd_id1} | /var/run/vpp/sock-1-${bd_id2} +| | ... | virtio_feature_mask=${virtio_feature_mask} | | Add interface to bridge domain | | ... | ${dut1} | ${DUT1_${int}1}[0] | ${bd_id1} | | Add interface to bridge domain @@ -310,6 +325,7 @@ | | ... | ${dut1} | ${dut1s_vxlan} | ${bd_id2} | | Configure vhost interfaces | ${dut2} | | ... | /var/run/vpp/sock-1-${bd_id1} | /var/run/vpp/sock-1-${bd_id2} +| | ... | virtio_feature_mask=${virtio_feature_mask} | | Add interface to bridge domain | | ... | ${dut2} | ${dut2s_vxlan} | ${bd_id1} | | Add interface to bridge domain @@ -387,6 +403,8 @@ | | ... | - bd_id2 - Bridge domain ID. Type: integer | | ... | - subid - ID of the sub-interface to be created. Type: string | | ... | - tag_rewrite - Method of tag rewrite. Type: string +| | ... | - virtio_feature_mask - Enabled Virtio features (Optional). +| | ... | Type: integer | | | | ... | *Example:* | | @@ -394,6 +412,7 @@ | | ... | topology \| 1 \| 2 \| 10 \| pop-1 \| | | | | [Arguments] | ${bd_id1} | ${bd_id2} | ${subid} | ${tag_rewrite} +| | ... | ${virtio_feature_mask}=${None} | | | | ${dut2_status} | ${value}= | Run Keyword And Ignore Error | | ... | Variable Should Exist | ${dut2} @@ -414,6 +433,7 @@ | | ... | ${dut1} | ${subif_index_1} | TAG_REWRITE_METHOD=${tag_rewrite} | | Configure vhost interfaces | ${dut1} | | ... | /var/run/vpp/sock-1-${bd_id1} | /var/run/vpp/sock-1-${bd_id2} +| | ... | virtio_feature_mask=${virtio_feature_mask} | | Add interface to bridge domain | | ... | ${dut1} | ${DUT1_${int}1}[0] | ${bd_id1} | | Add interface to bridge domain @@ -425,6 +445,7 @@ | | Run Keyword If | '${dut2_status}' == 'PASS' | | ... | Configure vhost interfaces | ${dut2} | | ... | /var/run/vpp/sock-1-${bd_id1} | /var/run/vpp/sock-1-${bd_id2} +| | ... | virtio_feature_mask=${virtio_feature_mask} | | Run Keyword If | '${dut2_status}' == 'PASS' | | ... | Add interface to bridge domain | ${dut2} | ${subif_index_2} | | ... | ${bd_id1} @@ -454,6 +475,8 @@ | | ... | - tag_rewrite - Method of tag rewrite. Type: string | | ... | - bond_mode - Link bonding mode. Type: string | | ... | - lb_mode - Load balance mode. Type: string +| | ... | - virtio_feature_mask - Enabled Virtio features (Optional). +| | ... | Type: integer | | | | ... | *Example:* | | @@ -462,7 +485,7 @@ | | ... | \| 10 \| pop-1 \| xor \| l34 \| | | | | [Arguments] | ${bd_id1} | ${bd_id2} | ${subid} | ${tag_rewrite} -| | ... | ${bond_mode} | ${lb_mode} +| | ... | ${bond_mode} | ${lb_mode} | ${virtio_feature_mask}=${None} | | | | Set interfaces in path up | | ${dut1_eth_bond_if1}= | VPP Create Bond Interface @@ -494,6 +517,7 @@ | | ... | ${dut2} | ${subif_index_2} | ${tag_rewrite} | | Configure vhost interfaces | ${dut1} | | ... | /var/run/vpp/sock-1-${bd_id1} | /var/run/vpp/sock-1-${bd_id2} +| | ... | virtio_feature_mask=${virtio_feature_mask} | | Add interface to bridge domain | | ... | ${dut1} | ${DUT1_${int}1}[0] | ${bd_id1} | | Add interface to bridge domain @@ -504,6 +528,7 @@ | | ... | ${dut1} | ${subif_index_1} | ${bd_id2} | | Configure vhost interfaces | ${dut2} | | ... | /var/run/vpp/sock-1-${bd_id1} | /var/run/vpp/sock-1-${bd_id2} +| | ... | virtio_feature_mask=${virtio_feature_mask} | | Add interface to bridge domain | | ... | ${dut2} | ${subif_index_2} | ${bd_id1} | | Add interface to bridge domain diff --git a/resources/libraries/robot/l2/l2_xconnect.robot b/resources/libraries/robot/l2/l2_xconnect.robot index ea4d6afcef..fdbd1dca61 100644 --- a/resources/libraries/robot/l2/l2_xconnect.robot +++ b/resources/libraries/robot/l2/l2_xconnect.robot @@ -108,6 +108,8 @@ | | ... | *Arguments:* | | ... | - dut - DUT node. Type: string | | ... | - nf_nodes - VM count. Type: integer +| | ... | - virtio_feature_mask - Enabled Virtio features (Optional). +| | ... | Type: integer | | | | ... | *Note:* | | ... | Socket paths for VM are defined in following format: @@ -118,7 +120,7 @@ | | | | ... | \| Initialize L2 xconnect with Vhost-User on node \| DUT1 \| 1 \| | | -| | [Arguments] | ${dut} | ${nf_nodes}=${1} +| | [Arguments] | ${dut} | ${nf_nodes}=${1} | ${virtio_feature_mask}=${None} | | | | FOR | ${number} | IN RANGE | 1 | ${nf_nodes}+1 | | | ${sock1}= | Set Variable | /run/vpp/sock-${number}-1 @@ -127,6 +129,7 @@ | | | Configure vhost interfaces | ${nodes['${dut}']} | | | ... | ${sock1} | ${sock2} | ${dut}-vhost-${number}-if1 | | | ... | ${dut}-vhost-${number}-if2 +| | | ... | virtio_feature_mask=${virtio_feature_mask} | | | ${dut_xconnect_if1}= | Set Variable If | ${number}==1 | | | ... | ${${dut}_${int}1}[0] | | | ... | ${${dut}-vhost-${prev_index}-if2} @@ -145,16 +148,18 @@ | | | | ... | *Arguments:* | | ... | - nf_nodes - VM count. Type: integer +| | ... | - virtio_feature_mask - Enabled Virtio features (Optional). +| | ... | Type: integer | | | | ... | *Example:* | | | | ... | \| Initialize L2 xconnect with Vhost-User \| 1 \| | | -| | [Arguments] | ${nf_nodes}=${1} +| | [Arguments] | ${nf_nodes}=${1} | ${virtio_feature_mask}=${None} | | | | FOR | ${dut} | IN | @{duts} | | | Initialize L2 xconnect with Vhost-User on node | ${dut} -| | | ... | nf_nodes=${nf_nodes} +| | | ... | nf_nodes=${nf_nodes} | virtio_feature_mask=${virtio_feature_mask} | | END | Initialize L2 xconnect with Vhost-User and VLAN in circular topology @@ -166,13 +171,15 @@ | | ... | *Arguments:* | | ... | - subid - ID of the sub-interface to be created. Type: string | | ... | - tag_rewrite - Method of tag rewrite. Type: string +| | ... | - virtio_feature_mask - Enabled Virtio features (Optional). +| | ... | Type: integer | | | | ... | *Example:* | | | | ... | \| L2 xconnect with Vhost-User and VLAN initialized in a 3-node\ | | ... | circular topology \| 10 \| pop-1 \| | | -| | [Arguments] | ${subid} | ${tag_rewrite} +| | [Arguments] | ${subid} | ${tag_rewrite} | ${virtio_feature_mask}=${None} | | | | ${dut2_status} | ${value}= | Run Keyword And Ignore Error | | ... | Variable Should Exist | ${dut2} @@ -193,6 +200,7 @@ | | ... | ${dut1} | ${subif_index_1} | TAG_REWRITE_METHOD=${tag_rewrite} | | Configure vhost interfaces | | ... | ${dut1} | /run/vpp/sock-1-1 | /run/vpp/sock-1-2 +| | ... | virtio_feature_mask=${virtio_feature_mask} | | Configure L2XC | | ... | ${dut1} | ${DUT1_${int}1}[0] | ${vhost_if1} | | Configure L2XC @@ -200,6 +208,7 @@ | | Run Keyword If | '${dut2_status}' == 'PASS' | | ... | Configure vhost interfaces | | ... | ${dut2} | /run/vpp/sock-1-1 | /run/vpp/sock-1-2 +| | ... | virtio_feature_mask=${virtio_feature_mask} | | Run Keyword If | '${dut2_status}' == 'PASS' | | ... | Configure L2XC | ${dut2} | ${subif_index_2} | ${vhost_if1} | | Run Keyword If | '${dut2_status}' == 'PASS' @@ -219,6 +228,8 @@ | | ... | - tag_rewrite - Method of tag rewrite. Type: string | | ... | - bond_mode - Link bonding mode. Type: string | | ... | - lb_mode - Load balance mode. Type: string +| | ... | - virtio_feature_mask - Enabled Virtio features (Optional). +| | ... | Type: integer | | | | ... | *Example:* | | @@ -226,6 +237,7 @@ | | ... | bonding in 3-node circular topology \| 10 \| pop-1 \| xor \| l34 \| | | | | [Arguments] | ${subid} | ${tag_rewrite} | ${bond_mode} | ${lb_mode} +| | ... | ${virtio_feature_mask}=${None} | | | | Set interfaces in path up | | ${dut1_eth_bond_if1}= | VPP Create Bond Interface @@ -257,12 +269,14 @@ | | ... | ${dut2} | ${subif_index_2} | ${tag_rewrite} | | Configure vhost interfaces | | ... | ${dut1} | /run/vpp/sock-1-1 | /run/vpp/sock-1-2 +| | ... | virtio_feature_mask=${virtio_feature_mask} | | Configure L2XC | | ... | ${dut1} | ${DUT1_${int}1}[0] | ${vhost_if1} | | Configure L2XC | | ... | ${dut1} | ${subif_index_1} | ${vhost_if2} | | Configure vhost interfaces | | ... | ${dut2} | /run/vpp/sock-1-1 | /run/vpp/sock-1-2 +| | ... | virtio_feature_mask=${virtio_feature_mask} | | Configure L2XC | | ... | ${dut2} | ${subif_index_2} | ${vhost_if1} | | Configure L2XC diff --git a/resources/libraries/robot/shared/default.robot b/resources/libraries/robot/shared/default.robot index 641cfa5cb1..f060032b0c 100644 --- a/resources/libraries/robot/shared/default.robot +++ b/resources/libraries/robot/shared/default.robot @@ -38,6 +38,7 @@ | Library | resources.libraries.python.TGSetup | Library | resources.libraries.python.topology.Topology | Library | resources.libraries.python.Trace +| Library | resources.libraries.python.VhostUser.VirtioFeatureMask | Library | resources.libraries.python.VppCounters | Library | resources.libraries.python.VPPUtil | diff --git a/resources/libraries/robot/shared/interfaces.robot b/resources/libraries/robot/shared/interfaces.robot index 4fdc1ee0a6..b842f276ef 100644 --- a/resources/libraries/robot/shared/interfaces.robot +++ b/resources/libraries/robot/shared/interfaces.robot @@ -661,8 +661,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 +675,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} |