DPDK link bonding: xor mode
[csit.git] / resources / libraries / robot / performance / performance_configuration.robot
index a864a02..c795fc8 100644 (file)
 | | Configure L2XC | ${dut2} | ${subif_index_2} | ${vhost_if1}
 | | Configure L2XC | ${dut2} | ${dut2_if2} | ${vhost_if2}
 
 | | Configure L2XC | ${dut2} | ${subif_index_2} | ${vhost_if1}
 | | Configure L2XC | ${dut2} | ${dut2_if2} | ${vhost_if2}
 
+| Initialize L2 xconnect with Vhost-User and VLAN with DPDK link bonding in 3-node circular topology
+| | [Documentation]
+| | ... | Create two Vhost-User interfaces on all defined VPP nodes. Setup VLAN
+| | ... | on EthernetBond interfaces between DUTs. Cross connect one Vhost
+| | ... | interface with physical interface towards TG and other Vhost interface
+| | ... | with VLAN sub-interface. All interfaces are brought up.
+| | ...
+| | ... | *Arguments:*
+| | ... | - sock1 - Socket path for first Vhost-User interface. Type: string
+| | ... | - sock2 - Socket path for second Vhost-User interface. Type: string
+| | ... | - subid - ID of the sub-interface to be created. Type: string
+| | ... | - tag_rewrite - Method of tag rewrite. Type: string
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Initialize L2 xconnect with Vhost-User and VLAN with DPDK link\
+| | ... | bonding in 3-node circular topology \| /tmp/sock1 \| /tmp/sock2 \
+| | ... | \| 10 \| pop-1 \|
+| | ...
+| | [Arguments] | ${sock1} | ${sock2} | ${subid} | ${tag_rewrite}
+| | ...
+| | Set interfaces in path in 3-node circular topology up
+| | Set Interface State | ${dut1} | ${dut1_eth_bond_if1} | up
+| | Set Interface State | ${dut2} | ${dut2_eth_bond_if1} | up
+| | Initialize VLAN dot1q sub-interfaces in 3-node circular topology
+| | ... | ${dut1} | ${dut1_eth_bond_if1} | ${dut2} | ${dut2_eth_bond_if1}
+| | ... | ${subid}
+| | Configure L2 tag rewrite method on interfaces
+| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2}
+| | ... | ${tag_rewrite}
+| | Configure vhost interfaces for L2BD forwarding | ${dut1}
+| | ... | ${sock1} | ${sock2}
+| | Configure L2XC | ${dut1} | ${dut1_if1} | ${vhost_if1}
+| | Configure L2XC | ${dut1} | ${subif_index_1} | ${vhost_if2}
+| | Configure vhost interfaces for L2BD forwarding | ${dut2}
+| | ... | ${sock1} | ${sock2}
+| | Configure L2XC | ${dut2} | ${subif_index_2} | ${vhost_if1}
+| | Configure L2XC | ${dut2} | ${dut2_if2} | ${vhost_if2}
+
 | Initialize L2 bridge domain in 3-node circular topology
 | | [Documentation]
 | | ... | Setup L2 DB topology by adding two interfaces on each DUT into BD
 | Initialize L2 bridge domain in 3-node circular topology
 | | [Documentation]
 | | ... | Setup L2 DB topology by adding two interfaces on each DUT into BD
 | | ... | *Example:*
 | | ...
 | | ... | \| L2 bridge domains with Vhost-User and VLAN initialized in a 3-node\
 | | ... | *Example:*
 | | ...
 | | ... | \| L2 bridge domains with Vhost-User and VLAN initialized in a 3-node\
-| | ... | circular topology \| 1 \| 2 \| /tmp/sock1 \| /tmp/sock2 \| 10\
-| | ... | pop-1 \|
+| | ... | circular topology \| 1 \| 2 \| /tmp/sock1 \| /tmp/sock2 \| 10 \
+| | ... | \| pop-1 \|
 | | ...
 | | [Arguments] | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
 | | ... | ${tag_rewrite}
 | | ...
 | | [Arguments] | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
 | | ... | ${tag_rewrite}
 | | Add interface to bridge domain | ${dut2} | ${vhost_if2} | ${bd_id2}
 | | Add interface to bridge domain | ${dut2} | ${dut2_if2} | ${bd_id2}
 
 | | Add interface to bridge domain | ${dut2} | ${vhost_if2} | ${bd_id2}
 | | Add interface to bridge domain | ${dut2} | ${dut2_if2} | ${bd_id2}
 
+| Initialize L2 bridge domains with Vhost-User and VLAN with DPDK link bonding in a 3-node circular topology
+| | [Documentation]
+| | ... | Create two Vhost-User interfaces on all defined VPP nodes. Setup VLAN
+| | ... | on EthernetBond interfaces between DUTs. Add one Vhost-User interface
+| | ... | into L2 bridge domains with learning enabled with physical interface
+| | ... | towards TG and other Vhost-User interface into L2 bridge domains with
+| | ... | learning enabled with VLAN sub-interface. All interfaces are brought
+| | ... | up.
+| | ...
+| | ... | *Arguments:*
+| | ... | - bd_id1 - Bridge domain ID. Type: integer
+| | ... | - bd_id2 - Bridge domain ID. Type: integer
+| | ... | - sock1 - Sock path for first Vhost-User interface. Type: string
+| | ... | - sock2 - Sock path for second Vhost-User interface. Type: string
+| | ... | - subid - ID of the sub-interface to be created. Type: string
+| | ... | - tag_rewrite - Method of tag rewrite. Type: string
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Initialize L2 bridge domains with Vhost-User and VLAN with DPDK\
+| | ... | link bonding in a 3-node circular topology \| 1 \| 2 \| /tmp/sock1 \
+| | ... | \| /tmp/sock2 \| 10 \| pop-1 \|
+| | ...
+| | [Arguments] | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
+| | ... | ${tag_rewrite}
+| | ...
+| | Set interfaces in path in 3-node circular topology up
+| | Set Interface State | ${dut1} | ${dut1_eth_bond_if1} | up
+| | Set Interface State | ${dut2} | ${dut2_eth_bond_if1} | up
+| | Initialize VLAN dot1q sub-interfaces in 3-node circular topology
+| | ... | ${dut1} | ${dut1_eth_bond_if1} | ${dut2} | ${dut2_eth_bond_if1}
+| | ... | ${subid}
+| | Configure L2 tag rewrite method on interfaces
+| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2}
+| | ... | ${tag_rewrite}
+| | Configure vhost interfaces for L2BD forwarding | ${dut1}
+| | ... | ${sock1} | ${sock2}
+| | Add interface to bridge domain | ${dut1} | ${dut1_if1} | ${bd_id1}
+| | Add interface to bridge domain | ${dut1} | ${vhost_if1} | ${bd_id1}
+| | Add interface to bridge domain | ${dut1} | ${vhost_if2} | ${bd_id2}
+| | Add interface to bridge domain | ${dut1} | ${subif_index_1} | ${bd_id2}
+| | Configure vhost interfaces for L2BD forwarding | ${dut2}
+| | ... | ${sock1} | ${sock2}
+| | Add interface to bridge domain | ${dut2} | ${subif_index_2} | ${bd_id1}
+| | Add interface to bridge domain | ${dut2} | ${vhost_if1} | ${bd_id1}
+| | Add interface to bridge domain | ${dut2} | ${vhost_if2} | ${bd_id2}
+| | Add interface to bridge domain | ${dut2} | ${dut2_if2} | ${bd_id2}
+
 | Add PCI devices to DUTs in 3-node single link topology
 | | [Documentation]
 | | ... | Add PCI devices to VPP configuration file.
 | Add PCI devices to DUTs in 3-node single link topology
 | | [Documentation]
 | | ... | Add PCI devices to VPP configuration file.
 | | ${dut2_if2_pci}= | Get Interface PCI Addr | ${dut2} | ${dut2_if2}
 | | Run keyword | DUT1.Add DPDK Dev | ${dut1_if1_pci} | ${dut1_if2_pci}
 | | Run keyword | DUT2.Add DPDK Dev | ${dut2_if1_pci} | ${dut2_if2_pci}
 | | ${dut2_if2_pci}= | Get Interface PCI Addr | ${dut2} | ${dut2_if2}
 | | Run keyword | DUT1.Add DPDK Dev | ${dut1_if1_pci} | ${dut1_if2_pci}
 | | Run keyword | DUT2.Add DPDK Dev | ${dut2_if1_pci} | ${dut2_if2_pci}
+| | Set Test Variable | ${dut1_if1_pci}
+| | Set Test Variable | ${dut1_if2_pci}
+| | Set Test Variable | ${dut2_if1_pci}
+| | Set Test Variable | ${dut2_if2_pci}
 
 | Add PCI devices to DUTs in 2-node single link topology
 | | [Documentation]
 
 | Add PCI devices to DUTs in 2-node single link topology
 | | [Documentation]
 | | ${dut1_if1_pci}= | Get Interface PCI Addr | ${dut1} | ${dut1_if1}
 | | ${dut1_if2_pci}= | Get Interface PCI Addr | ${dut1} | ${dut1_if2}
 | | Run keyword | DUT1.Add DPDK Dev | ${dut1_if1_pci} | ${dut1_if2_pci}
 | | ${dut1_if1_pci}= | Get Interface PCI Addr | ${dut1} | ${dut1_if1}
 | | ${dut1_if2_pci}= | Get Interface PCI Addr | ${dut1} | ${dut1_if2}
 | | Run keyword | DUT1.Add DPDK Dev | ${dut1_if1_pci} | ${dut1_if2_pci}
+| | Set Test Variable | ${dut1_if1_pci}
+| | Set Test Variable | ${dut1_if2_pci}
+
+| Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
+| | [Documentation]
+| | ... | Add VLAN Strip Offload switch off on PCI devices between DUTs to VPP
+| | ... | configuration file.
+| | ...
+| | Run keyword | DUT1.Add DPDK Dev Parameter | ${dut1_if2_pci}
+| | ... | vlan-strip-offload | off
+| | Run keyword | DUT2.Add DPDK Dev Parameter | ${dut2_if1_pci}
+| | ... | vlan-strip-offload | off
+
+| Add DPDK bonded ethernet interfaces to DUTs in 3-node single link topology
+| | [Documentation]
+| | ... | Add DPDK bonded Ethernet interfaces with mode XOR and transmit policy
+| | ... | l34 to VPP configuration file.
+| | ...
+| | Run keyword | DUT1.Add DPDK Eth Bond Dev | 0 | 2 | l34 | ${dut1_if2_pci}
+| | Run keyword | DUT2.Add DPDK Eth Bond Dev | 0 | 2 | l34 | ${dut2_if1_pci}
+
+| Add DPDK bonded ethernet interfaces to topology file in 3-node single link topology
+| | Add Bond Eth Interface | ${dut1} | ${dut1_eth_bond_if1_name}
+| | Add Bond Eth Interface | ${dut2} | ${dut2_eth_bond_if1_name}
 
 | Configure guest VM with dpdk-testpmd connected via vhost-user
 | | [Documentation]
 
 | Configure guest VM with dpdk-testpmd connected via vhost-user
 | | [Documentation]