[ovs-discuss] DPDK OVS and vhost-user: guest host cannot received packets from local host

Cheng Chi cheng.chi at ericsson.com
Fri Sep 23 11:25:40 UTC 2016


Hi,
I am using ovs 2.5.0 + dpdk2.2.0 + libvirt1.2.18.1(qemu 2.3.1)

I have added 1 physical dpdk port and 1 vhostuser ports.
Following is my bridge:

    Bridge "br0"
        Port "dpdk0"
            Interface "dpdk0"
                type: dpdk
        Port "vhost-user1"
            Interface "vhost-user1"
                type: dpdkvhostuser
        Port "br0"
            Interface "br0"
                type: internal

the libvirt related setting as below

<domain type='kvm'>

...
<memory unit='KiB'>10485760</memory>
  <currentMemory unit='KiB'>10485760</currentMemory>
  <memoryBacking>
    <hugepages>
      <page size='1048576' unit='KiB' nodeset='0'/>
    </hugepages>
  </memoryBacking>

...
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='8' threads='2'/>
    <numa>
      <cell id='0' cpus='0-1' memory='10485760' unit='KiB' memAccess='shared'/>
    </numa>
  </cpu>
...

   <interface type='vhostuser'>
      <mac address='52:00:00:00:00:01'/>
      <source type='unix' path='/usr/localvar/run/openvswitch/vhost-user1' mode='client'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
...

/domain>

However, after I started the guest host, I found the guest host can send packets to local host but cannot  received packets from local host.

#ovs-ofctl dump-ports br0
OFPST_PORT reply (xid=0x2): 3 ports
  port LOCAL: rx pkts=32, bytes=1536, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=13974, bytes=6983918, drop=882, errs=0, coll=0
  port  1: rx pkts=15478, bytes=7120292, drop=0, errs=0, frame=?, over=?, crc=?
           tx pkts=44, bytes=2928, drop=0, errs=0, coll=?
  port  2: rx pkts=37, bytes=1866, drop=?, errs=0, frame=?, over=?, crc=?
           tx pkts=0, bytes=0, drop=13969, errs=?, coll=?

Observe the vhost-user1 port (port 2), we can see all the Tx packets has been dropped


The related syslog as below , it seems that the Tx queue mapping failed. Are there some wrong with my POC?

2016-09-23T18:48:14.693571+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: new virtio connection is 35
2016-09-23T18:48:14.693852+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: new device, handle is 0
2016-09-23T18:48:16.728354+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_OWNER
2016-09-23T18:48:16.728645+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_GET_FEATURES
2016-09-23T18:48:16.728766+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_VRING_CALL
2016-09-23T18:48:16.728880+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: vring call idx:0 file:46
2016-09-23T18:48:16.728992+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_VRING_CALL
2016-09-23T18:48:16.729103+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: vring call idx:1 file:54
2016-09-23T18:48:24.112148+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_VRING_CALL
2016-09-23T18:48:24.113589+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: vring call idx:0 file:55
2016-09-23T18:48:24.114578+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_VRING_CALL
2016-09-23T18:48:24.114733+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: vring call idx:1 file:46
2016-09-23T18:48:24.114914+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_FEATURES
2016-09-23T18:48:24.115061+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_MEM_TABLE
2016-09-23T18:48:24.115176+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: mapped region 0 fd:54 to:0x2aaac0000000 sz:0x280000000 off:0xc0000000 align:0x40000000
2016-09-23T18:48:24.115289+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: mapped region 1 fd:56 to:0x2aad40000000 sz:0x40000000 off:0x0 align:0x40000000
2016-09-23T18:48:24.115402+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: mapped region 2 fd:57 to:0x2aad80000000 sz:0xc0000000 off:0xc0000 align:0x40000000
2016-09-23T18:48:24.115512+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_VRING_NUM
2016-09-23T18:48:24.115637+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_VRING_BASE
2016-09-23T18:48:24.115755+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_VRING_ADDR
2016-09-23T18:48:24.115870+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_VRING_KICK
2016-09-23T18:48:24.115979+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: vring kick idx:0 file:58
2016-09-23T18:48:24.116104+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: virtio is not ready for processing.
2016-09-23T18:48:24.116214+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_VRING_NUM
2016-09-23T18:48:24.116324+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_VRING_BASE
2016-09-23T18:48:24.116431+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_VRING_ADDR
2016-09-23T18:48:24.116537+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: read message VHOST_USER_SET_VRING_KICK
2016-09-23T18:48:24.116647+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: vring kick idx:1 file:59
2016-09-23T18:48:24.116758+08:00 linux-yjaf ovs-vswitchd[10637]: VHOST_CONFIG: virtio is now ready for processing.
2016-09-23T18:48:24.116867+08:00 linux-yjaf ovs-vswitchd[10637]: ovs|00061|dpdk(vhost_thread1)|DBG|TX queue mapping for /usr/local/myOvs/var/run/openvswitch/vhost-user1
2016-09-23T18:48:24.116974+08:00 linux-yjaf ovs-vswitchd[10637]: ovs|00062|dpdk(vhost_thread1)|DBG| 0 --> -1
2016-09-23T18:48:24.117082+08:00 linux-yjaf ovs-vswitchd[10637]: ovs|00063|dpdk(vhost_thread1)|INFO|vHost Device '/usr/local/var/run/openvswitch/vhost-user1' 0 has been added


BR/Cheng


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20160923/8cf0eaff/attachment-0002.html>


More information about the discuss mailing list