[dpdk-users] 2VMs with dpdk app-testpmd effect each other

鄭凱懋 kmcheng at cht.com.tw
Thu Sep 1 02:47:28 CEST 2016

Hi all

I am facing a wierd situation when i start testpmd app inside two VMs( Case 3 ).
Please see the following setup.

Hardware Information


Dell Inc. PowerEdge R630




Dell Inc. version1.0.4



Intel(R) Xeon(R) x86_64 E5-2630 v3 2.40 Ghz


Processor(s): 16



Cache: 20480 KB





Size: 16 GB*6





Type: DDR4



Speed: 2133MHz




Ethernet Controller

Intel Corporation Ethernet 10G 2P X520 Adapter *2

Software information
Qemu = qemu-
DPDK = dpdk-2.2.0
OVS = ovs-branch-2.5

Input stream : 10Gbps(5G with vlan 1001 and 5G with vlan 1002) which is generated by Spirent testcenter

| VM1 |       | VM2 |

 ↑1001↓      ↑1002↓
|    OVS        |
        ↑       ↓
 TestCenter     |

ovs setup:
  modprobe openvswitch
  rm -rf /usr/local/var/run/openvswitch/*
  rm -rf /opt/ovs-vswitchd.log
  modprobe uio
  insmod $DPDK_BUILD/kmod/igb_uio.ko
  $DPDK_DIR/tools/dpdk_nic_bind.py --bind=igb_uio p3p1
  $DPDK_DIR/tools/dpdk_nic_bind.py --bind=igb_uio p3p2
  $DPDK_DIR/tools/dpdk_nic_bind.py --status
  rm /usr/local/etc/openvswitch/conf.db -rf
  mkdir -p /usr/local/etc/openvswitch
  mkdir -p /usr/local/var/run/openvswitch
  cd $OVS_DIR
  ./ovsdb/ovsdb-tool create /usr/local/etc/openvswitch/conf.db ./vswitchd/vswitch.ovsschema
  ./ovsdb/ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,Open_vSwitch,manager_options --private-key=db:Open_vSwitch,SSL,private_key --certificate=db:Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --pidfile --detach

  ./utilities/ovs-vsctl --no-wait init
  ./utilities/ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true
  ./vswitchd/ovs-vswitchd --dpdk --socket-mem 4096,4096 -n 4 -- unix:/usr/local/var/run/openvswitch/db.sock --log-file=$OVS_LOG --pidfile --detach

Case 1:
VM1 start testpmd, fwd = iofwd
VM2 start testpmd,fwd = iofwd
Result =  Spirent testcenter show output stream is reaching line speed 10G.

Case 2:
VM1 testpmd = started, fwd = iofwd
VM2 testpmd=stopped,fwd = none
Result =  Spirent testcenter show output stream is reaching 5G.
Which is reasonable.

Case 3:
VM1 testpmd = started, fwd = iofwd
VM2 testpmd = started ,fwd = none
Result =  Spirent testcenter show output stream is less than 200Mbps.

I am confused about the case 3. What is the reason VM2 effects VM1 so significantly?
How can i solve such problem? I will appreciate for your answer.

鄭凱懋 Kai-Mao Cheng
中華電信研究院 寬頻網路研究所 231計畫
電話:03-4244093 手機:0912314847
E-mail:kmcheng at cht.com.tw

Please be advised that this email message (including any attachments) contains confidential information and may be legally privileged. If you are not the intended recipient, please destroy this message and all attachments from your system and do not further collect, process, or use them. Chunghwa Telecom and all its subsidiaries and associated companies shall not be liable for the improper or incomplete transmission of the information contained in this email nor for any delay in its receipt or damage to your system. If you are the intended recipient, please protect the confidential and/or personal information contained in this email with due care. Any unauthorized use, disclosure or distribution of this message in whole or in part is strictly prohibited.  Also, please self-inspect attachments and hyperlinks contained in this email to ensure the information security and to protect personal information.

More information about the users mailing list