Public bug reported:

Hello guys!

 I am seeing a problematic situation here, where a KVM Guest have a huge
negative impact on its neighbors and on the host, if using Linux Kernel
drivers and not DPDK drivers, for the VirtIO vNICs wired against the
"dpdkvhostuser" socket port.

 Instead of writing down everything that I am doing, which is super
boring, I'll do a screencast! Maybe this is an opportunity for Canonical
to bring "Video Bug Reports" to Launchpad!   ^_^

 Watch the steps to reproduce this problem in a screencast now!

 https://www.youtube.com/v/yHnaSikd9XY?version=3&vq=hd720&autoplay=1

 At a glance, I'm booting 3 KVM Guest on top of 6 dpdkvhostuser OVS
Ports.

 The host setup is like this:

---
# IXIA simulating LAN side
ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev
ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk

# IXIA simulating WAN side
ovs-vsctl add-br br1 -- set bridge br1 datapath_type=netdev
ovs-vsctl add-port br1 dpdk1 -- set Interface dpdk1 type=dpdk


# Bring it up (not sure if needed)
ip link set dev br0 up
ip link set dev br1 up


# Enable multi-queue on host side, 4 queues
ovs-vsctl set Open_vSwitch . other_config:n-dpdk-rxqs=4

# Give mode CPU Cores to ovs-vswitchd PMD threads
ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=FFFF


# Customer A DPDK Ports
ovs-vsctl add-port br0 vhost-user1 -- set Interface vhost-user1 
type=dpdkvhostuser
ovs-vsctl add-port br1 vhost-user2 -- set Interface vhost-user2 
type=dpdkvhostuser

# Customer A VLAN tags
ovs-vsctl set port vhost-user1 trunks=110,111
ovs-vsctl set port vhost-user2 trunks=110,111


# Customer B DPDK Ports
ovs-vsctl add-port br0 vhost-user3 -- set Interface vhost-user3 
type=dpdkvhostuser
ovs-vsctl add-port br1 vhost-user4 -- set Interface vhost-user4 
type=dpdkvhostuser

# Customer B VLAN tags
ovs-vsctl set port vhost-user3 trunks=112,113
ovs-vsctl set port vhost-user4 trunks=112,113


# Ubuntu KVM Guest with OVS+DPDK, all vlans, test control:
ovs-vsctl add-port br0 vhost-user5 -- set Interface vhost-user5 
type=dpdkvhostuser
ovs-vsctl add-port br1 vhost-user6 -- set Interface vhost-user6 
type=dpdkvhostuser
---

 You start VM 1, wired against vhost-user 1 and 2, speed drop until DPDK
drivers loads up inside of the guest.

 You start VM 2, wired against vhost-user 3 and 4, speed drop until DPDK
drivers loads up inside of the guest.

 You start VM 3, wired against vhost-user 5 and 6, speed drop until DPDK
drivers loads up inside of the guest.

 This is a bad situation where a VM can badly affects its neighbors
intentionally.

 Let me know if you guys needs more information about how to reproduce
this, I can also, give access to my test environment via Teamviewer, for
Canonical employees.

Thanks!
Thiago

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: openvswitch-switch-dpdk 2.5.0-0ubuntu1
ProcVersionSignature: Ubuntu 4.4.0-22.38-generic 4.4.8
Uname: Linux 4.4.0-22-generic x86_64
ApportVersion: 2.20.1-0ubuntu2
Architecture: amd64
Date: Sun May  1 19:23:22 2016
SourcePackage: openvswitch
UpgradeStatus: Upgraded to xenial on 2016-04-07 (24 days ago)

** Affects: openvswitch (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug xenial

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1577256

Title:
  The OVS+DPDK dpdkvhostuser socket bridge, only works as expected, if
  the KVM Guest also have DPDK drivers loaded

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1577256/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to