Re: [dpdk-dev] [PATCH v1 0/8] mlx5 PMD multi OS support - part #2

2020-06-14 Thread Matan Azrad
From: Ophir Munk: > This patch series is part of preparing mlx5 PMD to compile and run under > multiple OSs. Part #2 > > v1: > Initial release > > Ophir Munk (8): > net/mlx5: remove dv dependency in mlx5_dev_ctx_shared struct > net/mlx5: rename ib in names > net/mlx5: move socket files u

[dpdk-dev] [PATCH v8 3/3] timer: support EAL functions on Windows

2020-06-14 Thread Fady Bader
Implemented the needed Windows eal timer functions. Signed-off-by: Fady Bader --- lib/librte_eal/common/meson.build | 1 + lib/librte_eal/windows/eal.c| 6 +++ lib/librte_eal/windows/eal_timer.c | 90 + lib/librte_eal/windows/include/rte_o

[dpdk-dev] [PATCH v8 1/3] timer: move from common to Unix directory

2020-06-14 Thread Fady Bader
Eal common timer doesn't compile under Windows. Compilation log: error LNK2019: unresolved external symbol nanosleep referenced in function rte_delay_us_sleep error LNK2019: unresolved external symbol get_tsc_freq referenced in function set_tsc_freq error LNK2019: unresolved external symbol sleep

[dpdk-dev] [PATCH v8 0/3] eal timer split and implementation for Windows

2020-06-14 Thread Fady Bader
This patchset splits OS dependent EAL timer functions and implements them for windows. v2: * fixing styles and correctness errors. v3: * fixing correctness, get_tsc_freq was reimplemented. v4: * rebasing to the new version of "Windows basic memory management" series. * fixing styl

[dpdk-dev] [PATCH v8 2/3] eal: proc type function for Windows

2020-06-14 Thread Fady Bader
Implementation of rte_proc_type_t for Windows as it is needed for Windows eal timer. Signed-off-by: Fady Bader --- lib/librte_eal/windows/eal.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/lib/librte_eal/windows/eal.c b/lib/librte_eal/windows/eal.c index d084606a6..feee91244 100644

Re: [dpdk-dev] [PATCH v8 0/3] eal timer split and implementation for Windows

2020-06-14 Thread Tal Shnaiderman
> Subject: [PATCH v8 0/3] eal timer split and implementation for Windows > > This patchset splits OS dependent EAL timer functions and implements them > for windows. > > v2: > * fixing styles and correctness errors. > v3: > * fixing correctness, get_tsc_freq was reimplemented. > v4: >

Re: [dpdk-dev] [PATCH 1/1] net/mlx5: fix flow memory allocation size

2020-06-14 Thread Raslan Darawsheh
Hi, > -Original Message- > From: Gregory Etelson > Sent: Monday, June 8, 2020 7:02 PM > To: dev@dpdk.org > Cc: Gregory Etelson ; Matan Azrad > ; Raslan Darawsheh > Subject: [PATCH 1/1] net/mlx5: fix flow memory allocation size > > In DV enabled MLX5 PMD build > mlx5_ipool_cfg[MLX5_IPOOL

Re: [dpdk-dev] [PATCH] net/mlx5: move GTP mask define to correct location

2020-06-14 Thread Raslan Darawsheh
Hi, > -Original Message- > From: Dekel Peled > Sent: Wednesday, June 10, 2020 4:25 PM > To: Matan Azrad ; Slava Ovsiienko > ; Raslan Darawsheh > Cc: dev@dpdk.org > Subject: [PATCH] net/mlx5: move GTP mask define to correct location > > Recent patch [1] added definition of mask MLX5_GTP_

Re: [dpdk-dev] [PATCH] vhost: fix host notifier configuration error flow

2020-06-14 Thread Xia, Chenbo
Hi Matan, > -Original Message- > From: Matan Azrad > Sent: Friday, June 12, 2020 7:06 PM > To: Xia, Chenbo ; Maxime Coquelin > > Cc: dev@dpdk.org; Wang, Xiao W ; Tiwei Bie > ; sta...@dpdk.org > Subject: RE: [dpdk-dev] [PATCH] vhost: fix host notifier configuration error > flow > > > H

[dpdk-dev] [PATCH] vfio: fix mem leak when unmapping resource

2020-06-14 Thread Yunjian Wang
The 'vfio_res' is not freed when unmapping resource by primary process. This leads to memory leak. Fixes: ab53203e194b ("vfio: enable unmapping resource for secondary") Cc: sta...@dpdk.org Signed-off-by: Yunjian Wang --- drivers/bus/pci/linux/pci_vfio.c | 1 + 1 file changed, 1 insertion(+) di

[dpdk-dev] [dpdk-dev v2] net/ice: enable new input set for rss hash

2020-06-14 Thread Jeff Guo
PF could add or delete a RSS rule base on the PF's hash capability. Some new rss input set will be supported, the protocols as below: eth/vlan/l2tpv3/esp/ah/pfcp/gtpu. Signed-off-by: Jeff Guo --- v2->v1: separate hdrs and fields parsing --- drivers/net/ice/ice_hash.c | 597 ++

[dpdk-dev] [dpdk-dev v2] net/iavf: add inner 5 tuple hash for GTPU

2020-06-14 Thread Jeff Guo
Previous iavf only support inner ipv4 hash for GTPU, this patch aims to enable inner 5 tuple hash for GTPU, that involves inner ipv4 src/dst, tcp sport/dport, udp sport/dport and protocol id. Signed-off-by: Jeff Guo --- drivers/net/iavf/iavf_hash.c | 1670 -- 1 fi

[dpdk-dev] [PATCH 1/4] devtools: shrink cross-compilation test definition

2020-06-14 Thread Thomas Monjalon
Each cross-compilation case needs to define the target compiler and the meson cross file. Given the compiler is already defined in the cross file, the latter is enough. The function "build" is changed to accept a cross file alternatively to the compiler name. In the case of a file (detected if rea

[dpdk-dev] [PATCH 0/4] add PPC and Windows to meson test

2020-06-14 Thread Thomas Monjalon
In order to better support PPC and Windows, their compilation is tested on Linux with Meson with the script test-meson-builds.sh, supposed to be called in every CI labs. Thomas Monjalon (4): devtools: shrink cross-compilation test definition devtools: allow non-standard toolchain in meson test

[dpdk-dev] [PATCH 2/4] devtools: allow non-standard toolchain in meson test

2020-06-14 Thread Thomas Monjalon
If a compiler is not found in $PATH, the compilation test is skipped. In some cases, the compiler could be found after extending $PATH in an environment configuration script (called by load-devel-config). The decision to skip is deferred to a later stage, after loading the configuration script. I

[dpdk-dev] [PATCH 3/4] devtools: add ppc64 in meson build test

2020-06-14 Thread Thomas Monjalon
The CPU is defined as Power8, running as little endian. Signed-off-by: Thomas Monjalon --- config/ppc/ppc64le-power8-linux-gcc | 11 +++ devtools/test-meson-builds.sh | 5 + 2 files changed, 16 insertions(+) create mode 100644 config/ppc/ppc64le-power8-linux-gcc diff --git a

[dpdk-dev] [PATCH 4/4] devtools: add Windows cross-build test with MinGW

2020-06-14 Thread Thomas Monjalon
The Meson cross file is renamed from meson_mingw.txt to cross-mingw, and is added to test-meson-builds.sh. The only example supported on Windows so far is "helloworld", that's why the default list of examples is overriden. Signed-off-by: Thomas Monjalon --- config/x86/{meson_mingw.txt => cross-

Re: [dpdk-dev] [PATCH 4/4] devtools: add Windows cross-build test with MinGW

2020-06-14 Thread Thomas Monjalon
15/06/2020 00:57, Thomas Monjalon: > The Meson cross file is renamed from meson_mingw.txt to cross-mingw, > and is added to test-meson-builds.sh. > > The only example supported on Windows so far is "helloworld", > that's why the default list of examples is overriden. > > Signed-off-by: Thomas Mon

[dpdk-dev] [PATCH v9 00/12] Windows basic memory management

2020-06-14 Thread Dmitry Kozlyuk
Note for v9: rte_eal_memory.h renamed, dependent patchsets have to be updated. This patchset implements basic MM with the following features: * Hugepages are dynamically allocated in user-mode. * Only 2MB hugepages are supported. * IOVA is always PA, obtained through kernel-mode driver. * No 32-b

[dpdk-dev] [PATCH v9 02/12] eal: introduce internal wrappers for file operations

2020-06-14 Thread Dmitry Kozlyuk
Introduce OS-independent wrappers in order to support common EAL code on Unix and Windows: * eal_file_open: open or create a file. * eal_file_lock: lock or unlock an open file. * eal_file_truncate: enforce a given size for an open file. Implementation for Linux and FreeBSD is placed in "unix" sub

[dpdk-dev] [PATCH v9 04/12] eal/mem: extract common code for memseg list initialization

2020-06-14 Thread Dmitry Kozlyuk
All supported OS create memory segment lists (MSL) and reserve VA space for them in a nearly identical way. Move common code into EAL private functions to reduce duplication. Signed-off-by: Dmitry Kozlyuk --- lib/librte_eal/common/eal_common_memory.c | 96 ++ lib/librte_eal/comm

[dpdk-dev] [PATCH v9 01/12] eal: replace rte_page_sizes with a set of constants

2020-06-14 Thread Dmitry Kozlyuk
Clang on Windows follows MS ABI where enum values are limited to 2^31-1. Enum rte_page_sizes has members valued above this limit, which get wrapped to zero, resulting in compilation error (duplicate values in enum). Using MS ABI is mandatory for Windows EAL to call Win32 APIs. Remove rte_page_size

[dpdk-dev] [PATCH v9 03/12] eal: introduce memory management wrappers

2020-06-14 Thread Dmitry Kozlyuk
Introduce OS-independent wrappers for memory management operations used across DPDK and specifically in common code of EAL: * rte_mem_map() * rte_mem_unmap() * rte_mem_page_size() * rte_mem_lock() Windows uses different APIs for memory mapping and reservation, while Unices reserve memory by mappi

[dpdk-dev] [PATCH v9 06/12] trace: add size_t field emitter

2020-06-14 Thread Dmitry Kozlyuk
It is not guaranteed that sizeof(long) == sizeof(size_t). On Windows, sizeof(long) == 4 and sizeof(size_t) == 8 for 64-bit programs. Tracepoints using "long" field emitter are therefore invalid there. Add dedicated field emitter for size_t and use it to store size_t values in all existing tracepoin

[dpdk-dev] [PATCH v9 10/12] doc/windows: split build and run instructions

2020-06-14 Thread Dmitry Kozlyuk
With memory management implemented for Windows, the guide for running sample applications is going to be extended with hugepages and driver setup. Move run instructions to a separate file to give space for planned expansion. Signed-off-by: Dmitry Kozlyuk --- doc/guides/windows_gsg/build_dpdk.rs

[dpdk-dev] [PATCH v9 05/12] eal/mem: extract common code for dynamic memory allocation

2020-06-14 Thread Dmitry Kozlyuk
Code in Linux EAL that supports dynamic memory allocation (as opposed to static allocation used by FreeBSD) is not OS-dependent and can be reused by Windows EAL. Move such code to a file compiled only for the OS that require it. Keep Anatoly Burakov maintainer of extracted code. Signed-off-by: Dmi

[dpdk-dev] [PATCH v9 08/12] eal/windows: replace sys/queue.h with a complete one from FreeBSD

2020-06-14 Thread Dmitry Kozlyuk
Limited version imported previously lacks at least SLIST macros. Import a complete file from FreeBSD, since its license exception is already approved by Technical Board. Signed-off-by: Dmitry Kozlyuk --- lib/librte_eal/windows/include/sys/queue.h | 663 +++-- 1 file changed, 601

[dpdk-dev] [PATCH v9 09/12] eal/windows: improve CPU and NUMA node detection

2020-06-14 Thread Dmitry Kozlyuk
1. Map CPU cores to their respective NUMA nodes as reported by system. 2. Support systems with more than 64 cores (multiple processor groups). 3. Fix magic constants, styling issues, and compiler warnings. 4. Add EAL private function to map DPDK socket ID to NUMA node number. Signed-off-by: Dmitry

[dpdk-dev] [PATCH v9 07/12] eal/windows: add tracing support stubs

2020-06-14 Thread Dmitry Kozlyuk
EAL common code depends on tracepoint calls, but generic implementation cannot be enabled on Windows due to missing standard library facilities. Add stub functions to support tracepoint compilation, so that common code does not have to conditionally include tracepoints until proper support is added

[dpdk-dev] [PATCH v9 12/12] eal/windows: implement basic memory management

2020-06-14 Thread Dmitry Kozlyuk
Basic memory management supports core libraries and PMDs operating in IOVA as PA mode. It uses a kernel-mode driver, virt2phys, to obtain IOVAs of hugepages allocated from user-mode. Multi-process mode is not implemented and is forcefully disabled at startup. Assign myself as a maintainer for Windo

[dpdk-dev] [PATCH v9 11/12] eal/windows: initialize hugepage info

2020-06-14 Thread Dmitry Kozlyuk
Add hugepages discovery ("large pages" in Windows terminology) and update documentation for required privilege setup. Only 2MB hugepages are supported and their number is estimated roughly due to the lack or unstable status of suitable OS APIs. Assign myself as maintainer for the implementation fil

Re: [dpdk-dev] MinGW guide

2020-06-14 Thread Dmitry Kozlyuk
On Sat, 13 Jun 2020 10:55:14 +0200 Thomas Monjalon wrote: > The Windows user guide is referencing a general link to download MinGW: > http://mingw-w64.org/doku.php/download > For those who want to install MinGW on Windows, I thing it is simpler > to give this more direct link: > http:

Re: [dpdk-dev] [PATCH 4/4] devtools: add Windows cross-build test with MinGW

2020-06-14 Thread Dmitry Kozlyuk
> It looks to be a false positive, but we need to find a way to remove > the warning with a code change. > > This workaround in lib/librte_eal/common/eal_common_options.c > makes 200% sure the default_set is initialized: > > - if (pthread_getaffinity_np(pthread_self(), sizeof(rte_cpuset_t),

Re: [dpdk-dev] [PATCH v2 22/52] net/ice/base: increase timeout after PFR

2020-06-14 Thread Zhang, Qi Z
> -Original Message- > From: Yigit, Ferruh > Sent: Friday, June 12, 2020 2:38 AM > To: Zhang, Qi Z ; Yang, Qiming > Cc: Ye, Xiaolong ; dev@dpdk.org; Nowlin, Dan > ; Stillwell Jr, Paul M > Subject: Re: [dpdk-dev] [PATCH v2 22/52] net/ice/base: increase timeout after > PFR > > On 6/9/20

[dpdk-dev] [PATCH v3 02/53] net/ice/base: add FDIR program status WB macro

2020-06-14 Thread Qi Zhang
Add descriptor field offset and mask definition. It is used to parse FDIR rx descriptor field value. Signed-off-by: Yahui Cao Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_lan_tx_rx.h | 44 1 file changed, 44 inser

[dpdk-dev] [PATCH v3 01/53] net/ice/base: add support for non-IP Layer2 protocol

2020-06-14 Thread Qi Zhang
FDIR can forward Ethernet packets with non-IP ethertype. Signed-off-by: Yahui Cao Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_fdir.c | 15 +++ drivers/net/ice/base/ice_fdir.h | 2 ++ drivers/net/ice/base/ice_flow.c | 29

[dpdk-dev] [PATCH v3 00/53] net/ice: base code update

2020-06-14 Thread Qi Zhang
Upgrade base with below main changes 1. add more protocol support - L2TPv3/ESP/AH/PFCP. 2. Add IPv6 prefix RSS support. 3. support GENEVE and VXLAN rules with VLAN. 4. Add E823L device IDs 5. couple bug fixes and code clean. v3: - fix commit log base on Ferruh's comment. [PATCH v2 10/52] remove

[dpdk-dev] [PATCH v3 03/53] net/ice/base: disable profile merge for FDIR

2020-06-14 Thread Qi Zhang
For Flow Director, we don't want to re-use an existed profile with the same field vector and mask. Merging two different flow_type’s field vector will also make them sharing trained rule and cause rule interference. For example: issue rule A: IPV4_TCP matching tcp src&dst port 80 to queue 8 issue

[dpdk-dev] [PATCH v3 05/53] net/ice/base: consolidate implementation of MAC config set

2020-06-14 Thread Qi Zhang
Consolidate implementation of ice_aq_set_mac_cfg for switch mode and NIC mode. As per the specification, the driver needs to call set_mac_cfg (opcode 0x0603) to be able to exercise jumbo frames. Signed-off-by: Anirudh Venkataramanan Signed-off-by: Jeb Cramer Signed-off-by: Paul M. Stillwell Jr

[dpdk-dev] [PATCH v3 07/53] net/ice/base: gate devices from FW link override

2020-06-14 Thread Qi Zhang
Currently, the FW link override feature is only permitted for E810 devices. However, the ice_fw_supports_link_override() guards against FW versions irrespective of the device. This assumes FW versions between the families are aligned, which is not the case. Signed-off-by: Jeb Cramer Signed-off-b

[dpdk-dev] [PATCH v3 04/53] net/ice/base: avoid undefined behavior

2020-06-14 Thread Qi Zhang
When writing the driver's struct ice_tlan_ctx structure, do not write the 8-bit element int_q_state with the associated internal-to-hardware field which is 122-bits, otherwise the helper function ice_write_byte() will use undefined behavior when setting the mask used for that write. This should no

[dpdk-dev] [PATCH v3 08/53] net/ice/base: improve VSI filters rebuild

2020-06-14 Thread Qi Zhang
This change improve VSI filter configuration rebuild for multiport configuration, ie. where 1 PF includes more than one logical port. For some functions, association between port and corresponding switch_info or port_info structure has been lost because by default the pointer to the first element o

[dpdk-dev] [PATCH v3 10/53] net/ice/base: fix variable type for ACL

2020-06-14 Thread Qi Zhang
A u8 idx in ice_acl_add_entry causes the code to truncate the values greater than 255 to 255 or less when calling ice_aq_program_acl_entry() resulting in the wrong TCAM index being programmed for the specified rule. The result is that the rule action doesn't work correctly (packets don't get route

[dpdk-dev] [PATCH v3 09/53] net/ice/base: add AUI media type

2020-06-14 Thread Qi Zhang
Add and report AUI PHY types as an AUI media type Signed-off-by: Doug Dziggel Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_common.c | 5 +++-- drivers/net/ice/base/ice_type.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dri

[dpdk-dev] [PATCH v3 06/53] net/ice/base: report AOC PHY Types as Fiber

2020-06-14 Thread Qi Zhang
Report AOC types as fiber instead of unknown Signed-off-by: Doug Dziggel Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_common.c | 12 1 file changed, 12 insertions(+) diff --git a/drivers/net/ice/base/ice_common.c b/drivers/net/ice/base

[dpdk-dev] [PATCH v3 12/53] net/ice/base: consolidate VF Promiscuous mode

2020-06-14 Thread Qi Zhang
Consolidate the Promiscuous rule for SMBM on the chosen logical port. Signed-off-by: Shibin Koikkara Reeny Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_switch.c | 145 ++ 1 file changed, 115 insertions(+), 30 delet

[dpdk-dev] [PATCH v3 11/53] net/ice/base: update PHY type high max index value

2020-06-14 Thread Qi Zhang
As currently, we are supporting only 5 PHY_SPEEDs for phy_type_high. Thus, we should adjust the value of ICE_PHY_TYPE_HIGH_MAX_INDEX to 5. Signed-off-by: Chinh T Cao Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_adminq_cmd.h | 2 +- 1 file changed, 1

[dpdk-dev] [PATCH v3 13/53] net/ice/base: refactor flow director filter swap

2020-06-14 Thread Qi Zhang
Move the swap of flow director addresses and ports into training packet generation. This reduces the code written for ACL. Signed-off-by: Henry Tieman Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_fdir.c | 59 ---

[dpdk-dev] [PATCH v3 16/53] net/ice/base: cleanup comment formatting

2020-06-14 Thread Qi Zhang
Add missing space between end of comment text and comment terminator, and remove unnecessary punctuation. Signed-off-by: Bruce Allan Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_acl.c| 25 +- drivers/net/ice/base/ice_acl_ctrl.

[dpdk-dev] [PATCH v3 15/53] net/ice/base: group function prototypes together

2020-06-14 Thread Qi Zhang
There are some function prototypes at the beginning of the file and some at the end, group them all together so that they are in one consistent location. Signed-off-by: Tony Nguyen Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_fdir.h | 83

[dpdk-dev] [PATCH v3 14/53] net/ice/base: change IPV6 training packet

2020-06-14 Thread Qi Zhang
Add additional UDP payload to allow for additional headers such as ESP. Signed-off-by: Dan Nowlin Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_switch.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/ice/base/ic

[dpdk-dev] [PATCH v3 17/53] net/ice/base: add FDIR support for L2TPV3 ESP AH and PFCP

2020-06-14 Thread Qi Zhang
FDIR can forward: - L2TPV3 packets with session id. - IPSEC ESP packets with security parameter index. - IPSEC AH packets with security parameter index. - NAT_T ESP packets with security parameter index. - PFCP packets with s field value. Signed-off-by: Yahui Cao Signed-off-by: Paul M. Stillwell

[dpdk-dev] [PATCH v3 19/53] net/ice/base: initialize Set PHY Configuration FEC fields

2020-06-14 Thread Qi Zhang
Currently the caller needs to initialize the ice_cfg_phy_fec() parameter ice_aqc_set_phy_cfg_data FEC fields before calling. However, this is not necessary since ice_cfg_phy_fec() calls Get PHY Capabilities. Initialize ice_aqc_set_phy_cfg_data FEC capabilities and FEC option fields from Get PHY Ca

[dpdk-dev] [PATCH v3 20/53] net/ice/baes: add NVM help functions

2020-06-14 Thread Qi Zhang
Add couple functions that DPDK would like to use for accessing the NVM. Signed-off-by: Paul M Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_common.h | 1 - drivers/net/ice/base/ice_nvm.c| 67 +-- drivers/net/ice/base/ice_nvm.h| 10

[dpdk-dev] [PATCH v3 18/53] net/ice/base: add FD completion report option

2020-06-14 Thread Qi Zhang
This patch introduces comp_report variable so that the called can determine whether to report completion on error or on all cases. Signed-off-by: Yahui Cao Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_fdir.c | 2 +- drivers/net/ice/base/ice_fdir.h

[dpdk-dev] [PATCH v3 22/53] net/ice/base: increase timeout after PF Reset

2020-06-14 Thread Qi Zhang
To allow for resets during package download, increase the timeout period after performing a PF Reset. The time waited is the global config lock timeout plus the normal PFSWR timeout. Signed-off-by: Dan Nowlin Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/

[dpdk-dev] [PATCH v3 21/53] net/ice/base: allow GENEVE and VXLAN rules with VLAN

2020-06-14 Thread Qi Zhang
When programming GENEVE and VXLAN switch rules, there are some instances where both VLAN tagged packets plus non-VLAN tagged packets are needed to match the rule. In order to perform this action in one rule, the switch code needs to setup the packet flag mask to ignore the VLAN packet flag. This w

[dpdk-dev] [PATCH v3 24/53] net/ice/base: adjust function signature style format

2020-06-14 Thread Qi Zhang
Where possible, cuddle multiple lines of function signatures to be consistent throughout the code. Signed-off-by: Bruce Allan Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_common.c | 3 +-- drivers/net/ice/base/ice_controlq.c | 9 +++-- driver

[dpdk-dev] [PATCH v3 23/53] net/ice/base: remove unnecessary braces

2020-06-14 Thread Qi Zhang
This patch mainly does cleanups related to unnecessary braces. There might be different opnion to keep braces if more than single line, but the purpose here is trying to sync DPDK's base code with kernel's copy and its more convenient for future update. Signed-off-by: Tony Nguyen Signed-off-by: P

[dpdk-dev] [PATCH v3 25/53] net/ice/base: add RSS support for IPv6 prefix

2020-06-14 Thread Qi Zhang
Some IPv6 prefix related fields are defined in this patch, so that we can use prefixes instead of full IPv6 address for RSS. These prefixes include the first 32, 48, 64 bits of both SRC and DST IPV6 address. Signed-off-by: Junfeng Guo Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang

[dpdk-dev] [PATCH v3 28/53] net/ice/base: return correct error code

2020-06-14 Thread Qi Zhang
Return ICE_ERR_DOES_NOT_EXIST return code if admin command error code is ICE_AQ_RC_ENOENT (not exist). ice_aq_sw_rules is used when switch rule is getting added/deleted/updated. In case of delete/update switch rule, admin command can return ICE_AQ_RC_ENOENT error code if such rule does not exist, h

[dpdk-dev] [PATCH v3 26/53] net/ice/base: use macro for sizeof

2020-06-14 Thread Qi Zhang
The definition of ICE_SW_RULE_RX_TX_ETH_HDR_SIZE open codes the size of a structure field. Replace this with the use of FIELD_SIZEOF. Signed-off-by: Jacob Keller Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_switch.h | 17 - 1 file cha

[dpdk-dev] [PATCH v3 29/53] net/ice/base: remove unnecessary code

2020-06-14 Thread Qi Zhang
Remove unnecessary case branch, since since the the switch and pe pipeline stage is not designed to be handled by the flow module. Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_flow.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/ice/base/ice_flow.c b/drivers/net/ice/b

[dpdk-dev] [PATCH v3 31/53] net/ice/base: reset flags when all rules are deleted

2020-06-14 Thread Qi Zhang
To avoid having stale information about "adv_rule" per recipe, when all rules associated to a given recipe are deleted, reset the "adv_rule" flag otherwise it causes problem later on when decisions about filter rules being present or not are made based on "adv_rule" flag. Removed setting "adv_rule

[dpdk-dev] [PATCH v3 30/53] net/ice/base: add support for more PPPoE packet type

2020-06-14 Thread Qi Zhang
This patch add more dummy packet type for pppoe packet, it enable tcp/udp layer of ipv4/ipv6 for pppoe payload, so we can use L4 dst/src port as input set for switch filter. Signed-off-by: Wei Zhao Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_protoco

[dpdk-dev] [PATCH v3 27/53] net/ice/base: add debug logs

2020-06-14 Thread Qi Zhang
Add debug logs for ice_aq_get_phy_caps(), and format ice_aq_set_phy_cfg() and ice_aq_get_link_info() debug logs to make them more readable. Signed-off-by: Paul Greenwalt Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_common.c | 69 +

[dpdk-dev] [PATCH v3 32/53] net/ice/base: reset capabilities before parsing

2020-06-14 Thread Qi Zhang
The capability flags used to report whether an NVM component has a pending update are stored as simple booleans. If ice_parse_caps finds the relevant capability then the boolean is set to true. If the capability is not provided by firmware, then the boolean value will be left alone. This works dur

[dpdk-dev] [PATCH v3 33/53] net/ice/base: add rate limiting profile bit mask check

2020-06-14 Thread Qi Zhang
Mask bits before accessing the rate limiting profile type field. Signed-off-by: Tarun Singh Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_sched.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/net/ice/base/ice_

[dpdk-dev] [PATCH v3 35/53] net/ice/base: fix return value

2020-06-14 Thread Qi Zhang
Function ice_rem_adv_rule_id return incorrect error code (ICE_ERR_PARAM) whereas it should have returned ICE_ERR_DOES_NOT_EXIST return code if filter list is empty or unable to find "rule" in list Fixes: f89aa3affa9e ("net/ice/base: support removing advanced rule") Cc: sta...@dpdk.org Signed-off-

[dpdk-dev] [PATCH v3 34/53] net/ice/base: update the vsi handle to remaining VSI

2020-06-14 Thread Qi Zhang
When removing VSI from VSI list, if only one VSI left, we need to downgrade a switch rule's action from "to VSI LIST" to "to VSI", So, needs to update the VSI handle to the last remaining VSI for the new action but not the first VSI be added to the list. Signed-off-by: Haiyue Wang Signed-off-by:

[dpdk-dev] [PATCH v3 36/53] net/ice/base: remove unneeded variable

2020-06-14 Thread Qi Zhang
The variable 'adj' is initialized to 0 and later used in an addition, but the value is never changed from 0. Remove the variable since it's doing nothing. Signed-off-by: Tony Nguyen Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_flow.c | 3 +-- 1 file

[dpdk-dev] [PATCH v3 39/53] net/ice/base: remove unimplemented function prototypes

2020-06-14 Thread Qi Zhang
There are no implementations for these two functions so remove the prototypes. Signed-off-by: Tony Nguyen Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_fdir.h | 5 - 1 file changed, 5 deletions(-) diff --git a/drivers/net/ice/base/ice_fdir.h b/dr

[dpdk-dev] [PATCH v3 38/53] net/ice/base: add entries in Profile TCAM with priority

2020-06-14 Thread Qi Zhang
The profile TCAM tables are implemented such that entries with a smaller index in the table have a higher priority. When records to be added to the table have flags to differentiate between standard PTG and VSIG records, then these entries need to have higher priority in order to be found and proce

[dpdk-dev] [PATCH v3 37/53] net/ice/base: fix for memory leak

2020-06-14 Thread Qi Zhang
Handles memory leaks during control queue initialization and buffer allocation failures. The MACRO - ICE_FREE_CQ_BUFS is modified to re-use for this fix. Fixes: 6c1f26be50a2 ("net/ice/base: add control queue information") Cc: sta...@dpdk.org Signed-off-by: Surabhi Boob Signed-off-by: Paul M. Sti

[dpdk-dev] [PATCH v3 40/53] net/ice/base: support checking all autoneg enable bits

2020-06-14 Thread Qi Zhang
struct ice_aqc_get_phy_caps_data has multiple autoneg enable bits. ice_is_phy_caps_an_enabled checks all bits and returns true if any autoneg enable bits are set. Signed-off-by: Paul Greenwalt Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_common.c | 1

[dpdk-dev] [PATCH v3 41/53] net/ice/base: avoid PPPoE ipv4 overlap

2020-06-14 Thread Qi Zhang
When PPPOE header is not selected, pppoe should not be included in ipv4 ptype bitmaps. Signed-off-by: Yahui Cao Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_flow.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/ne

[dpdk-dev] [PATCH v3 43/53] net/ice/base: adjust scheduler default bandwidth weight

2020-06-14 Thread Qi Zhang
By default the queues are configured in legacy mode. The default bandwidth settings for legacy/advanced modes are different. The existing code was using the advanced mode default value of 1 which was incorrect. This caused the unbalanced BW sharing among siblings. The recommended default value is a

[dpdk-dev] [PATCH v3 45/53] net/ice/base: add a new command to LLDP commands

2020-06-14 Thread Qi Zhang
Add support for LLDP forwarding to SW programming in FW LLDP Filter Control is 0x0A0A. Signed-off-by: Sharon Haroni Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_adminq_cmd.h | 14 ++ 1 file changed, 14 insertions(+) diff --git a/drivers/

[dpdk-dev] [PATCH v3 46/53] net/ice/base: remove unused code for VSI list free

2020-06-14 Thread Qi Zhang
When free vsi list resource after vsi list update to empty, some useless code in function ice_remove_vsi_list_rule() should be deleted. Signed-off-by: Wei Zhao Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_switch.c | 17 + 1 file chang

[dpdk-dev] [PATCH v3 44/53] net/ice/base: distribute Tx queues evenly

2020-06-14 Thread Qi Zhang
Distribute the tx queues evenly across all queue groups. This will help the queues to get more equal sharing among the queues when all are in use. In the previous algorithm, the next queue group node will be picked up only after the previous one filled with max children. For example: if VSI is con

[dpdk-dev] [PATCH v3 42/53] net/ice/base: initialize AQ failure variable when set fc

2020-06-14 Thread Qi Zhang
ice_set_fc takes a u8 pointer 'aq_failures' as an input parameter. If this function encounters an error, in addition to returning an appropriate ice_status enum code, it also populates aq_failures with a link specific error value. If the caller does not initialize this variable to 0 before calling

[dpdk-dev] [PATCH v3 47/53] net/ice/base: fix reference count when update VSI list

2020-06-14 Thread Qi Zhang
The parameter ref_cnt is used for tracking how many rules are reusing this VSI list, so it can only be updated when a rule which using this list be deleted. Fixes: f89aa3affa9e ("net/ice/base: support removing advanced rule") Cc: sta...@dpdk.org Signed-off-by: Wei Zhao Signed-off-by: Paul M. Sti

[dpdk-dev] [PATCH v3 51/53] net/ice/base: add 1G SGMII PHY type

2020-06-14 Thread Qi Zhang
There isn't a case for 1G SGMII in ice_get_media_type() so add the handling for it. Also handle the special case where some direct attach cables may report that they support 1G SGMII, but that is erroneous since SGMII is supposed to be a backplane media type (between a MAC and a PHY). If the drive

[dpdk-dev] [PATCH v3 49/53] net/ice/base: fix uninitialized flag for result index bitmap

2020-06-14 Thread Qi Zhang
This patch add initialization for prof_res_bm_init flag to zero in order that the possible resource for field vector in the package file can be initialized.(in ice_init_prof_result_bm) Fixes: 453d087ccaff ("net/ice/base: add common functions") Cc: sta...@dpdk.org Signed-off-by: Wei Zhao Signed-o

[dpdk-dev] [PATCH v3 52/53] net/ice/base: update IPV4 and IPV6 flow ptype masks

2020-06-14 Thread Qi Zhang
In the flow API, add ability to add IPV4/IPV6 rules that match on packets with or without inner L4 protocols. Signed-off-by: Dan Nowlin Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_flow.c | 168 ++ drivers/net/ic

[dpdk-dev] [PATCH v3 50/53] net/ice/base: add more device ID support

2020-06-14 Thread Qi Zhang
Add support for E823L devices. Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_common.c | 5 + drivers/net/ice/base/ice_devids.h | 10 ++ drivers/net/ice/base/ice_nvm.c| 5 + drivers/net/ice/ice_ethdev.c | 5 + 4 files changed, 25 insertions(+) diff --git a/

[dpdk-dev] [PATCH v3 48/53] net/ice/base: add more tunnel type for IPv4 and IPv6

2020-06-14 Thread Qi Zhang
This patch add more tunnel type definition ipv4/ipv6 packet, it enable tcp/udp layer of ipv4/ipv6 as L4 payload but without L4 dst/src port number as input set for switch filter rule. For example: we can download a switch rule to direct ipv4 packet with specific source and destination ip address t

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

2020-06-14 Thread Pei Zhang
Hi Luca, Testing with dpdk v19.11.3-rc1 from Red Hat looks good. We cover below 14 scenarios and and all get PASS on RHEL8 testing: (1)Guest with device assignment(PF) throughput testing(1G hugepage size): PASS (2)Guest with device assignment(PF) throughput testing(2M hugepage size) : PASS (3)Gu

[dpdk-dev] [PATCH v3 53/53] net/ice/base: remove PPPoD from PPPoE bitmap

2020-06-14 Thread Qi Zhang
Remove PPPoD's packet type from PPPoE's ptype bitmap. Signed-off-by: Dan Nowlin Signed-off-by: Paul M. Stillwell Jr Signed-off-by: Qi Zhang --- drivers/net/ice/base/ice_flow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ice/base/ice_flow.c b/drivers/net/ice/

[dpdk-dev] [PATCH v2 3/5] app/testpmd: re-implement commands by using private API

2020-06-14 Thread Chenxu Di
The legacy filter API will be superseded. This patch use private api to change the implementation of commands global_config gre-key-len and show port fdir Signed-off-by: Chenxu Di --- app/test-pmd/cmdline.c | 23 - app/test-pmd/config.c | 74 +++---

[dpdk-dev] [PATCH v2 0/5] re-implement legacy filter functions by private API

2020-06-14 Thread Chenxu Di
The legacy filter API will be superseded by rte_flow. There are also several small features which can not be implemented in rte_flow. This patch re-implemented features get_fdir_info, get_fdir_stat and set_gre_key_len as private API. This patch also enable RSS action in flow query. v2: -fixed the

[dpdk-dev] [PATCH v2 1/5] net/i40e: add private APIs

2020-06-14 Thread Chenxu Di
The legacy filter API will be superseded by rte_flow. There are also several small features which can not be implemented in rte_flow. This patch re-implemented these features as private API. Three APIs are added: rte_pmd_i40e_get_fdir_info. rte_pmd_i40e_get_fdir_stats. rte_pmd_i40e_set_gre_key_len.

[dpdk-dev] [PATCH v2 2/5] net/ixgbe: add private APIs

2020-06-14 Thread Chenxu Di
The legacy filter API will be superseded by rte_flow. There are also several small features which can not be implemented in rte_flow. This patch re-implemented these features as private API. Two APIs are added: rte_pmd_ixgbe_get_fdir_info. rte_pmd_ixgbe_get_fdir_stats. Signed-off-by: Chenxu Di --

[dpdk-dev] [PATCH v2 5/5] app/testpmd: support query RSS config in flow query

2020-06-14 Thread Chenxu Di
This patch support RSS action in flow query. It can display the RSS configuration of the specified rule. Signed-off-by: Chenxu Di --- app/test-pmd/config.c | 55 +++ 1 file changed, 55 insertions(+) diff --git a/app/test-pmd/config.c b/app/test-pmd/config

[dpdk-dev] [PATCH v2 4/5] net/i40e: enable flow query RSS

2020-06-14 Thread Chenxu Di
This patch enables flow query function to get the configuration ofthe specified rule. Signed-off-by: Chenxu Di --- drivers/net/i40e/i40e_flow.c | 51 1 file changed, 51 insertions(+) diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c in

Re: [dpdk-dev] [PATCH 00/21] update ixgbe base code

2020-06-14 Thread Zhao1, Wei
Hi, Guinan > -Original Message- > From: dev On Behalf Of Guinan Sun > Sent: Friday, June 12, 2020 11:24 AM > To: dev@dpdk.org > Cc: Sun, GuinanX > Subject: [dpdk-dev] [PATCH 00/21] update ixgbe base code > > update ixgbe base code. > > Guinan Sun (21): > net/ixgbe/base: clear VFMBMEM

Re: [dpdk-dev] [PATCH 00/21] update ixgbe base code

2020-06-14 Thread Sun, GuinanX
Hi zhaowei > -Original Message- > From: Zhao1, Wei > Sent: Monday, June 15, 2020 1:47 PM > To: Sun, GuinanX ; dev@dpdk.org > Cc: Sun, GuinanX > Subject: RE: [dpdk-dev] [PATCH 00/21] update ixgbe base code > > Hi, Guinan > > > -Original Message- > > From: dev On Behalf Of Guinan

Re: [dpdk-dev] [PATCH v9 03/12] eal: introduce memory management wrappers

2020-06-14 Thread Kinsella, Ray
On 15/06/2020 01:43, Dmitry Kozlyuk wrote: > Introduce OS-independent wrappers for memory management operations used > across DPDK and specifically in common code of EAL: > > * rte_mem_map() > * rte_mem_unmap() > * rte_mem_page_size() > * rte_mem_lock() > > Windows uses different APIs for memory

Re: [dpdk-dev] [PATCH] net/i40e: enable port filter by switch filter

2020-06-14 Thread Zhao1, Wei
Hi, Guinan > -Original Message- > From: dev On Behalf Of Guinan Sun > Sent: Thursday, June 11, 2020 1:24 PM > To: dev@dpdk.org > Cc: Xing, Beilei ; Guo, Jia ; Sun, > GuinanX > Subject: [dpdk-dev] [PATCH] net/i40e: enable port filter by switch filter > > This patch enables the filter tha

Re: [dpdk-dev] [PATCH] net/i40e: enable port filter by switch filter

2020-06-14 Thread Sun, GuinanX
Hi zhaowei > -Original Message- > From: Zhao1, Wei > Sent: Monday, June 15, 2020 2:13 PM > To: Sun, GuinanX ; dev@dpdk.org > Cc: Xing, Beilei ; Guo, Jia ; Sun, > GuinanX > Subject: RE: [dpdk-dev] [PATCH] net/i40e: enable port filter by switch filter > > Hi, Guinan > > > -Original Me

  1   2   >