<div dir="ltr">Guys,<div><br></div><div> Lets get a server, with 2 x 1G NIC embedded, and 2 x 10G NIC igbxe (compatible with DPDK + PMD).</div><div><br></div><div> I have a Proprietary L2 Bridge DPDK Application (unfortunately, it is still CentOS-based) that, on bare-metal, or by using PCI Passthrough with KVM, I can make it top the hardware speed, it can bridge @ 19.XG (full speed, IXIA traffic generators are attached to it), virtually no packet drops.</div><div><br></div><div> Now, I'm planning to move this "Proprietary L2 Bridge DPDK Application" to a purely virtual environment using only VirtIO devices (i.e., without any kind of PCI Passthrough).</div><div><br></div><div> However, at the same server host (2x1G + 2x10G NICs), I'll be using Ubuntu Xenial with OpenvSwitch + DPDK (already running, BTW).</div><div><br></div><div> So, the idea will be something like this:</div><div><br></div><div><br></div><div> * Setup 1 - PCI Pass to the KVM guest</div><div><br></div><div> 10G NIC 1 <-> L2 DPDK App <-> 10G NIC 2  = 19.XG full-duplex</div><div><br></div><div><br></div><div> * Setup 2 - OVS + DPDK to the KVM guest</div><div><br></div><div> 10G NIC 1 <-> OVS+DPKD <-> VirtIO <-> L2 DPDK App <-> VirtIO <-> 10G NIC 2 = XXG?</div><div><br></div><div><br></div><div> My question is:</div><div><br></div><div> With the "Setup 2" perfect tuned, do you guys think that I'll be able to hit about 15G? Maybe even more close to "bare-metal 19G"?</div><div><br></div><div> I am trying many things here, I am unable to see it pass 2.8G, this is just in one direction, if I start traffic on both directions, it drops to 300M!!!</div><div><br></div><div> This looks like a very complex setup and I'm still learning about how to put all the moving parts together... I really appreciate any tip!</div><div><br></div><div><br></div><div> * Usefull links:</div><div><br></div><div> <a href="http://wiki.qemu.org/Features/vhost-user-ovs-dpdk">http://wiki.qemu.org/Features/vhost-user-ovs-dpdk</a></div><div><br></div><div> <a href="https://software.intel.com/en-us/articles/using-open-vswitch-with-dpdk-on-ubuntu">https://software.intel.com/en-us/articles/using-open-vswitch-with-dpdk-on-ubuntu</a></div><div><br></div><div> <a href="https://software.intel.com/en-us/articles/using-open-vswitch-with-dpdk-for-inter-vm-nfv-applications">https://software.intel.com/en-us/articles/using-open-vswitch-with-dpdk-for-inter-vm-nfv-applications</a></div><div><br></div><div> <a href="https://github.com/openvswitch/ovs/blob/master/INSTALL.DPDK.md">https://github.com/openvswitch/ovs/blob/master/INSTALL.DPDK.md</a></div><div><br></div><div><br></div><div>Cheers!</div><div>Thiago</div></div>