Hi All,

I am configuring OVS-DPDK with multiple queues with vhost-user. I am using 
below packages,

OVS    --- Branch 2.6
DPDK ---  16.07

OVS Configuration :

ovs-vsctl --no-wait add-br br0 -- set bridge br0 datapath_type=netdev

ovs-vsctl --no-wait  add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk 
ofport_request=1
ovs-vsctl --no-wait  add-port br0 dpdk1 -- set Interface dpdk1 type=dpdk 
ofport_request=2

ovs-vsctl --no-wait add-port br0 vhost-user-1 -- set Interface vhost-user-1 
type=dpdkvhostuser ofport_request=3

ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=C
ovs-vsctl set Interface dpdk0 options:n_rxq=2
ovs-vsctl set Interface dpdk1 options:n_rxq=2
ovs-vsctl set Interface vhost-user0 options:n_rxq=2

ovs-ofctl del-flows br0

Flow 1:  ovs-ofctl add-flow br0 in_port=1,action=set_queue=0,output:3 -O 
openflow13
Flow 2:  ovs-ofctl add-flow br0 in_port=2,action=set_queue=1,output:3 -O 
openflow13
Flow 3:  ovs-ofctl add-flow br0 in_port=3,action=output:1 -O openflow13

Qemu command:

qemu-system-x86_64 -cpu host -smp 5,cores=5 -hda vhost-user.img -m 4096M 
--enable-kvm -object 
memory-backend-file,id=mem,size=4096M,mem-path=/dev/hugepages,share=on -numa 
node,memdev=mem -mem-prealloc -chardev 
socket,id=char1,path=/usr/local/var/run/openvswitch/vhost-user0 -netdev 
type=vhost-user,id=mynet1,chardev=char1,vhostforce,queues=2 -device 
virtio-net-pci,mac=00:00:00:00:00:01,netdev=mynet1,mq=on,vectors=6

Inside VM (Running test-pmd) application:

./testpmd -c 0x1F -n 4 --socket-mem 1024 -- --burst=64 -i --txqflags=0xf00 
--dissable-hw-vlan --rxq=2 --txq=2 --nb-cores=4
set stat_qmap rx 0 0 0
set stat_qmap rx 0 1 1
set stat_qmap tx 0 0 0
set stat_qmap tx 0 1 1
start

Issue: When I start sending traffic from external traffic generator, as per my 
requirement traffic should flow as below,

Port 1  --- Port 3 (q0-rx --- q0--tx) --- port 1
Port 2 ----Port 3 (q1-rx --- q1--tx) --- port 1

But in the test PMD statistics I could see all traffic on q0 only. As per my 
flow 2, port 2 traffic should be mapped to q1 inside VM.

When I configure multi queues using n_rxq option, Inside vswitchd logs I could 
see below warning,

dpdk|WARN|Failed to enable flow control on device 0

show port stats 0

testpmd> show port stats 0

  ######################## NIC statistics for port 0  ########################
  RX-packets:                      20    RX-errors:          0    RX-bytes:     
  1200
  RX-errors:           0
  RX-nombuf:                        0
  TX-packets:                      20    TX-errors:          0    TX-bytes:     
  1200

  Stats reg  0 RX-packets:         20    RX-errors:          0    RX-bytes:     
  1200
  Stats reg  1 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0
  Stats reg  2 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0
  Stats reg  3 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0
  Stats reg  4 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0
  Stats reg  5 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0
  Stats reg  6 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0
  Stats reg  7 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0
  Stats reg  8 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0
  Stats reg  9 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0
  Stats reg 10 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0
  Stats reg 11 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0
  Stats reg 12 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0
  Stats reg 13 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0
  Stats reg 14 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0
  Stats reg 15 RX-packets:          0    RX-errors:          0    RX-bytes:     
     0

  Throughput (since last show)
  Rx-pps:            0
  Tx-pps:            0
  ############################################################################


Please let me know whether I am configuring anything wrong, which causes the 
incorrect queue mapping.
And what will be the configuration I have follow in order to define flows for 
multi queue mapping. How can efficiently make use of all queues inside VM using 
ovs-ofctl shows.

Also I would like to know is there any OVS CLI to display multi queue 
statistics(rx/tx counters).

Thanks in Advance,

Regards,
Gayathri
The information contained in this electronic message and any attachments to 
this message are intended for the exclusive use of the addressee(s) and may 
contain proprietary, confidential or privileged information. If you are not the 
intended recipient, you should not disseminate, distribute or copy this e-mail. 
Please notify the sender immediately and destroy all copies of this message and 
any attachments. WARNING: Computer viruses can be transmitted via email. The 
recipient should check this email and any attachments for the presence of 
viruses. The company accepts no liability for any damage caused by any virus 
transmitted by this email. www.wipro.com
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to