[dpdk-dev] VFIO no-iommu

2015-12-31 Thread Santosh Shukla
On Wed, Dec 23, 2015 at 4:49 PM, Burakov, Anatoly wrote: > Hi Alex, > >> I've re-posted the unified patch upstream and it should start showing up in >> the next linux-next build. I expect the dpdk code won't be merged until >> after this gets back into a proper kernel, but could we get the dpdk >

[dpdk-dev] [PATCH] eal: map io resources for non x86 architectures

2015-12-31 Thread Santosh Shukla
On Tue, Dec 29, 2015 at 8:21 PM, Santosh Shukla wrote: > On Tue, Dec 29, 2015 at 7:34 PM, Alex Williamson > wrote: >> On Tue, 2015-12-29 at 16:17 +0530, Santosh Shukla wrote: >>> On Tue, Dec 29, 2015 at 3:26 PM, Burakov, Anatoly >>> wrote: >>> > Hi Santosh, >>> > >>> > > On Fri, Dec 18, 2015 at

[dpdk-dev] [RFC 0/5] virtio support for container

2015-12-31 Thread Pavel Fedin
Hello! Last minute note. I have found the problem but have no time to research and fix it. It happens because ovs first creates the device, starts it, then stops it, and reconfigures queues. The second queue allocation happens from within netdev_set_multiq(). Then ovs restarts the device and

[dpdk-dev] [RFC 0/5] virtio support for container

2015-12-31 Thread Pavel Fedin
Hello! > > a) ovs_in_container does not send VHOST_USER_SET_MEM_TABLE > Please check if rte_eth_dev_start() is called. > (rte_eth_dev_start -> virtio_dev_start -> vtpci_reinit_complete -> > kick_all_vq) I've figured out what happened, and it's my fault only :( I have modified your patchset an

[dpdk-dev] [RFC 0/5] virtio support for container

2015-12-31 Thread Pavel Fedin
Hello! > > Here you ignore errors. And this particular request for some reason ends up > > in EBADF. The most magic part is that sometimes it just > > works... > > Not sure if i can finish it today, and here in Russia we have New Year > > holidays > > until 11th. > > Oops, I made a mistake he

[dpdk-dev] [RFC 0/5] virtio support for container

2015-12-31 Thread Pavel Fedin
Hello! > > a) ovs_in_container does not send VHOST_USER_SET_MEM_TABLE > Please check if rte_eth_dev_start() is called. > (rte_eth_dev_start -> virtio_dev_start -> vtpci_reinit_complete -> > kick_all_vq) > > > b) set_vring_addr() does not make sure that dev->mem is set. > > I am preparing a patc

[dpdk-dev] [PATCH 12/12] examples/l3fwd: add option to parse ptype

2015-12-31 Thread Jianfeng Tan
Firstly, use rte_eth_dev_get_ptype_info() API to check if device will parse needed packet type. If not, specifying the newly added option, --parse-ptype to do it in the callback softly. Signed-off-by: Jianfeng Tan --- examples/l3fwd/main.c | 86 +++

[dpdk-dev] [PATCH 11/12] pmd/vmxnet3: add dev_ptype_info_get implementation

2015-12-31 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/vmxnet3/vmxnet3_ethdev.c | 20 1 file changed, 20 insertions(+) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index c363bf6..6bc8d9a 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++

[dpdk-dev] [PATCH 10/12] pmd/nfp: add dev_ptype_info_get implementation

2015-12-31 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/nfp/nfp_net.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index bc2089f..c121d7b 100644 --- a/drivers/net/nfp/nfp_net.c +++ b/drivers/net/nfp/nfp_net.c @@ -1075,6 +1075,23

[dpdk-dev] [PATCH 09/12] pmd/mlx5: add dev_ptype_info_get implementation

2015-12-31 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/mlx5/mlx5.c| 1 + drivers/net/mlx5/mlx5.h| 2 ++ drivers/net/mlx5/mlx5_ethdev.c | 25 + drivers/net/mlx5/mlx5_rxtx.c | 2 ++ 4 files changed, 30 insertions(+) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/n

[dpdk-dev] [PATCH 08/12] pmd/mlx4: add dev_ptype_info_get implementation

2015-12-31 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/mlx4/mlx4.c | 27 +++ 1 file changed, 27 insertions(+) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index 207bfe2..85afa32 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -2836,6 +2836,8 @

[dpdk-dev] [PATCH 07/12] pmd/ixgbe: add dev_ptype_info_get implementation

2015-12-31 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/ixgbe/ixgbe_ethdev.c | 50 drivers/net/ixgbe/ixgbe_ethdev.h | 2 ++ drivers/net/ixgbe/ixgbe_rxtx.c | 5 +++- 3 files changed, 56 insertions(+), 1 deletion(-) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/d

[dpdk-dev] [PATCH 06/12] pmd/i40e: add dev_ptype_info_get implementation

2015-12-31 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/i40e/i40e_ethdev.c| 1 + drivers/net/i40e/i40e_ethdev_vf.c | 1 + drivers/net/i40e/i40e_rxtx.c | 69 ++- drivers/net/i40e/i40e_rxtx.h | 2 ++ 4 files changed, 72 insertions(+), 1 deletion(-) diff --g

[dpdk-dev] [PATCH 05/12] pmd/fm10k: add dev_ptype_info_get implementation

2015-12-31 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/fm10k/fm10k_ethdev.c | 60 ++ drivers/net/fm10k/fm10k_rxtx.c | 5 drivers/net/fm10k/fm10k_rxtx_vec.c | 5 3 files changed, 70 insertions(+) diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/ne

[dpdk-dev] [PATCH 04/12] pmd/enic: add dev_ptype_info_get implementation

2015-12-31 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/enic/enic_ethdev.c | 20 1 file changed, 20 insertions(+) diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c index 2a88043..112480e 100644 --- a/drivers/net/enic/enic_ethdev.c +++ b/drivers/net/enic/enic_e

[dpdk-dev] [PATCH 03/12] pmd/e1000: add dev_ptype_info_get implementation

2015-12-31 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/e1000/igb_ethdev.c | 48 ++ 1 file changed, 48 insertions(+) diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c index d1bbcda..0a9abd6 100644 --- a/drivers/net/e1000/igb_ethdev.c +++ b/d

[dpdk-dev] [PATCH 02/12] pmd/cxgbe: add dev_ptype_info_get implementation

2015-12-31 Thread Jianfeng Tan
Signed-off-by: Jianfeng Tan --- drivers/net/cxgbe/cxgbe_ethdev.c | 17 + 1 file changed, 17 insertions(+) diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c index 97ef152..f17d5d5 100644 --- a/drivers/net/cxgbe/cxgbe_ethdev.c +++ b/drivers/net/cxgbe/

[dpdk-dev] [PATCH 01/12] ethdev: add API to query what/if packet type is set

2015-12-31 Thread Jianfeng Tan
Add a new API rte_eth_dev_get_ptype_info to query what/if packet type will be set by current rx burst function. Signed-off-by: Jianfeng Tan --- lib/librte_ether/rte_ethdev.c | 12 lib/librte_ether/rte_ethdev.h | 22 ++ lib/librte_mbuf/rte_mbuf.h| 13 +

[dpdk-dev] [PATCH 00/12] Add API to get packet type info

2015-12-31 Thread Jianfeng Tan
HAPPRY NEW YEAR! A new ether API rte_eth_dev_get_ptype_info() is added to query what packet type information will be provided by current pmd driver of the specifed port. To achieve this, a new function pointer, dev_ptype_info_get, is added into struct eth_dev_ops. For those devices who do not imp

[dpdk-dev] [RFC 0/5] virtio support for container

2015-12-31 Thread Pavel Fedin
Hello! > Before you start another ovs_in_container, previous ones get killed? Of course. It crashes. > If so, vhost information in ovs_on_host will be wiped as the unix socket is > broken. Yes. And ovs_on_host crashes because: a) ovs_in_container does not send VHOST_USER_SET_MEM_TABLE (i do

[dpdk-dev] [RFC 0/5] virtio support for container

2015-12-31 Thread Tan, Jianfeng
Hello! > > I've made some progress about (a). It's tricky. This caused by this fragment: > > if (vhost_user_read(vhost->sockfd, &msg, len, fds, fd_num) < 0) > return 0; > > Here you ignore errors. And this particular request for some reason ends up > in EBADF. The most

[dpdk-dev] [RFC 0/5] virtio support for container

2015-12-31 Thread Pavel Fedin
Hello! > First of all, when you say openvswitch, are you referring to ovs-dpdk? I am referring to mainline ovs, compiled with dpdk, and using userspace dataplane. AFAIK ovs-dpdk is early Intel fork, which is abandoned at the moment. > And can you detail your test case? Like, how do you want

[dpdk-dev] [RFC 0/5] virtio support for container

2015-12-31 Thread Tan, Jianfeng
Hi, > a) ovs_in_container does not send VHOST_USER_SET_MEM_TABLE Please check if rte_eth_dev_start() is called. (rte_eth_dev_start -> virtio_dev_start -> vtpci_reinit_complete -> kick_all_vq) > b) set_vring_addr() does not make sure that dev->mem is set. > I am preparing a patch to fix (b). Ye

[dpdk-dev] [RFC 0/5] virtio support for container

2015-12-31 Thread Tan, Jianfeng
> -Original Message- > From: Pavel Fedin [mailto:p.fedin at samsung.com] > Sent: Thursday, December 31, 2015 5:40 PM > To: Tan, Jianfeng; dev at dpdk.org > Subject: RE: [dpdk-dev] [RFC 0/5] virtio support for container > > Hello! > > > First of all, when you say openvswitch, are you re

[dpdk-dev] [RFC 0/5] virtio support for container

2015-12-31 Thread Tan, Jianfeng
Hi Fedin, First of all, when you say openvswitch, are you referring to ovs-dpdk? And can you detail your test case? Like, how do you want ovs_on_host and ovs_in_container to be connected? Through two-direct-connected physical NICs, or one vhost port in ovs_on_host and one virtio port in ovs_in_

[dpdk-dev] [PATCH] pci: Add the class_id support in pci probe

2015-12-31 Thread Stephen Hemminger
On Tue, 29 Dec 2015 10:53:26 +0800 Ziye Yang wrote: > This patch is used to add the class_id support > for pci_probe since some devices need the class_info > (class_code, subclass_code, programming_interface) > > Signed-off-by: Ziye Yang Since rte_pci is exposed to application this breaks the

[dpdk-dev] Is there an interrupt mode PMD for virtio

2015-12-31 Thread Stephen Hemminger
On Tue, 29 Dec 2015 12:51:43 +0800 HePeng wrote: > Hi, > I am asking if there is an interrupt mode PMD for virtio driver. > I check with l3fwd-power code, it is based on VFIO driver. However, > it seems that current virtio driver does not support VFIO. > > Thanks. > HePeng I have a v

[dpdk-dev] [PATCH v5 2/3] examples/l2fwd: Handle SIGINT and SIGTERM in l2fwd

2015-12-31 Thread Stephen Hemminger
On Wed, 30 Dec 2015 16:59:50 -0500 Zhihong Wang wrote: > +static void > +signal_handler(int signum) > +{ > + if (signum == SIGINT || signum == SIGTERM) { > + printf("\n\nSignal %d received, preparing to exit...\n", > + signum); > + force_qui

[dpdk-dev] [PATCH v4 3/3] examples/l3fwd: Handle SIGINT and SIGTERM in l3fwd

2015-12-31 Thread Wang, Zhihong
> -Original Message- > From: Stephen Hemminger [mailto:stephen at networkplumber.org] > Sent: Thursday, December 31, 2015 10:09 AM > To: Wang, Zhihong > Cc: Ananyev, Konstantin ; dev at dpdk.org; > Qiu, > Michael > Subject: Re: [PATCH v4 3/3] examples/l3fwd: Handle SIGINT and SIGTERM i

[dpdk-dev] [PATCH v3 3/3] examples/l3fwd: Handle SIGINT and SIGTERM in l3fwd

2015-12-31 Thread Wang, Zhihong
> -Original Message- > From: Ananyev, Konstantin > Sent: Wednesday, December 30, 2015 7:30 PM > To: Wang, Zhihong ; dev at dpdk.org > Cc: stephen at networkplumber.org; Qiu, Michael > Subject: RE: [PATCH v3 3/3] examples/l3fwd: Handle SIGINT and SIGTERM in > l3fwd > > > > > -Origi

[dpdk-dev] [PATCH v4 3/3] examples/l3fwd: Handle SIGINT and SIGTERM in l3fwd

2015-12-31 Thread Wang, Zhihong
> > +#define PORT_IDLE 0 > > +#define PORT_INIT 1 > > +#define PORT_WORK 2 > > +#define PORT_STOP 3 > > +#define PORT_QUIT 4 > > Seems ok, but over-complicated. > I think all you need is just IDLE, INIT, QUIT. Yes for l2/l3fwd 3 states are enough. I implement a full state machine so it can also s

[dpdk-dev] Flow Director - big endian handling

2015-12-31 Thread Wu, Jingjing
Hi, Yaacov Thank you for pointing that. Actually, Intel's NIC expects big endian when set flow_director_filter, and little endian when set flow_director_mask. But in rte_eth level, we need to make them consistent. I think what you say make sense, to leave the handling bytes order to PMD or ju