[dpdk-dev] [PATCH 4/6] vhost: Add new command line option: rxq

2015-05-21 Thread Thomas F Herbert
On 5/21/15 3:49 AM, Ouyang Changchun wrote: > Sample vhost need know the queue number user want to enable for each virtio > device, > so add the new option '--rxq' into it. Could you also add the new --rxq option description to us_vhost_usage()? > > Signed-off-by: Changchun Ouyang > --- > exa

[dpdk-dev] [PATCH 0/6] Support multiple queues in vhost

2015-05-21 Thread Thomas F Herbert
On 5/21/15 3:49 AM, Ouyang Changchun wrote: > This patch set supports the multiple queues for each virtio device in vhost. > The vhost-user is used to enable the multiple queues feature, It's not ready > for vhost-cuse. Thanks. I tried it and verified that this patch applies cleanly to master.

[dpdk-dev] [PATCH v8 01/11] eal/linux: add interrupt vectors support in intr_handle

2015-05-21 Thread Neil Horman
On Thu, May 21, 2015 at 11:14:00AM -0700, Stephen Hemminger wrote: > On Thu, 21 May 2015 13:58:46 -0400 > Neil Horman wrote: > > > On Thu, May 21, 2015 at 10:43:00AM -0700, Stephen Hemminger wrote: > > > On Thu, 21 May 2015 06:32:02 -0400 > > > Neil Horman wrote: > > > > > > > On Thu, May 21, 2

[dpdk-dev] DPDK LPM table thread safety

2015-05-21 Thread Shyam Sundar Govindaraj
Hi I am interested in DPDK LPM implementation. I understand the high performance of this LPM table but, when it comes to multithreaded application, I read the following safety issue in DPDK documentation. I understand that multithread read and multithread write are not possible without lockin

[dpdk-dev] freeing memzone

2015-05-21 Thread Harish Patil
Hello dpdk-dev, I understand that the reserved memzones cannot be freed, as mentioned in the DPDK specs. But I would like to know why? Is there any limitations? If the memory is not freed/returned, then can it be reused for subsequent allocations without re-init (i.e. with same memzone name)? We u

[dpdk-dev] [PATCH v8 11/11] l3fwd-power: enable one-shot rx interrupt and polling/interrupt mode switch

2015-05-21 Thread Cunming Liang
Demonstrate how to handle per rx queue interrupt in a NAPI-like implementation in usersapce. PDK polling thread mainly works in polling mode and switch to interrupt mode only if there is no any packet received in recent polls. Usersapce interrupt notification generally takes a lot more cycles than

[dpdk-dev] [PATCH v8 10/11] igb: enable rx queue interrupts for PF

2015-05-21 Thread Cunming Liang
The patch does below for igb PF: - Setup NIC to generate MSI-X interrupts - Set the IVAR register to map interrupt causes to vectors - Implement interrupt enable/disable functions Signed-off-by: Danny Zhou Signed-off-by: Cunming Liang --- v8 changes - add vfio-msi/vfio-legacy and uio-legacy sup

[dpdk-dev] [PATCH v8 09/11] ixgbe: enable rx queue interrupts for both PF and VF

2015-05-21 Thread Cunming Liang
The patch does below things for ixgbe PF and VF: - Setup NIC to generate MSI-X interrupts - Set the IVAR register to map interrupt causes to vectors - Implement interrupt enable/disable functions Signed-off-by: Danny Zhou Signed-off-by: Yong Liu Signed-off-by: Cunming Liang --- v8 changes - ad

[dpdk-dev] [PATCH v8 08/11] ethdev: add rx intr enable, disable and ctl functions

2015-05-21 Thread Cunming Liang
The patch adds two dev_ops functions to enable and disable rx queue interrupts. In addtion, it adds rte_eth_dev_rx_intr_ctl/rx_intr_q to support per port or per queue rx intr event set. Signed-off-by: Danny Zhou Signed-off-by: Cunming Liang --- v8 changes - add addtion check for EEXIT v7 chan

[dpdk-dev] [PATCH v8 07/11] eal/bsd: dummy for new intr definition

2015-05-21 Thread Cunming Liang
To make bsd compiling happy with new intr changes. Signed-off-by: Cunming Liang --- v8 changes - add stub for new function v7 changes - remove stub 'linux only' function from source file lib/librte_eal/bsdapp/eal/eal_interrupts.c | 20 ++ .../bsdapp/eal/include/exec-env/rte_inter

[dpdk-dev] [PATCH v8 06/11] eal/linux: standalone intr event fd create support

2015-05-21 Thread Cunming Liang
The patch exposes intr event fd create and release for PMD. The device driver can assign the number of event associated with interrupt vector. It also provides misc funtions to check 1) allows other slowpath intr(e.g. lsc); 2) intr event on fastpath is enabled or not. Signed-off-by: Cunming Liang

[dpdk-dev] [PATCH v8 05/11] eal/linux: add interrupt vectors handling on VFIO

2015-05-21 Thread Cunming Liang
This patch does below: - Create VFIO eventfds for each interrupt vector (move to next) - Assign per interrupt vector's eventfd to VFIO by ioctl Signed-off-by: Danny Zhou Signed-off-by: Cunming Liang --- v8 changes - move eventfd creation out of the setup_interrupts to a standalone function v

[dpdk-dev] [PATCH v8 04/11] eal/linux: fix comments typo on vfio msi

2015-05-21 Thread Cunming Liang
Signed-off-by: Cunming Liang --- lib/librte_eal/linuxapp/eal/eal_interrupts.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal/eal_interrupts.c b/lib/librte_eal/linuxapp/eal/eal_interrupts.c index 6fb7fc7..59f4214 100644 --- a/lib/librte_eal/li

[dpdk-dev] [PATCH v8 03/11] eal/linux: add API to set rx interrupt event monitor

2015-05-21 Thread Cunming Liang
The patch adds 'rte_intr_rx_ctl' to add or delete interrupt vector events monitor on specified epoll instance. Signed-off-by: Cunming Liang --- v8 changes - fix EWOULDBLOCK and EINTR processing - add event status check v7 changes - rename rte_intr_rx_set to rte_intr_rx_ctl. - rte_intr_rx_ct

[dpdk-dev] [PATCH v8 02/11] eal/linux: add rte_epoll_wait/ctl support

2015-05-21 Thread Cunming Liang
The patch adds 'rte_epoll_wait' and 'rte_epoll_ctl' for async event wakeup. It defines 'struct rte_epoll_event' as the event param. The 'op' uses the same enum as epoll_wait/ctl does. The epoll event support to carry a raw user data and to register a callback which is exectuted during wakeup. Si

[dpdk-dev] [PATCH v8 01/11] eal/linux: add interrupt vectors support in intr_handle

2015-05-21 Thread Cunming Liang
The patch adds interrupt vectors support in rte_intr_handle. 'vec_en' is set when interrupt vectors are detected and associated event fds are set. Those event fds are stored in efds[]. 'intr_vec' is reserved for device driver to initialize the vector mapping table. When the event fds add to a spec

[dpdk-dev] [PATCH v8 00/11] Interrupt mode PMD

2015-05-21 Thread Cunming Liang
v8 changes - remove condition check for only vfio-msix - add multiplex intr support when only one intr vector allowed - lsc and rxq interrupt runtime enable decision - add safe event delete while the event wakeup execution happens v7 changes - decouple epoll event and intr operation - add co

[dpdk-dev] [PATCH v3 0/4] port: add ethdev_writer and ring_writer nodrop ports

2015-05-21 Thread Dumitrescu, Cristian
> -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Maciej Gajdzica > Sent: Thursday, May 21, 2015 1:29 PM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH v3 0/4] port: add ethdev_writer and ring_writer > nodrop ports > > When nodrop writer port fails to sen

[dpdk-dev] [PATCH v2] pipeline: add statistics for librte_pipeline ports and tables

2015-05-21 Thread Dumitrescu, Cristian
From: Jay Rolette [mailto:role...@infiniteio.com] Sent: Thursday, May 21, 2015 4:00 PM To: Dumitrescu, Cristian Cc: Thomas Monjalon; dev at dpdk.org Subject: Re: [dpdk-dev] [PATCH v2] pipeline: add statistics for librte_pipeline ports and tables On Thu, May 21, 2015 at 8:33 AM, Dumitrescu, Cri

[dpdk-dev] [PATCH 6/6] virtio: Resolve for control queue

2015-05-21 Thread Ouyang Changchun
Control queue can't work for vhost-user mulitple queue mode, so workaround to return a value directly in send_command function. Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_ethdev.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/lib/librte_pmd_virtio/virtio_ethdev.

[dpdk-dev] [PATCH 5/6] vhost: Support multiple queues

2015-05-21 Thread Ouyang Changchun
Sample vhost leverage the VMDq+RSS in HW to receive packets and distribute them into different queue in the pool according to 5 tuples. And enable multiple queues mode in vhost/virtio layer. HW queue numbers in pool exactly same with the queue number in virtio device, e.g. rxq = 4, the queue numb

[dpdk-dev] [PATCH 4/6] vhost: Add new command line option: rxq

2015-05-21 Thread Ouyang Changchun
Sample vhost need know the queue number user want to enable for each virtio device, so add the new option '--rxq' into it. Signed-off-by: Changchun Ouyang --- examples/vhost/main.c | 46 ++ 1 file changed, 42 insertions(+), 4 deletions(-) diff --git

[dpdk-dev] [PATCH 3/6] lib_vhost: Set memory layout for multiple queues mode

2015-05-21 Thread Ouyang Changchun
QEMU sends separate commands orderly to set the memory layout for each queue in one virtio device, accordingly vhost need keep memory layout information for each queue of the virtio device. This also need adjust the interface a bit for function gpa_to_vva by introducing the queue index to specify

[dpdk-dev] [PATCH 2/6] lib_vhost: Support multiple queues in virtio dev

2015-05-21 Thread Ouyang Changchun
Each virtio device could have multiple queues, say 2 or 4, at most 8. Enabling this feature allows virtio device/port on guest has the ability to use different vCPU to receive/transmit packets from/to each queue. In multiple queues mode, virtio device readiness means all queues of this virtio devi

[dpdk-dev] [PATCH 1/6] ixgbe: Support VMDq RSS in non-SRIOV environment

2015-05-21 Thread Ouyang Changchun
In non-SRIOV environment, VMDq RSS could be enabled by MRQC register. In theory, the queue number per pool could be 2 or 4, but only 2 queues are available due to HW limitation, the same limit also exist in Linux ixgbe driver. Signed-off-by: Changchun Ouyang --- lib/librte_ether/rte_ethdev.c

[dpdk-dev] [PATCH 0/6] Support multiple queues in vhost

2015-05-21 Thread Ouyang Changchun
This patch set supports the multiple queues for each virtio device in vhost. The vhost-user is used to enable the multiple queues feature, It's not ready for vhost-cuse. One prerequisite to enable this feature is that a QEMU patch plus a fix is required to apply on QEMU2.2/2.3, pls refer to this

[dpdk-dev] ...lib/librte_pmd_pcap/rte_eth_pcap.c:47:18: fatal error: pcap.h: No such file or directory

2015-05-21 Thread Navneet Rao
Getting the following message when using dpdk-2.0.0 version to building the libraries and test application using make Is there a patch to this? Or should I revert to the older dpdk-1.8? Thanks -Navneet

[dpdk-dev] traffic no longer readable...

2015-05-21 Thread Jeff Weeks
On Wednesday, May 20, 2015 06:31:33 PM Thomas Monjalon wrote: > 2015-05-20 11:59, Jeff Weeks: > > forgot to include the list... > > > > -- Forwarded Message -- > > > > Subject: Re: [dpdk-dev] traffic no longer readable... > > Date: Wednesday, May 20, 2015, 11:56:47 AM > > From:

[dpdk-dev] [PATCH v3 4/4] port: added ring_writer_nodrop port

2015-05-21 Thread Maciej Gajdzica
When ring_writer_nodrop port fails to send data, it tries to resend. Operation is aborted when maximum number of retries is reached. Signed-off-by: Maciej Gajdzica --- lib/librte_port/rte_port_ring.c | 179 +++ lib/librte_port/rte_port_ring.h | 16 2 f

[dpdk-dev] [PATCH v3 3/4] port: added ethdev_writer_nodrop port

2015-05-21 Thread Maciej Gajdzica
When ethdev_writer_nodrop port fails to send data, it tries to resend. Operation is aborted when maximum number of retries is reached. Signed-off-by: Maciej Gajdzica --- lib/librte_port/rte_port_ethdev.c | 183 + lib/librte_port/rte_port_ethdev.h | 19

[dpdk-dev] [PATCH v3 2/4] port: changed tx_bulk implementation if ring_writer port

2015-05-21 Thread Maciej Gajdzica
New implementation sends burst without copying data to internal buffer if it is possible. It is similar to tx_bulk function in ethdev_writer port. Signed-off-by: Maciej Gajdzica --- lib/librte_port/rte_port_ring.c | 35 --- 1 file changed, 24 insertions(+), 11 d

[dpdk-dev] [PATCH v3 1/4] port: removed second implementation of tx_bulk from ethdev_writer port

2015-05-21 Thread Maciej Gajdzica
There was two implementations of tx_bulk function in ethdev_writer port. The function to run is chosen with WRITER_APPROACH define. This patch removes WRITER_APPROACH = 0 implementation, as it seems to be slower. Signed-off-by: Maciej Gajdzica --- lib/librte_port/rte_port_ethdev.c | 47 ---

[dpdk-dev] [PATCH v3 0/4] port: add ethdev_writer and ring_writer nodrop ports

2015-05-21 Thread Maciej Gajdzica
When nodrop writer port fails to send data, it retries until reach maximum number of retries. Also added new tx_bulk implementation for ring writer port. Changes in v2: - added missing signoffs Changes in v3: - removed second implementation of tx_bulk functions Maciej Gajdzica (4

[dpdk-dev] [PATCH v8 01/11] eal/linux: add interrupt vectors support in intr_handle

2015-05-21 Thread Neil Horman
On Thu, May 21, 2015 at 10:43:00AM -0700, Stephen Hemminger wrote: > On Thu, 21 May 2015 06:32:02 -0400 > Neil Horman wrote: > > > On Thu, May 21, 2015 at 04:55:53PM +0800, Cunming Liang wrote: > > > The patch adds interrupt vectors support in rte_intr_handle. > > > 'vec_en' is set when interrupt

[dpdk-dev] [PATCH v2] pipeline: add statistics for librte_pipeline ports and tables

2015-05-21 Thread Dumitrescu, Cristian
> -Original Message- > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > Sent: Thursday, May 21, 2015 8:30 AM > To: Dumitrescu, Cristian > Cc: Wodkowski, PawelX; dev at dpdk.org; Jastrzebski, MichalX K > Subject: Re: [dpdk-dev] [PATCH v2] pipeline: add statistics for > librte

[dpdk-dev] [RFC PATCHv2 0/2] pktdev as wrapper type

2015-05-21 Thread Richardson, Bruce
> -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Neil Horman > Sent: Wednesday, May 20, 2015 7:47 PM > To: Marc Sune > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [RFC PATCHv2 0/2] pktdev as wrapper type > > On Wed, May 20, 2015 at 07:01:02PM +0200, Marc S

[dpdk-dev] [PATCH v8 08/11] ethdev: add rx intr enable, disable and ctl functions

2015-05-21 Thread Stephen Hemminger
On Thu, 21 May 2015 16:56:00 +0800 Cunming Liang wrote: > +int > +rte_eth_dev_rx_intr_ctl_q(uint8_t port_id, uint16_t queue_id, > + int epfd, int op, void *data) > +{ > + uint32_t vec; > + struct rte_eth_dev *dev; > + struct rte_intr_handle *intr_handle; > +

[dpdk-dev] [PATCH v8 08/11] ethdev: add rx intr enable, disable and ctl functions

2015-05-21 Thread Stephen Hemminger
On Thu, 21 May 2015 16:56:00 +0800 Cunming Liang wrote: > + if (!rte_eth_dev_is_valid_port(port_id)) { > + PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id); > + return -ENODEV; > + } > + > + dev = &rte_eth_devices[port_id]; > + if (dev == NULL) { > +

[dpdk-dev] [PATCH v8 02/11] eal/linux: add rte_epoll_wait/ctl support

2015-05-21 Thread Stephen Hemminger
On Thu, 21 May 2015 16:55:54 +0800 Cunming Liang wrote: > +static int > +eal_epoll_process_event(struct epoll_event *evs, int n, > + struct rte_epoll_event *events) > +{ > + int i; > + int count = 0; > + struct rte_epoll_event *rev; > + for (i = 0; i < n; i++)

[dpdk-dev] [PATCH v8 01/11] eal/linux: add interrupt vectors support in intr_handle

2015-05-21 Thread Stephen Hemminger
On Thu, 21 May 2015 13:58:46 -0400 Neil Horman wrote: > On Thu, May 21, 2015 at 10:43:00AM -0700, Stephen Hemminger wrote: > > On Thu, 21 May 2015 06:32:02 -0400 > > Neil Horman wrote: > > > > > On Thu, May 21, 2015 at 04:55:53PM +0800, Cunming Liang wrote: > > > > The patch adds interrupt vect

[dpdk-dev] [PATCH v2] pipeline: add statistics for librte_pipeline ports and tables

2015-05-21 Thread Jay Rolette
On Thu, May 21, 2015 at 8:33 AM, Dumitrescu, Cristian < cristian.dumitrescu at intel.com> wrote: > > > The problem I see with this approach is that you cannot turn off debug > > > messages while still having the statistics collected. We should allow > > > people to collects the stats without gett

[dpdk-dev] DPDK ACL bug? pkt matches the wrong ACL rule.

2015-05-21 Thread Ananyev, Konstantin
> From: Zi Hu [mailto:huzilucky at gmail.com] > Sent: Wednesday, May 20, 2015 6:18 PM > To: Ananyev, Konstantin > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] DPDK ACL bug? pkt matches the wrong ACL rule. > > Hi, Konstantin, > The patch does fix the bug with the my test rule/trace file. > I wi

[dpdk-dev] [PATCH v2] pipeline: add statistics for librte_pipeline ports and tables

2015-05-21 Thread Thomas Monjalon
2015-05-20 23:41, Dumitrescu, Cristian: > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > > 2015-05-20 13:57, Dumitrescu, Cristian: > > > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > > > > Thanks for the detailed explanation. > > > > > > > > You are raising a trade-of

[dpdk-dev] FW: Vhost user no connection vm2vm

2015-05-21 Thread Gaohaifeng (A)
Hi Maciej Did you solve your problem? I meet this problem as your case. And I found avail_idx(in rte_vhost_dequeue_burst function) is always zero although I do send packets in VM. Thanks. > Hello, I have strange issue with example/vhost app. > > I had compiled DPDK to run a vhost exam

[dpdk-dev] [PATCH] vhost: make vhost lockless enqueue configurable

2015-05-21 Thread Xie, Huawei
On 4/29/2015 7:57 PM, Thomas Monjalon wrote: > 2015-04-29 13:38 GMT+02:00 Panu Matilainen : >> On 04/29/2015 02:29 PM, Huawei Xie wrote: >>> vhost enabled vSwitch could have their own thread-safe vring enqueue >>> policy. >>> Add the RTE_LIBRTE_VHOST_LOCKLESS_ENQ macro for vhost lockless enqueue. >

[dpdk-dev] [PATCH v8 01/11] eal/linux: add interrupt vectors support in intr_handle

2015-05-21 Thread Neil Horman
On Thu, May 21, 2015 at 04:55:53PM +0800, Cunming Liang wrote: > The patch adds interrupt vectors support in rte_intr_handle. > 'vec_en' is set when interrupt vectors are detected and associated event fds > are set. > Those event fds are stored in efds[]. > 'intr_vec' is reserved for device driver

[dpdk-dev] [PATCH 1/2] enic: silence log message

2015-05-21 Thread Sujith Sankar (ssujith)
Stephen, The enic debug flag is off by default. So it is going to print the version only if the user wants it to. Isn?t that fine? Thanks, -Sujith From: Stephen Hemminger Date: Wednesday, 20 May 2015 11:17 pm To: "Sujith Sankar (ssujith)" Cc: Bruce Richardson , "dev at dpdk.org" , Stephen

[dpdk-dev] [PATCH] i40e:fix an issue in i40e_dev_info_get

2015-05-21 Thread Chen, Jing D
> -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jijiang Liu > Sent: Tuesday, May 19, 2015 1:56 PM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH] i40e:fix an issue in i40e_dev_info_get > > To get device VMDQ info when only i40e VMDQ feature is enabled.

[dpdk-dev] [PATCH] i40e:fix an issue in i40e_dev_info_get

2015-05-21 Thread Zhang, Helin
> -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jijiang Liu > Sent: Tuesday, May 19, 2015 1:56 PM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH] i40e:fix an issue in i40e_dev_info_get > > To get device VMDQ info when only i40e VMDQ feature is enabled.

[dpdk-dev] [PATCH v2] pipeline: add statistics for librte_pipeline ports and tables

2015-05-21 Thread Thomas Monjalon
2015-05-20 10:59, Stephen Hemminger: > On Wed, 20 May 2015 16:44:35 +0200 > Thomas Monjalon wrote: > > > Please Cristian, do not top post. > > I'm replacing your comment in the right context. > > > > 2015-05-20 13:57, Dumitrescu, Cristian: > > > From: Thomas Monjalon [mailto:thomas.monjalon at 6