return ':'.join("%02x" % (b) for b in iface["l2_address"][:6])
return None
+
+ @staticmethod
+ def vpp_show_vhost(node):
+ """Get vhost-user data for the given node.
+
+ :param node: VPP node to get interface data from.
+ :type node: dict
+ :return: nothing
+ """
+ vat = VatExecutor()
+ vat.execute_script("show_vhost.vat", node, json_out=False)
| | | Vpp api trace save | ${nodes['${dut}']}
| | | Vpp api trace dump | ${nodes['${dut}']}
+| Show Vpp Vhost On All DUTs
+| | [Documentation] | Show Vhost User on all DUTs
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Vpp Show Vhost | ${nodes['${dut}']}
+
| Add '${m}' worker threads and rxqueues '${n}' in 3-node single-link topo
| | [Documentation] | Setup M worker threads and N rxqueues in vpp startup
| | ... | configuration on all DUTs in 3-node single-link topology.
--- /dev/null
+exec show vhost
| ... | Traffic should pass with no loss | 10
| ... | ${min_rate}pps | ${framesize} | 3-node-bridge
| ... | fail_on_loss=${False}
+| ... | AND | Show Vpp Vhost On All DUTs
| ... | AND | Remove startup configuration of VPP from all DUTs
| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut1}
| ... | ${dut1_vm_refs}
| ... | Traffic should pass with no loss | 10
| ... | ${min_rate}pps | ${framesize} | 3-node-IPv4
| ... | fail_on_loss=${False}
+| ... | AND | Show Vpp Vhost On All DUTs
| ... | AND | Remove startup configuration of VPP from all DUTs
| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut1}
| ... | ${dut1_vm_refs}
| ... | Traffic should pass with no loss | 10
| ... | ${min_rate}pps | ${framesize} | 3-node-bridge
| ... | fail_on_loss=${False}
+| ... | AND | Show Vpp Vhost On All DUTs
| ... | AND | Remove startup configuration of VPP from all DUTs
| ... | AND | Guest VM with dpdk-testpmd Teardown | ${dut1}
| ... | ${dut1_vm_refs}