Hi, John/all,
Thanks for your pointer, and I am able to bring up my VPP with multiple queues!
I am doing a PVP test, which basically I am expecting Traffic Generator -> VPP
on Host -> Loopback VM (testpmd) -> VPP on Host -> Traffic Generator. I can see
the packets are delivered to the Loopback VM with no problem, but:
(1) VPP shows all packets are dropped:
VirtualEthernet0/0/2 8 up tx packets
3237064
tx bytes
194223840
drops 3237051
But I did check testpmd and it got all packets, and does its job correctly by
forwarding the packets to the other interfaces;
(2) VPP show err:
Count Node Reason
692521171 vhost-user-input no available buffer
Why it says “no available buffer”? It works pretty well without RSS,. Did I
miss anything?
Thanks very much for your helps!
Regards,
Yichen
From: "John Lo (loj)" <[email protected]>
Date: Thursday, February 9, 2017 at 20:09
To: "Yichen Wang (yicwang)" <[email protected]>, "[email protected]"
<[email protected]>
Cc: "Ian Wells (iawells)" <[email protected]>
Subject: RE: Use RSS in VPP 17.01
For VPP, the number of queues on a device can be specified in the DPDK portion
of the startup config, which default to 1. This is usually documented in as
comments in the startup.conf template file when installing VPP rpm/deb on the
target Linux OS. Following is the dpdk portion from the startup.conf in
/etc/vpp/ directory after installing the vpp deb packages on my Ubuntu server:
dpdk {
## Change default settings for all intefaces
# dev default {
## Number of receive queues, enables RSS
## Default is 1
# num-rx-queues 3
## Number of transmit queues, Default is equal
## to number of worker threads or 1 if no workers treads
# num-tx-queues 3
## Number of descriptors in transmit and receive rings
## increasing or reducing number can impact performance
## Default is 1024 for both rx and tx
# num-rx-desc 512
# num-tx-desc 512
## VLAN strip offload mode for interface
## Default is off
# vlan-strip-offload on
# }
## Whitelist specific interface by specifying PCI address
# dev 0000:02:00.0
## Whitelist specific interface by specifying PCI address and in
## addition specify custom parameters for this interface
# dev 0000:02:00.1 {
# num-rx-queues 2
# }
## Change UIO driver used by VPP, Options are: uio_pci_generic, vfio-pci
## and igb_uio (default)
# uio-driver uio_pci_generic
## Disable mutli-segment buffers, improves performance but
## disables Jumbo MTU support
# no-multi-seg
## Increase number of buffers allocated, needed only in scenarios with
## large number of interfaces and worker threads. Value is per CPU
socket.
## Default is 32768
# num-mbufs 128000
## Change hugepages allocation per-socket, needed only if there is need
for
## larger number of mbufs. Default is 256M on each detected CPU socket
# socket-mem 2048,2048
}
Regards,
John
From: [email protected] [mailto:[email protected]] On
Behalf Of Yichen Wang (yicwang)
Sent: Thursday, February 09, 2017 10:38 PM
To: [email protected]
Cc: Ian Wells (iawells) <[email protected]>
Subject: [vpp-dev] Use RSS in VPP 17.01
Hi, VPP folks,
From what I saw on the VPP docs, there are some places do mention that VPP
supports RSS. Like the example given in the bottom of the link, we do see two
queues per interfaces are shown:
https://wiki.fd.io/view/VPP/Using_VPP_In_A_Multi-thread_Model
I want to try exactly the same thing on both Cisco VIC (enic driver) and Intel
X710 (i40e), but could not get it working straight, and need some helps from
you guys! ☺
On Cisco VIC, I went to CIMC and configure 1 TX Queue and 4 RX Queue, and
enabled all RSS related features. From the RHEL OS, I can clearly see all 5
queues are shown in /proc/interrupts. However, when I bind the interface to
VPP, I can only see “TenGigabitEthernet9/0/0 queue 0” from “show dpdk interface
placement”, but not other queues, am I doing something wrong?
On the Intel X710 side, I did the same type of check of Cisco VIC, and I see 16
TxRx queues were shown, which makes sense because my server has 16 CPU cores.
When I bind the interfaces to VPP, same I could only see 1 queue are shown in
the VPP. How can I configure VPP/DPDK to use RSS? I looked online, but there
were really limited documents from RHEL/Intel/VPP, which doesn’t seem to be
very helpful. Only reference I found which is on OVS-DPDK and they are doing
the RSS configuration from OVS context.
Very looking forward to your helps, and thanks in advance!
Regards,
Yichen
_______________________________________________
vpp-dev mailing list
[email protected]
https://lists.fd.io/mailman/listinfo/vpp-dev