[dpdk-dev] [PATCH 9/9] doc: add vfio-user library guide

2020-12-17 Thread Chenbo Xia
Add vfio-user library guide and update release notes. Signed-off-by: Chenbo Xia Signed-off-by: Xiuchun Lu --- doc/guides/prog_guide/index.rst | 1 + doc/guides/prog_guide/vfio_user_lib.rst | 215 doc/guides/rel_notes/release_21_02.rst | 11 ++ 3 files change

[dpdk-dev] [PATCH 8/9] test/vfio_user: introduce functional test

2020-12-17 Thread Chenbo Xia
This patch introduces functional test for vfio_user client and server. Note that the test can only be run with server and client both started and server should be started first. Signed-off-by: Chenbo Xia Signed-off-by: Xiuchun Lu --- app/test/meson.build | 4 + app/test/test_vfio_user.c

[dpdk-dev] [PATCH 7/9] vfio_user: add client APIs of DMA/IRQ/region

2020-12-17 Thread Chenbo Xia
This patch introduces nine APIs - Device related: rte_vfio_user_get_dev_info and rte_vfio_user_reset - DMA related: rte_vfio_user_dma_map/unmap - Region related: rte_vfio_user_get_reg_info and rte_vfio_user_region_read/write - IRQ related: rte_vfio_user_get_irq_info and rte_vfio_user_set_ir

[dpdk-dev] [PATCH 6/9] vfio_user: add client APIs of device attach/detach

2020-12-17 Thread Chenbo Xia
This patch implements two APIs, rte_vfio_user_attach_dev() and rte_vfio_user_detach_dev() for vfio-user client to connect to or disconnect from a vfio-user device on server side. Signed-off-by: Chenbo Xia Signed-off-by: Xiuchun Lu --- lib/librte_vfio_user/meson.build| 3 +- lib/librte

[dpdk-dev] [PATCH 5/9] vfio_user: implement interrupt related APIs

2020-12-17 Thread Chenbo Xia
This patch implements two interrupt related APIs, which are rte_vfio_user_get_irq() and rte_vfio_user_set_irq_info(). The former is for devices to get interrupt configuration (e.g., irqfds). The latter is for setting interrupt information before vfio-user starts. Signed-off-by: Chenbo Xia Signed-

[dpdk-dev] [PATCH 4/9] vfio_user: implement DMA table and socket address API

2020-12-17 Thread Chenbo Xia
This patch introduces an API called rte_vfio_user_get_mem_table() for emulated devices to acquire DMA memory table from vfio-user library. Notify operations are also introduced to notify the emulated devices of several events. Another socket address API is introduced for translation between device

[dpdk-dev] [PATCH 3/9] vfio_user: implement device and region related APIs

2020-12-17 Thread Chenbo Xia
This patch introduces device and region related APIs, which are rte_vfio_user_set_dev_info() and rte_vfio_user_set_reg_info(). The corresponding vfio-user command handling is also added with the definition of all vfio-user command identity. Signed-off-by: Chenbo Xia Signed-off-by: Xiuchun Lu ---

[dpdk-dev] [PATCH 2/9] vfio_user: implement lifecycle related APIs

2020-12-17 Thread Chenbo Xia
This patch implements three lifecycle related APIs for vfio-user server, which are rte_vfio_user_register(), rte_vfio_user_unregister() and rte_vfio_user_start(). Socket an device management is implemented along with the API introduction. Signed-off-by: Chenbo Xia Signed-off-by: Xiuchun Lu ---

[dpdk-dev] [PATCH 1/9] lib: introduce vfio-user library

2020-12-17 Thread Chenbo Xia
This patch introduces vfio-user library, which follows vfio-user protocol v1.0. As vfio-user has server and client implementaion, this patch introduces basic structures and internal functions that will be used by both server and client. Signed-off-by: Chenbo Xia Signed-off-by: Xiuchun Lu --- MA

[dpdk-dev] [PATCH 0/9] Introduce vfio-user library

2020-12-17 Thread Chenbo Xia
This series enables DPDK to be an alternative I/O device emulation library of building virtualized devices in separate processes outside QEMU. It introduces a new library for device emulation (librte_vfio_user). *librte_vfio_user* library is an implementation of VFIO-over-socket[1] (also known as

Re: [dpdk-dev] [PATCH] net/i40e: fix Rx-bytes statistics

2020-12-17 Thread Zhou, JunX W
Tested-by: Zhou, Jun -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Zhang,Alvin Sent: Tuesday, December 15, 2020 5:51 PM To: Guo, Jia ; Xing, Beilei Cc: dev@dpdk.org; Zhang, AlvinX ; sta...@dpdk.org Subject: [dpdk-dev] [PATCH] net/i40e: fix Rx-bytes statistics

Re: [dpdk-dev] [PATCH 2/7] net/hns3: fix xstats statistics with id

2020-12-17 Thread oulijun
在 2020/12/17 23:20, Ferruh Yigit 写道: On 12/13/2020 8:03 AM, Lijun Ou wrote: From: Huisong Li Number of xstats item in rte_eth_xstats_get_by_id is obtained by the eth_dev_get_xstats_count API, and the xstats_get_by_id ops of the driver only needs to report the corresponding stats item result

[dpdk-dev] [PATCH v2] net/iavf: fix negative GTP-U flow rules create successfully

2020-12-17 Thread Murphy Yang
Currently, when use 'flow' command to create a negative GTP-U rule, it will be created successfully. The list shows the impacted outer and inner 'ipv4' GTP-U patterns with 'ipv4' or 'gtpu' type: - iavf_pattern_eth_ipv4_gtpu_ipv4_udp - iavf_pattern_eth_ipv4_gtpu_eh_ipv4_udp - iavf_pattern_eth_ip

Re: [dpdk-dev] 19.11.6 patches review and test

2020-12-17 Thread Yu, DapengX
Hi Luca, The patch "net/iavf: enable port reset" has been validated by the QA team, and confirmed the test case passes. Best regards, Yu Dapeng -Original Message- From: Luca Boccassi [mailto:bl...@debian.org] Sent: Thursday, December 17, 2020 7:00 PM To: Yu, PingX ; Chen, BoX C ; sta.

Re: [dpdk-dev] [PATCH v2 07/22] net/i40e: fix the jumbo frame flag condition

2020-12-17 Thread Guo, Jia
Acked-by: Jeff Guo > -Original Message- > From: Steve Yang > Sent: Thursday, December 17, 2020 5:23 PM > To: dev@dpdk.org > Cc: Lu, Wenzhuo ; Xing, Beilei > ; Iremonger, Bernard > ; asoma...@amd.com; > rahul.lakkire...@chelsio.com; hemant.agra...@nxp.com; > sachin.sax...@oss.nxp.com; Guo

Re: [dpdk-dev] [PATCH v2 16/22] net/ixgbe: fix the jumbo frame flag condition

2020-12-17 Thread Guo, Jia
Acked-by: Jeff Guo > -Original Message- > From: Steve Yang > Sent: Thursday, December 17, 2020 5:23 PM > To: dev@dpdk.org > Cc: Lu, Wenzhuo ; Xing, Beilei > ; Iremonger, Bernard > ; asoma...@amd.com; > rahul.lakkire...@chelsio.com; hemant.agra...@nxp.com; > sachin.sax...@oss.nxp.com; Guo

Re: [dpdk-dev] [PATCH v2 05/22] net/e1000: fix the jumbo frame flag condition for mtu set

2020-12-17 Thread Guo, Jia
Acked-by: Jeff Guo > -Original Message- > From: Steve Yang > Sent: Thursday, December 17, 2020 5:23 PM > To: dev@dpdk.org > Cc: Lu, Wenzhuo ; Xing, Beilei > ; Iremonger, Bernard > ; asoma...@amd.com; > rahul.lakkire...@chelsio.com; hemant.agra...@nxp.com; > sachin.sax...@oss.nxp.com; Guo

Re: [dpdk-dev] [PATCH 1/2] eal/hotplug: allow monitor to be setup by multiple places

2020-12-17 Thread Long Li
> Subject: Re: [dpdk-dev] [PATCH 1/2] eal/hotplug: allow monitor to be setup > by multiple places > > On Mon, 2020-11-30 at 23:56 -0800, Long Li wrote: > > From: Stephen Hemminger > > > > In some cases, a device or infrastructure may want to enable hotplug > > but application may also try and sta

Re: [dpdk-dev] [PATCH] net/iavf: enable port reset

2020-12-17 Thread Xie, WeiX
Tested-by: Xie,WeiX < weix@intel.com> Regards, Xie Wei > -Original Message- > From: Luca Boccassi [mailto:bl...@debian.org] > Sent: Thursday, December 17, 2020 11:58 PM > To: Yu, DapengX ; Wu, Jingjing > ; Lu, Wenzhuo > Cc: sta...@dpdk.org > Subject: Re: [PATCH] net/iavf: enable por

Re: [dpdk-dev] [PATCH] net/ixgbe: clear registers of all queues on VF reset

2020-12-17 Thread Wang, Haiyue
> -Original Message- > From: Simon Ellmann > Sent: Friday, December 18, 2020 01:15 > To: Guo, Jia ; Wang, Haiyue > Cc: dev@dpdk.org; Simon Ellmann > Subject: [PATCH] net/ixgbe: clear registers of all queues on VF reset > > ixgbe devices support up to 8 Rx and Tx queues per virtual funct

[dpdk-dev] [RFC] ethdev: introduce copy_field rte flow action

2020-12-17 Thread Alexander Kozyrev
RTE Flows API lacks the ability to save an arbitrary header field in order to use it later for advanced packet manipulations. Examples include the usage of VxLAN ID after the packet is decapsulated or storing this ID inside the packet payload itself or swapping an arbitrary inner and outer packet f

Re: [dpdk-dev] [PATCH] net/bnxt: fix fallback mbuf allocation logic

2020-12-17 Thread Ajit Khaparde
On Wed, Dec 16, 2020 at 7:06 AM Lance Richardson wrote: > > From: Lance Richardson > > Fixes for fallback mbuf allocation logic. >- Preserve raw (unmasked) producer index. >- Iterate over all processed descriptors (representor and > non-representor) when checking allocation status. >

Re: [dpdk-dev] [PATCH v2] net/bnxt: fix doorbell write ordering

2020-12-17 Thread Ajit Khaparde
On Mon, Dec 14, 2020 at 10:56 AM Lance Richardson wrote: > > Write completion queue doorbell before receive descriptor > doorbell to avoid possibility of completion queue overflow > when completion queue size is equal to receive descriptor > ring size. Remove unnecessary compiler barriers (db writ

Re: [dpdk-dev] [PATCH] net/bnxt: limit per-poll Rx representor pkts

2020-12-17 Thread Ajit Khaparde
On Mon, Dec 14, 2020 at 10:54 AM Lance Richardson wrote: > > Limit number of representor packets transferred per poll > to requested burst size. > > Fixes: 6dc83230b43b ("net/bnxt: support port representor data path") > Signed-off-by: Lance Richardson > Reviewed-by: Ajit Kumar Khaparde > Reviewe

Re: [dpdk-dev] [PATCH] net/bnxt: fix outer UDP cksum Rx offload capability

2020-12-17 Thread Ajit Khaparde
On Thu, Dec 17, 2020 at 11:24 AM Lance Richardson wrote: > > From: Lance Richardson > > Rx outer UDP checksum offload has been supported for > some time, but this has not been advertised in offload > capability flags. Fix this, and allow vector mode > receive to be enabled when DEV_RX_OFFLOAD_OUT

Re: [dpdk-dev] [PATCH 2/3] net/i40e: add changes to support i40e PMD on windows

2020-12-17 Thread Kadam, Pallavi
On 12/9/2020 12:59 AM, Thomas Monjalon wrote: 09/12/2020 01:21, Kadam, Pallavi: On 12/6/2020 7:49 AM, Thomas Monjalon wrote: 05/12/2020 02:10, Pallavi Kadam: --- a/lib/librte_eal/windows/include/rte_windows.h +++ b/lib/librte_eal/windows/include/rte_windows.h @@ -18,6 +18,11 @@ #define WI

Re: [dpdk-dev] [PATCH 3/3] config/build: ignore enum forward reference warning

2020-12-17 Thread Kadam, Pallavi
On 12/9/2020 4:53 PM, Narcisa Ana Maria Vasile wrote: On Fri, Dec 04, 2020 at 05:10:20PM -0800, Pallavi Kadam wrote: Warning generated using Clang compiler: ..\drivers\net\i40e\base/i40e_osdep.h:34:14: warning: forward references to 'enum' types are a Microsoft extension [-Wmicrosoft-enum-forw

[dpdk-dev] [PATCH v2 2/2] build: i40e PMD on Windows

2020-12-17 Thread Pallavi Kadam
Allows i40e PMD to compile on Windows and disable other drivers. Disable few warnings with Clang such as comparison of integers of different signs and macro redefinitions. Adds temp folder mlx5/windows as it is required to build this patch without any build error. This folder will be removed once

[dpdk-dev] [PATCH v2 1/2] eal: add rte_random.c file on windows

2020-12-17 Thread Pallavi Kadam
This file is required to compile and build i40e PMD on Windows. Add rte_rand variable to export file. Redefine _m_prefetchw for Clang toolchain due to following error with respect to conflicting types: FAILED: lib/76b5a35@@rte_eal@sta/librte_eal_common_rte_random.c.obj clang @lib/76b5a35@@rte_eal

[dpdk-dev] [PATCH v2 0/2] Support i40e PMD on Windows

2020-12-17 Thread Pallavi Kadam
This patch-set enables building the Intel i40e PMD on Windows. Depends-on: series-14296 ("eal/windows: add interrupt functions stub") v2 changes: - Updated commit message (Dmitry Kozlyuk) - Replaced x86intrin.h with rte_vect.h (Dmitry Kozlyuk) - Disable all drivers that d

Re: [dpdk-dev] [PATCH v3] eal: add generic thread-local-storage functions

2020-12-17 Thread Dmitry Kozlyuk
On Thu, 17 Dec 2020 19:49:13 +0200, Tal Shnaiderman wrote: > Add support for tls functionality in EAL. > > The following functions are added: > rte_tls_create_key - function to create a tls data key. > rte_tls_delete_key - function to delete a tls data key. > rte_tls_set_thread_value - function to

[dpdk-dev] [PATCH] net/bnxt: fix outer UDP cksum Rx offload capability

2020-12-17 Thread Lance Richardson
From: Lance Richardson Rx outer UDP checksum offload has been supported for some time, but this has not been advertised in offload capability flags. Fix this, and allow vector mode receive to be enabled when DEV_RX_OFFLOAD_OUTER_UDP_CKSUM is requested. Fixes: 04a681426d49 ("net/bnxt: fix L4 chec

Re: [dpdk-dev] [PATCH v6 3/4] test: add test case to validate VFIO DMA map/unmap

2020-12-17 Thread Nithin Dabilpuram
Hi David Christensen, Ping. Let me know if this way of allocation from heap is fine with POWER9 system. On Fri, Dec 18, 2020 at 12:36:03AM +0530, Nithin Dabilpuram wrote: > Test case alloc's system pages and tries to performs a user > DMA map and unmap both partially and fully. > > Signed-off-b

[dpdk-dev] [PATCH v6 4/4] test: change external memory test to use system page sz

2020-12-17 Thread Nithin Dabilpuram
Currently external memory test uses 4K page size. VFIO DMA mapping works only with system page granularity. Earlier it was working because all the contiguous mappings were coalesced and mapped in one-go which ended up becoming a lot bigger page. Now that VFIO DMA mappings both in IOVA as VA and IO

[dpdk-dev] [PATCH v6 3/4] test: add test case to validate VFIO DMA map/unmap

2020-12-17 Thread Nithin Dabilpuram
Test case alloc's system pages and tries to performs a user DMA map and unmap both partially and fully. Signed-off-by: Nithin Dabilpuram Acked-by: Anatoly Burakov --- app/test/meson.build | 1 + app/test/test_vfio.c | 107 +++ 2 files changed, 1

[dpdk-dev] [PATCH v6 0/4] fix issue with partial DMA unmap

2020-12-17 Thread Nithin Dabilpuram
Partial DMA unmap is not supported by VFIO type1 IOMMU in Linux. Though the return value is zero, the returned DMA unmap size is not same as expected size. So add test case and fix to both heap triggered DMA mapping and user triggered DMA mapping/unmapping. Refer vfio_dma_do_unmap() in drivers/vfi

[dpdk-dev] [PATCH v6 2/4] vfio: fix DMA mapping granularity for type1 IOVA as VA

2020-12-17 Thread Nithin Dabilpuram
Partial unmapping is not supported for VFIO IOMMU type1 by kernel. Though kernel gives return as zero, the unmapped size returned will not be same as expected. So check for returned unmap size and return error. For IOVA as PA, DMA mapping is already at memseg size granularity. Do the same even for

[dpdk-dev] [PATCH v6 1/4] vfio: revert changes for map contiguous areas in one go

2020-12-17 Thread Nithin Dabilpuram
In order to save DMA entries limited by kernel both for externel memory and hugepage memory, an attempt was made to map physically contiguous memory in one go. This cannot be done as VFIO IOMMU type1 does not support partially unmapping a previously mapped memory region while Heap can request for m

Re: [dpdk-dev] [v2 PATCH] usertools: show an error message if unable to reserve requested hugepages

2020-12-17 Thread Stephen Hemminger
On Thu, 17 Dec 2020 16:16:16 +0500 Sarosh Arif wrote: > +if get_hugepages(path) != pages: > +print("Unable to reserve required pages. The pages reserved are:") > +global SHOW_HUGEPAGES > +SHOW_HUGEPAGES = True Please don't add global's to this script. The script is

[dpdk-dev] [PATCH v3] eal: add generic thread-local-storage functions

2020-12-17 Thread Tal Shnaiderman
Add support for tls functionality in EAL. The following functions are added: rte_tls_create_key - function to create a tls data key. rte_tls_delete_key - function to delete a tls data key. rte_tls_set_thread_value - function to set value bound to the tls key rte_tls_get_thread_value - function to

[dpdk-dev] [Bug 601] Virtio-user PMD Cannot Send/Receive Packets when 2M Hugepages are Enabled

2020-12-17 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=601 David Christensen (d...@linux.vnet.ibm.com) changed: What|Removed |Added Resolution|--- |FIXED St

[dpdk-dev] [PATCH 35/35] net/mlx5: fix warnings on comparison sign mismatch

2020-12-17 Thread Tal Shnaiderman
The clang compiler warns on size mismatches of several comparisons. warning: comparison of integers of different signs To resolve those the right types is used/cast to. Cc: sta...@dpdk.org Signed-off-by: Tal Shnaiderman Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_flow.c| 4 ++-

[dpdk-dev] [PATCH 04/35] common/mlx5/windows: add DevX UAR getters

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk The following getters are added: mlx5_os_get_devx_uar_mmap_offset, mlx5_os_get_devx_uar_base_addr, mlx5_os_get_devx_uar_reg_addr, mlx5_os_get_devx_uar_page_id. This commit is the Windows equivalent of the Linux implementation in [1]. [1] commit 8638e19a10aa ("net/mlx5: remove m

[dpdk-dev] [PATCH 34/35] mlx5: do not fail on IPv6 broadcast flow creation failure

2020-12-17 Thread Tal Shnaiderman
IPv6 broadcast flow creation is unsupported in Windows. do not fail on IPv6 broadcast flow creation on this mast to avoid entire default rules creation failure. Signed-off-by: Tal Shnaiderman Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_trigger.c | 8 ++-- 1 file changed, 6 insertions(+)

[dpdk-dev] [PATCH 32/35] mlx5: use init function for ctx list mutex

2020-12-17 Thread Tal Shnaiderman
The mutex mlx5_dev_ctx_list_mutex was initialized with PTHREAD_MUTEX_INITIALIZER global macro however this macro is not supported on Windows OS shim implementation of pthreads in DPDK. Moved the init of this mutex to RTE_INIT to support this mutex on both OSs. Signed-off-by: Tal Shnaiderman Acke

[dpdk-dev] [PATCH 31/35] net/mlx5: use OS independent code in ASO feature

2020-12-17 Thread Tal Shnaiderman
Modify the ASO feature to use OS independent code not to break Windows build. Signed-off-by: Tal Shnaiderman Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_flow_age.c | 15 --- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_age.c b/drivers/

[dpdk-dev] [PATCH 33/35] mlx5: use OS function for dr_sync_domain

2020-12-17 Thread Tal Shnaiderman
use OS functions for flow_dv_sync_domain to compile Windows. mlx5_os_flow_dr_sync_domain is unsupported for Windows. Signed-off-by: Tal Shnaiderman Acked-by: Matan Azrad --- drivers/net/mlx5/linux/mlx5_flow_os.h | 6 ++ drivers/net/mlx5/mlx5_flow_dv.c | 6 +++--- drivers/net/mlx5

[dpdk-dev] [PATCH 29/35] net/mlx5: fix separating eth_dev_ops per OS

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk There are three types of eth_dev_ops: primary, secondary and isolate represented in three callback tables per OS. In this commit the OS specific eth dev tables are unified into shared tables in file mlx5.c. Starting from this commit all operating systems must implement the same

[dpdk-dev] [PATCH 27/35] net/mlx5/windows: create flow rule

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk This commit implements mlx5_flow_os_create_flow() API. It is equivalent to Linux rdma-core implementation. The API receives the matcher mask, matcher value and an array of actions. They are copied into a PRM-like struct devx_fs_rule_add_in. Then glue API devx_fs_rule_add() is cal

[dpdk-dev] [PATCH 30/35] net/mlx5: define MLX5_NAMESIZE for device interface size

2020-12-17 Thread Tal Shnaiderman
Windows Devx interface name is the same as device name with different size then IF_NAMESIZE. to support it MLX5_NAMESIZE is defined with IF_NAMESIZE value for Linux and MLX5_FS_NAME_MAX value for Windows. Fixes: e9c0b96e3526 ("net/mlx5: move Linux ifname function") Cc: sta...@dpdk.org Signed-off-

[dpdk-dev] [PATCH 24/35] net/mlx5/windows: introduce flow support

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk This patch adds the initial flow framework under Windows OS. It supports a subset of filters (ETH, IPV4, UDP) and a QUEUE action. It is based on DevX mechanism to send commands to the NIC through the kernel. It does not support steering rules (i.e. writing directly to the NIC me

[dpdk-dev] [PATCH 28/35] net/mlx5: use HAVE_INFINIBAND_VERBS_H in shared code

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk Use macro HAVE_INFINIBAND_VERBS_H to successfully compile files both under Linux and Windows (or any non Linux in general). Under Windows this macro: 1. Hides Verbs references. 2. Exposes required DV structs that are under ifdefs related to rdma core. Linux code under definition

[dpdk-dev] [PATCH 25/35] net/mlx5/windows: create flow matcher object

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk This commit implements the mlx5_flow_os_create_flow_matcher() API. It is the Linux rdma-core equivalent implementation. Missing rdma-core parameters (e.g. struct mlx5dv_flow_match_parameters) are added to file mlx5_win_defs.h. The API allocates space to hold the PRM bits in PRM f

[dpdk-dev] [PATCH 26/35] net/mlx5/windows: create flow action dest TIR object

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk This commit implements mlx5_flow_os_create_flow_action_dest_devx_tir() API as the Linux rdma-core equivalent. Missing rdma-core parameters are added to file mlx5_win_defs.h. The action TIR id and type (MLX5_FLOW_CONTEXT_DEST_TYPE_TIR) are saved in the action struct. The action s

[dpdk-dev] [PATCH 22/35] net/mlx5/linux: add OS default miss flow action

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk Wrap glue call dr_create_flow_action_default_miss() with an OS API. This commit is a follow up on [1]. [1] commit d4d85aa6f13a ("common/mlx5: add default miss action") commit b293fbf9672b ("net/mlx5: add OS specific flow actions operations") Signed-off-by: Ophir Munk Acked-by:

[dpdk-dev] [PATCH 23/35] net/mlx5/linux: fix add OS dest_devx_tir action

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk Wrap glue call dv_create_flow_action_dest_devx_tir() with an OS API. Fixes: b293fbf9672b ("net/mlx5: add OS specific flow actions operations") Cc: sta...@dpdk.org Signed-off-by: Ophir Munk Acked-by: Matan Azrad --- drivers/net/mlx5/linux/mlx5_flow_os.h | 26 +

[dpdk-dev] [PATCH 17/35] net/mlx5/windows: support open device

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk This commit implements mlx5_os_open_device() API. It calls glue API open_device() then glue API query_device() to fill in 'struct mlx5_context' with data for later usage. Signed-off-by: Ophir Munk Signed-off-by: Tal Shnaiderman Acked-by: Matan Azrad --- drivers/net/mlx5/wind

[dpdk-dev] [PATCH 15/35] net/mlx5/windws: add VLAN stubs

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk This commit adds stubs to VLAN VM operations. It is the Windows equivalent implementation of [1]. The Linux implementation was based on Netlink APIs which are not supported in Windows. [1] commit 7af10d29a4a0 ("net/mlx5/linux: refactor VLAN") Signed-off-by: Ophir Munk Acked-

[dpdk-dev] [PATCH 16/35] net/mlx5/windows: support get pdn

2020-12-17 Thread Tal Shnaiderman
Implement OS function call to get pdn. Signed-off-by: Tal Shnaiderman Acked-by: Matan Azrad --- drivers/net/mlx5/windows/mlx5_os.c | 21 + 1 file changed, 21 insertions(+) diff --git a/drivers/net/mlx5/windows/mlx5_os.c b/drivers/net/mlx5/windows/mlx5_os.c index de23f0ac88

[dpdk-dev] [PATCH 21/35] net/mlx5/linux: wrap adjust flow priority with OS calls

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk mlx5_flow_adjust_priority() is used to adjust priorities according to priorities levels. It is Verbs based and it is called from shared code (mlx5_flow_dv.c). Therefore, wrap it in an OS API. Signed-off-by: Ophir Munk Acked-by: Matan Azrad --- drivers/net/mlx5/linux/mlx5_flow

[dpdk-dev] [PATCH 20/35] net/mlx5/windows: support VF PCI address

2020-12-17 Thread Tal Shnaiderman
Support VF BDF scanning by checking both the BDF and raw BDF provided by DevX. In Linux a PCI address is formatted as: domain, bus, device, function (DBDF). This is right for both a PF and a VF. In Windows a PF also has a DBDF format, but the domain is always 0, while a VF has a special "domain" c

[dpdk-dev] [PATCH 12/35] net/mlx5/windows: support get mtu

2020-12-17 Thread Tal Shnaiderman
This commit implements API mlx5_get_mtu(). It returns the MTU size as saved in the device context since its creation. Signed-off-by: Tal Shnaiderman Acked-by: Matan Azrad --- drivers/net/mlx5/windows/mlx5_ethdev_os.c | 27 +++ 1 file changed, 27 insertions(+) diff --git

[dpdk-dev] [PATCH 18/35] net/mlx5/windows: initial probing implementation

2020-12-17 Thread Tal Shnaiderman
This commit implements mlx5_os_pci_probe API under Windows. It does all required initializations then it gets the PCI device list using glue API get_device_list(). Next, all non MLX5 matched devices are filtered out. The supported NIC types are: CONNECTX4VF, CONNECTX4LXVF, CONNECTX5VF, CONNECTX5EX

[dpdk-dev] [PATCH 08/35] net/mlx5/windows: support get mac

2020-12-17 Thread Tal Shnaiderman
This commits implements API mlx5_get_mac(). It returns the MAC address saved in the device context since its creation. Signed-off-by: Tal Shnaiderman Acked-by: Matan Azrad --- drivers/net/mlx5/windows/meson.build | 1 + drivers/net/mlx5/windows/mlx5_ethdev_os.c | 43 +

[dpdk-dev] [PATCH 19/35] net/mlx5/windws: spawn eth devices

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk This commit implements mlx5_dev_spawn() API which allocates an eth device (struct rte_eth_dev) for each PCI device. When working with representors virtual functions (as in Linux), one PCI device may spawn several eth devices: the master device for the main physical function (PF)

[dpdk-dev] [PATCH 13/35] net/mlx5/windows: support get interface name

2020-12-17 Thread Tal Shnaiderman
This commit copies the interface name as saved in the device context since its creation. Signed-off-by: Tal Shnaiderman Acked-by: Matan Azrad --- drivers/net/mlx5/windows/mlx5_ethdev_os.c | 28 1 file changed, 28 insertions(+) diff --git a/drivers/net/mlx5/windows/

[dpdk-dev] [PATCH 06/35] net/mlx5/windows: add memory region callbacks

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk This commit is the Windows part implementation of [1]. [1] commit d5ed8aa9449d ("net/mlx5: add memory region callbacks in per-device cache")' Signed-off-by: Ophir Munk Acked-by: Matan Azrad --- drivers/net/mlx5/windows/mlx5_os.c | 17

[dpdk-dev] [PATCH 09/35] net/mlx5/windows: add ethdev stub operations

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk This commits adds ethdev stubs. These APIs are called from shared code that must compile under Linux and Windows. The following stubs are added: mlx5_set_mtu mlx5_os_read_dev_counters mlx5_intr_callback_unregister mlx5_os_get_stats_n mlx5_os_stats_init mlx5_set_link_down mlx5_set

[dpdk-dev] [PATCH 14/35] net/mlx5/windows: support device removed query

2020-12-17 Thread Tal Shnaiderman
This commit implements mlx5_is_removed() API. A new glue call 'init_shutdown_event' is added to support the new API. Signed-off-by: Tal Shnaiderman Acked-by: Matan Azrad --- drivers/common/mlx5/windows/mlx5_glue.c| 21 + drivers/common/mlx5/windows/mlx5_glue.h| 1 +

[dpdk-dev] [PATCH 10/35] net/mlx5/windows: support link update

2020-12-17 Thread Tal Shnaiderman
Add support for mlx5_link_update() to get link speed and link state. Other parameters are currently hard-coded. Signed-off-by: Tal Shnaiderman Acked-by: Matan Azrad --- drivers/net/mlx5/windows/mlx5_ethdev_os.c | 44 +++ 1 file changed, 44 insertions(+) diff --git a

[dpdk-dev] [PATCH 11/35] net/mlx5/windows: support read clock

2020-12-17 Thread Tal Shnaiderman
This commit adds a new glue function query_rt_values to support the new API mlx5_read_clock(). Signed-off-by: Tal Shnaiderman Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_prm.h | 1 + drivers/common/mlx5/windows/mlx5_glue.c| 26 ++ drivers/common/m

[dpdk-dev] [PATCH 05/35] common/mlx5/windows: wrap event channel APIs with OS calls

2020-12-17 Thread Tal Shnaiderman
This commit is the Windows equivalent of the Linux implementation. Windows returns an error ENOTSUP for the APIs to create/destroy event channel or to subscribe an event. Signed-off-by: Tal Shnaiderman Signed-off-by: Ophir Munk Acked-by: Matan Azrad --- drivers/common/mlx5/windows/mlx5_common_

[dpdk-dev] [PATCH 01/35] common/mlx5/windows: add missing DV and IBV definitions

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk Add missing DV and IBV definition to file mlx5_win_defs.h. The definitions originated from rdma-core library which is not part of Windows. They are referenced in shared files that must compile under Windows such as mlx5_flow_dv.c and mlx5_rxtx.c. Signed-off-by: Ophir Munk Acked

[dpdk-dev] [PATCH 07/35] net/mlx5/windows: add stubs for MP requests

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk Windows supports the primary process with no secondary process control. This commit adds stubs for requests to start/stop the data-path to the secondary process and for requests to start/stop a queue of the primary process. Signed-off-by: Ophir Munk Acked-by: Matan Azrad ---

[dpdk-dev] [PATCH 03/35] common/mlx5: add rte compatibility header file

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk Add #include to file mlx5_devx_cmds.h. It is required for Windows to identify the __rte_internal definition. Signed-off-by: Ophir Munk Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_devx_cmds.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/common/mlx5/mlx5

[dpdk-dev] [PATCH 00/35] mlx5 Windows support - part #6

2020-12-17 Thread Tal Shnaiderman
This patch series is part of preparing mlx5 PMD to compile and run under Windows OS. Part #6 Ophir Munk (19): common/mlx5/windows: add missing DV and IBV definitions mlx5/windows: add mlx5 macros for fs name and path common/mlx5: add rte compatibility header file common/mlx5/windows: add

[dpdk-dev] [PATCH 02/35] mlx5/windows: add mlx5 macros for fs name and path

2020-12-17 Thread Tal Shnaiderman
From: Ophir Munk ibdev_name and ibdev_path sizes are defined in Windows DevX differently from the sizes used in Linux with IBV_SYSFS_NAME_MAX and IBV_SYSFS_PATH_MAX. Added MLX5_FS_NAME_MAX and MLX5_FS_NAME_PATH in mlx5_os.h for both OSs. Signed-off-by: Tal Shnaiderman Acked-by: Matan Azrad --

[dpdk-dev] [PATCH] net/ixgbe: clear registers of all queues on VF reset

2020-12-17 Thread Simon Ellmann
ixgbe devices support up to 8 Rx and Tx queues per virtual function. Currently, the registers of only seven queues are set to default when resetting a VF. Signed-off-by: Simon Ellmann --- drivers/net/ixgbe/base/ixgbe_vf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/driver

[dpdk-dev] [Bug 585] Direct PCI access violation with VFIO and lockdown mode

2020-12-17 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=585 Luca Boccassi (luca.bocca...@gmail.com) changed: What|Removed |Added Resolution|--- |INVALID Stat

Re: [dpdk-dev] [PATCH v12 00/11] Add PMD power management

2020-12-17 Thread David Marchand
On Thu, Dec 17, 2020 at 3:06 PM Anatoly Burakov wrote: > > This patchset proposes a simple API for Ethernet drivers to cause the > CPU to enter a power-optimized state while waiting for packets to > arrive. This is achieved through cooperation with the NIC driver that > will allow us to know addre

Re: [dpdk-dev] [PATCH 2/7] net/hns3: fix xstats statistics with id

2020-12-17 Thread Ferruh Yigit
On 12/13/2020 8:03 AM, Lijun Ou wrote: From: Huisong Li Number of xstats item in rte_eth_xstats_get_by_id is obtained by the eth_dev_get_xstats_count API, and the xstats_get_by_id ops of the driver only needs to report the corresponding stats item result. However, a redundant code for reporting

Re: [dpdk-dev] [PATCH 1/2] eal/hotplug: allow monitor to be setup by multiple places

2020-12-17 Thread Luca Boccassi
On Mon, 2020-11-30 at 23:56 -0800, Long Li wrote: > From: Stephen Hemminger > > In some cases, a device or infrastructure may want to enable hotplug > but application may also try and start hotplug as well. Therefore > change the monitor_started from a boolean into a reference count. > > Signed-

[dpdk-dev] [PATCH v12 11/11] examples/l3fwd-power: enable PMD power mgmt

2020-12-17 Thread Anatoly Burakov
From: Liang Ma Add PMD power management feature support to l3fwd-power sample app. Signed-off-by: Liang Ma Signed-off-by: Anatoly Burakov --- Notes: v6: - Fixed typos in documentation .../sample_app_ug/l3_forward_power_man.rst| 35 examples/l3fwd-power/main.c

[dpdk-dev] [PATCH v12 10/11] net/ice: implement power management API

2020-12-17 Thread Anatoly Burakov
From: Liang Ma Implement support for the power management API by implementing a `get_monitor_addr` function that will return an address of an RX ring's status bit. Signed-off-by: Liang Ma Signed-off-by: Anatoly Burakov Acked-by: Konstantin Ananyev --- drivers/net/ice/ice_ethdev.c | 1 + dri

[dpdk-dev] [PATCH v12 08/11] net/ixgbe: implement power management API

2020-12-17 Thread Anatoly Burakov
From: Liang Ma Implement support for the power management API by implementing a `get_monitor_addr` function that will return an address of an RX ring's status bit. Signed-off-by: Anatoly Burakov Signed-off-by: Liang Ma Acked-by: Konstantin Ananyev --- drivers/net/ixgbe/ixgbe_ethdev.c | 1 +

[dpdk-dev] [PATCH v12 09/11] net/i40e: implement power management API

2020-12-17 Thread Anatoly Burakov
From: Liang Ma Implement support for the power management API by implementing a `get_monitor_addr` function that will return an address of an RX ring's status bit. Signed-off-by: Liang Ma Signed-off-by: Anatoly Burakov Acked-by: Konstantin Ananyev Acked-by: Jeff Guo --- drivers/net/i40e/i40

[dpdk-dev] [PATCH v12 07/11] power: add PMD power management API and callback

2020-12-17 Thread Anatoly Burakov
From: Liang Ma Add a simple on/off switch that will enable saving power when no packets are arriving. It is based on counting the number of empty polls and, when the number reaches a certain threshold, entering an architecture-defined optimized power state that will either wait until a TSC timest

[dpdk-dev] [PATCH v12 06/11] ethdev: add simple power management API

2020-12-17 Thread Anatoly Burakov
From: Liang Ma Add a simple API to allow getting the monitor conditions for power-optimized monitoring of the RX queues from the PMD, as well as release notes information. Signed-off-by: Liang Ma Signed-off-by: Anatoly Burakov Acked-by: Konstantin Ananyev --- Notes: v6: - Rebase on t

[dpdk-dev] [PATCH v12 04/11] eal: remove sync version of power monitor

2020-12-17 Thread Anatoly Burakov
Currently, the "sync" version of power monitor intrinsic is supposed to be used for purposes of waking up a sleeping core. However, there are better ways to achieve the same result, so remove the unneeded function. Signed-off-by: Anatoly Burakov --- .../arm/include/rte_power_intrinsics.h

[dpdk-dev] [PATCH v12 05/11] eal: add monitor wakeup function

2020-12-17 Thread Anatoly Burakov
Now that we have everything in a C file, we can store the information about our sleep, and have a native mechanism to wake up the sleeping core. This mechanism would however only wake up a core that's sleeping while monitoring - waking up from `rte_power_pause` won't work. Signed-off-by: Anatoly B

[dpdk-dev] [PATCH v12 03/11] eal: change API of power intrinsics

2020-12-17 Thread Anatoly Burakov
Instead of passing around pointers and integers, collect everything into struct. This makes API design around these intrinsics much easier. Signed-off-by: Anatoly Burakov --- drivers/event/dlb/dlb.c | 10 ++-- drivers/event/dlb2/dlb2.c | 10 ++-- .../arm

[dpdk-dev] [PATCH v12 02/11] eal: avoid invalid API usage in power intrinsics

2020-12-17 Thread Anatoly Burakov
Currently, the API documentation mandates that if the user wants to use the power management intrinsics, they need to call the `rte_cpu_get_intrinsics_support` API and check support for specific intrinsics. However, if the user does not do that, it is possible to get illegal instruction error beca

[dpdk-dev] [PATCH v12 01/11] eal: uninline power intrinsics

2020-12-17 Thread Anatoly Burakov
Currently, power intrinsics are inline functions. Make them part of the ABI so that we can have various internal data associated with them without exposing said data to the outside world. Signed-off-by: Anatoly Burakov --- .../arm/include/rte_power_intrinsics.h| 6 +- .../include/gener

[dpdk-dev] [PATCH v12 00/11] Add PMD power management

2020-12-17 Thread Anatoly Burakov
This patchset proposes a simple API for Ethernet drivers to cause the CPU to enter a power-optimized state while waiting for packets to arrive. This is achieved through cooperation with the NIC driver that will allow us to know address of wake up event, and wait for writes on it. On IA, this

Re: [dpdk-dev] [PATCH v3] meson: update meson build for armada drivers

2020-12-17 Thread Ferruh Yigit
On 12/16/2020 9:36 PM, lir...@marvell.com wrote: From: Liron Himi With pkg-config support available within musdk library (from musdk-release-SDK-10.3.5.0-PR2 version), meson option 'lib_musdk_dir' can be removed. PKG_CONFIG_PATH environment variable should be set appropriately to use the musdk

[dpdk-dev] 18.11.11 (LTS) patches review and test

2020-12-17 Thread Kevin Traynor
Hi all, Here is a list of patches targeted for LTS release 18.11.11. The planned date for the final release is 19th January. Note, this is the last planned release of 18.11 LTS, and it will be unmaintained after this release, so I encourage anyone who is using 18.11 LTS to test. Please help wit

Re: [dpdk-dev] [PATCH v1 0/6] regex multi Q with multi cores support

2020-12-17 Thread Ori Kam
Hi Ophir, You should also update the testregex.rst file. Best, Ori > -Original Message- > From: Ophir Munk > Sent: Wednesday, December 16, 2020 6:49 PM > Subject: [PATCH v1 0/6] regex multi Q with multi cores support > > This patchset enhances the regex application to support multi Q w

[dpdk-dev] [PATCH 12/17] net/mlx5: move rearm and clock queue SQ creation to common

2020-12-17 Thread Michael Baum
Using common function for DevX SQ creation for rearm and clock queue. Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5.h | 8 +-- drivers/net/mlx5/mlx5_txpp.c | 147 +++ 2 files changed, 36 insertions(+), 119 deletions(-)

[dpdk-dev] [PATCH 13/17] net/mlx5: move Tx SQ creation to common

2020-12-17 Thread Michael Baum
Using common function for Tx SQ creation. Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5.h | 8 +-- drivers/net/mlx5/mlx5_devx.c | 160 ++- 2 files changed, 40 insertions(+), 128 deletions(-) diff --git a/drivers/net/m

[dpdk-dev] [PATCH 11/17] regex/mlx5: move DevX SQ creation to common

2020-12-17 Thread Michael Baum
Using common function for DevX SQ creation. Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/regex/mlx5/mlx5_regex.h | 8 +- drivers/regex/mlx5/mlx5_regex_control.c | 153 ++- drivers/regex/mlx5/mlx5_regex_fastpath.c | 14 +-- 3 files change

  1   2   >