[dpdk-dev] [PATCH v2] net/mlx5: fix memory region cache init

2018-05-26 Thread Xueming Li
This patch moved MR cache init from device configuration function to probe function to make sure init only once. Fixes: 974f1e7ef146 ("net/mlx5: add new memory region support") Cc: ys...@mellanox.com Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5.c| 13 + d

[dpdk-dev] [PATCH] app/testpmd: distribute queues to cores

2018-05-26 Thread Xueming Li
r one get no forwarding. Performance is bad as only one core doing forwarding in such case. This patch distributes forwarding streams by queue, try to get streams of each port handled by different lcore: lcore 0: P0Q0->P1Q0, P1Q0->P1Q0 locre 1: P0Q1->P0Q1, P1Q1->P0Q1 S

[dpdk-dev] [RFC v1] ethdev: add flow metadata

2018-06-07 Thread Xueming Li
bits metadata fields defined for HW that support multiple metadata fields. Cc: Thomas Monjalon Cc: Olivier Matz Cc: Shahaf Shuler Signed-off-by: Xueming Li --- doc/guides/prog_guide/rte_flow.rst | 7 +++ lib/librte_ethdev/rte_flow.c | 1 + lib/librte_ethdev/rte_flow.h | 28

[dpdk-dev] [RFC v1] net/mlx5: support multiple flow priorities

2018-06-08 Thread Xueming Li
, lower 3 for non-tunnels. NICs that have 8 Verbs priorities only support 1 user prioirty: User tunnel Verbs flows:0 - 2 User non-tunnel Verbs flows:2 - 4 control Verbs flows:5 - 8 Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5.c | 8

[dpdk-dev] [PATCH v4 0/4] support Tx generic tunnel checksum and TSO

2018-04-08 Thread Xueming Li
generic tunnel type. Xueming Li (4): ethdev: introduce Tx generic tunnel L3/L4 offload app/testpmd: testpmd support Tx generic tunnel offloads app/testpmd: add more GRE extension to csum engine app/testpmd: introduce VXLAN GPE to csum forwarding engine app/test-pmd/cmdline.c

[dpdk-dev] [PATCH v4 4/4] app/testpmd: introduce VXLAN GPE to csum forwarding engine

2018-04-08 Thread Xueming Li
This patch introduced VXLAN-GPE support to csum forwarding engine by recognizing VXLAN-GPE UDP port and parsing tunnel payload according to next-protocol type. Signed-off-by: Xueming Li --- app/test-pmd/csumonly.c | 96 +-- app/test-pmd/parameters.c

[dpdk-dev] [PATCH v4 2/4] app/testpmd: testpmd support Tx generic tunnel offloads

2018-04-08 Thread Xueming Li
"show port cap" and "csum parse tunnel" command support TX generic tunnel offloads Signed-off-by: Xueming Li --- app/test-pmd/cmdline.c | 14 -- app/test-pmd/config.c | 17 + app/test-pmd/csumonly.c | 3 ++- 3 files changed, 31 insertions(+),

[dpdk-dev] [PATCH v4 3/4] app/testpmd: add more GRE extension to csum engine

2018-04-08 Thread Xueming Li
This patch adds GRE checksum and sequence extension supports in addtion to key extension to csum forwarding engine. Signed-off-by: Xueming Li --- app/test-pmd/csumonly.c | 20 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/app/test-pmd/csumonly.c b/app/test

[dpdk-dev] [PATCH v4 1/4] ethdev: introduce generic IP/UDP tunnel checksum and TSO

2018-04-08 Thread Xueming Li
. Signed-off-by: Xueming Li --- lib/librte_ether/rte_ethdev.h | 4 lib/librte_mbuf/rte_mbuf.c| 6 ++ lib/librte_mbuf/rte_mbuf.h| 2 ++ 3 files changed, 12 insertions(+) diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 5c8af16f5..a3ae43cdc 100644

[dpdk-dev] [PATCH 0/3] mlx5 support Tx generic tunnel checksum and TSO

2018-04-08 Thread Xueming Li
This patchset introduced Tx generic tunnel checksum and TSO offload to mlx5 PMD. This patchset relies on new ethdev API of: http://www.dpdk.org/dev/patchwork/patch/37519/ Xueming Li (3): net/mlx5: separate TSO function in Tx data path net/mlx5: support generic tunnel offloading net

[dpdk-dev] [PATCH 2/3] net/mlx5: support generic tunnel offloading

2018-04-08 Thread Xueming Li
This commit adds support for generic tunnel TSO and checksum offload. PMD will compute the inner/outer headers offset according to the mbuf fields. Hardware will do calculation based on offsets and types. Signed-off-by: Xueming Li --- drivers/net/mlx5/Makefile | 5 ++ drivers/net

[dpdk-dev] [PATCH 1/3] net/mlx5: separate TSO function in Tx data path

2018-04-08 Thread Xueming Li
Separate TSO function to make logic of mlx5_tx_burst clear. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_rxtx.c | 112 ++- 1 file changed, 67 insertions(+), 45 deletions(-) diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c

[dpdk-dev] [PATCH 3/3] net/mlx5: allow max 192B TSO inline header length

2018-04-08 Thread Xueming Li
Change max inline header length to 192B to allow IPv6 VXLAN TSO headers and header with options that more than 128B. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_defs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_defs.h b/drivers/net/mlx5

[dpdk-dev] [PATCH v1 2/2] app/testpmd: config all supported RSS functions

2018-04-09 Thread Xueming Li
Only configure RSS hash functions supported by the device. Signed-off-by: Xueming Li --- app/test-pmd/cmdline.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 40b31ad7e..c41dd71ce 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test

[dpdk-dev] [PATCH v1 1/2] ethdev: add supported hash function check

2018-04-09 Thread Xueming Li
Add supported RSS hash function check in device configuration to have better error verbosity for application developers. Signed-off-by: Xueming Li --- lib/librte_ether/rte_ethdev.c | 21 + 1 file changed, 21 insertions(+) diff --git a/lib/librte_ether/rte_ethdev.c b/lib

[dpdk-dev] [PATCH v2 3/5] ethdev: introduce tunnel type MPLS-in-GRE and MPLS-in-UDP

2018-04-10 Thread Xueming Li
This patch adds new tunnel type for MPLS-in-GRE and MPLS-in-UDP. MPLS-in-GRE protocol link: https://tools.ietf.org/html/rfc4023 MPLS-in-UDP protocol link: https://tools.ietf.org/html/rfc7510 Signed-off-by: Xueming Li --- lib/librte_mbuf/rte_mbuf_ptype.c | 2 ++ lib/librte_mbuf

[dpdk-dev] [PATCH v2 1/5] doc: remove RSS configuration change announcement

2018-04-10 Thread Xueming Li
Remove deprecation as implementation of RSS level provided in Adrien's patch set: http://www.dpdk.org/dev/patchwork/patch/37399/ Signed-off-by: Xueming Li --- doc/guides/rel_notes/deprecation.rst | 4 1 file changed, 4 deletions(-) diff --git a/doc/guides/rel_notes/deprecation.rst

[dpdk-dev] [PATCH v2 0/5] introduce new tunnel types

2018-04-10 Thread Xueming Li
://datatracker.ietf.org/doc/draft-ietf-nvo3-vxlan-gpe/ - New tunnel type MPLS-in-GRE https://tools.ietf.org/html/rfc4023 - New tunnel type MPLS-in-UDP https://tools.ietf.org/html/rfc7510 - Support GRE extension in testpmd csum forwarding engine Xueming Li (5): doc: remove RSS configuration change announcement

[dpdk-dev] [PATCH v2 2/5] ethdev: introduce new tunnel VXLAN-GPE

2018-04-10 Thread Xueming Li
VXLAN-GPE enables VXLAN for all protocols. Protocol link: https://datatracker.ietf.org/doc/draft-ietf-nvo3-vxlan-gpe/ Signed-off-by: Xueming Li --- lib/librte_ether/rte_eth_ctrl.h | 3 ++- lib/librte_ether/rte_flow.c | 1 + lib/librte_ether/rte_flow.h | 27

[dpdk-dev] [PATCH v2 5/5] app/testpmd: add more GRE extension support to csum engine

2018-04-10 Thread Xueming Li
This patch adds GRE checksum and sequence extension supports in addtion to key extension to csum forwarding engine. Signed-off-by: Xueming Li --- app/test-pmd/csumonly.c | 20 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/app/test-pmd/csumonly.c b/app/test

[dpdk-dev] [PATCH v2 4/5] app/testpmd: introduce new tunnel VXLAN-GPE

2018-04-10 Thread Xueming Li
Add VXLAN-GPE support to csum forwarding engine and rte flow. Signed-off-by: Xueming Li --- app/test-pmd/cmdline_flow.c | 24 ++ app/test-pmd/config.c | 2 + app/test-pmd/csumonly.c | 83 +-- app/test-pmd

[dpdk-dev] [PATCH v2 00/15] mlx5 Rx tunnel offloading

2018-04-10 Thread Xueming Li
ports MLX5 Rx tunnel checksum, inner rss, inner ptype offloading of following tunnel types: - Standard VXLAN - L3 VXLAN (no inner ethernet header) - VXLAN-GPE - MPLS-in-GRE - MPLS-in-GPE Xueming Li (15): net/mlx5: support 16 hardware priorities net/mlx5: support GRE tunnel flow net/mlx5: suppo

[dpdk-dev] [PATCH v2 04/15] net/mlx5: support Rx tunnel type identification

2018-04-10 Thread Xueming Li
This patch introduced tunnel type identification based on flow rules. If flows of multiple tunnel types built on same queue, RTE_PTYPE_TUNNEL_MASK will be returned, bits in flow mark could be used as tunnel type identifier. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c

[dpdk-dev] [PATCH v2 02/15] net/mlx5: support GRE tunnel flow

2018-04-10 Thread Xueming Li
Support GRE tunnel type flow. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 69 +++- 1 file changed, 62 insertions(+), 7 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 394760418..026952b46

[dpdk-dev] [PATCH v2 01/15] net/mlx5: support 16 hardware priorities

2018-04-10 Thread Xueming Li
Adjust flow priority mapping to adapt new hardware 16 verb flow priorites support: 0-3: RTE FLOW tunnel rule 4-7: RTE FLOW non-tunnel rule 8-15: PMD control flow Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5.c | 10 drivers/net/mlx5/mlx5.h | 8 +++ drivers/net/mlx5

[dpdk-dev] [PATCH v2 03/15] net/mlx5: support L3 vxlan flow

2018-04-10 Thread Xueming Li
This patch add L3 vxlan support, no inner L2 header comparing to standard vxlan protocol. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 026952b46

[dpdk-dev] [PATCH v2 05/15] net/mlx5: support tunnel inner checksum offloads

2018-04-10 Thread Xueming Li
identified. If no tunnel identified, PKT_RX_IP_CKSUM_XXX and PKT_RX_L4_CKSUM_XXX represent checksum result of outer L3 and L4 headers. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 7 +-- drivers/net/mlx5/mlx5_rxq.c | 2 -- drivers/net/mlx5/mlx5_rxtx.c | 18

[dpdk-dev] [PATCH v2 06/15] net/mlx5: split flow RSS handling logic

2018-04-10 Thread Xueming Li
This patch split out flow RSS hash field handling logic to dedicate function. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 94 +--- 1 file changed, 53 insertions(+), 41 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net

[dpdk-dev] [PATCH v2 08/15] net/mlx5: add hardware flow debug dump

2018-04-10 Thread Xueming Li
Dump verb flow detail including flow spec type and size for debugging purpose. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 68 --- drivers/net/mlx5/mlx5_rxq.c | 25 +--- drivers/net/mlx5/mlx5_utils.h | 6 3 files

[dpdk-dev] [PATCH v2 07/15] net/mlx5: support tunnel RSS level

2018-04-10 Thread Xueming Li
RSS: flow create 0 ingress pattern eth / ipv4 proto is 47 / gre / end actions rss queues 1 2 end level 0 / end Signed-off-by: Xueming Li --- drivers/net/mlx5/Makefile| 2 +- drivers/net/mlx5/mlx5_flow.c | 249 ++- drivers/net/mlx5/mlx5_glue.c | 16

[dpdk-dev] [PATCH v2 10/15] net/mlx5: allow flow tunnel ID 0 with outer pattern

2018-04-10 Thread Xueming Li
Tunnel w/o tunnel id pattern could match any non-tunneled packet, this patch allowed tunnel w/o tunnel id pattern after proper outer spec. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5

[dpdk-dev] [PATCH v2 12/15] doc: update mlx5 guide on tunnel offloading

2018-04-10 Thread Xueming Li
Remove tunnel limitations, add new hardware tunnel offload features. Signed-off-by: Xueming Li --- doc/guides/nics/mlx5.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index b1bab2ce2..c256f85f3 100644 --- a/doc

[dpdk-dev] [PATCH v2 09/15] net/mlx5: introduce VXLAN-GPE tunnel type

2018-04-10 Thread Xueming Li
Add VXLAN-GPE support to rte flow. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 95 +++- drivers/net/mlx5/mlx5_rxtx.c | 3 +- 2 files changed, 95 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5

[dpdk-dev] [PATCH v2 11/15] net/mlx5: support MPLS-in-GRE and MPLS-in-UDP

2018-04-10 Thread Xueming Li
This patch supports new tunnel type MPLS-in-GRE and MPLS-in-UDP. Flow pattern example: ipv4 proto is 47 / gre proto is 0x8847 / mpls ipv4 / udp dst is 6635 / mpls / end Signed-off-by: Xueming Li --- drivers/net/mlx5/Makefile| 5 ++ drivers/net/mlx5/mlx5.c | 15 + drivers/net

[dpdk-dev] [PATCH v2 15/15] net/mlx5: support RSS configuration in isolated mode

2018-04-10 Thread Xueming Li
Enable RSS related configuration in isolated mode. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 2124439b3..ad36d51c6 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net

[dpdk-dev] [PATCH v2 13/15] net/mlx5: setup RSS flow regardless of queue count

2018-04-10 Thread Xueming Li
processes, or even virtual machines if the application is a virtual switch. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 71 +++- 1 file changed, 30 insertions(+), 41 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5

[dpdk-dev] [PATCH v2 14/15] net/mlx5: fix invalid flow item check

2018-04-10 Thread Xueming Li
This patch fixed invalid flow item check. Fixes: 4f1a88e3f9b0 ("net/mlx5: standardize on negative errno values") Cc: nelio.laranje...@6wind.com Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/driver

[dpdk-dev] [PATCH v3 0/5] introduce new tunnel types

2018-04-12 Thread Xueming Li
engine Xueming Li (5): doc: remove RSS configuration change announcement ethdev: introduce new tunnel VXLAN-GPE ethdev: introduce tunnel type MPLS-in-GRE and MPLS-in-UDP app/testpmd: introduce new tunnel VXLAN-GPE app/testpmd: add more GRE extension support to csum engine app/test-pmd

[dpdk-dev] [PATCH v3 1/5] doc: remove RSS configuration change announcement

2018-04-12 Thread Xueming Li
Remove deprecation as implementation of RSS level provided in Adrien's patch set: http://www.dpdk.org/dev/patchwork/patch/37399/ Signed-off-by: Xueming Li Acked-by: Adrien Mazarguil --- doc/guides/rel_notes/deprecation.rst | 4 1 file changed, 4 deletions(-) diff --git a/doc/g

[dpdk-dev] [PATCH v3 2/5] ethdev: introduce new tunnel VXLAN-GPE

2018-04-12 Thread Xueming Li
VXLAN-GPE enables VXLAN for all protocols. Protocol link: https://www.ietf.org/id/draft-ietf-nvo3-vxlan-gpe-05.txt Signed-off-by: Xueming Li --- doc/guides/prog_guide/rte_flow.rst | 12 lib/librte_ether/rte_eth_ctrl.h| 3 ++- lib/librte_ether/rte_flow.c| 1 + lib

[dpdk-dev] [PATCH v3 5/5] app/testpmd: add more GRE extension support to csum engine

2018-04-12 Thread Xueming Li
This patch adds GRE checksum and sequence extension supports in addtion to key extension to csum forwarding engine. Signed-off-by: Xueming Li --- app/test-pmd/csumonly.c | 20 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/app/test-pmd/csumonly.c b/app/test

[dpdk-dev] [PATCH v3 3/5] ethdev: introduce tunnel type MPLS-in-GRE and MPLS-in-UDP

2018-04-12 Thread Xueming Li
This patch adds new tunnel type for MPLS-in-GRE and MPLS-in-UDP. MPLS-in-GRE protocol link: https://tools.ietf.org/html/rfc4023 MPLS-in-UDP protocol link: https://tools.ietf.org/html/rfc7510 Signed-off-by: Xueming Li Acked-by: Adrien Mazarguil --- lib/librte_mbuf/rte_mbuf_ptype.c | 2

[dpdk-dev] [PATCH v3 4/5] app/testpmd: introduce new tunnel VXLAN-GPE

2018-04-12 Thread Xueming Li
Add VXLAN-GPE support to csum forwarding engine and rte flow. Signed-off-by: Xueming Li --- app/test-pmd/cmdline_flow.c | 24 ++ app/test-pmd/config.c | 2 + app/test-pmd/csumonly.c | 83 +-- app/test-pmd

[dpdk-dev] [PATCH v4 0/5] introduce new tunnel types

2018-04-13 Thread Xueming Li
- Support GRE extension in testpmd csum forwarding engine Xueming Li (5): doc: remove RSS configuration change announcement ethdev: introduce new tunnel VXLAN-GPE ethdev: introduce tunnel type MPLS-in-GRE and MPLS-in-UDP app/testpmd: introduce new tunnel VXLAN-GPE app/testpmd: add more

[dpdk-dev] [PATCH v4 2/5] ethdev: introduce new tunnel VXLAN-GPE

2018-04-13 Thread Xueming Li
VXLAN-GPE enables VXLAN for all protocols. Protocol link: https://www.ietf.org/id/draft-ietf-nvo3-vxlan-gpe-05.txt Signed-off-by: Xueming Li Acked-by: Adrien Mazarguil --- doc/guides/prog_guide/rte_flow.rst | 12 lib/librte_ether/rte_eth_ctrl.h| 3 ++- lib/librte_ether

[dpdk-dev] [PATCH v4 4/5] app/testpmd: introduce new tunnel VXLAN-GPE

2018-04-13 Thread Xueming Li
Add VXLAN-GPE support to csum forwarding engine and rte flow. Signed-off-by: Xueming Li Acked-by: Adrien Mazarguil --- app/test-pmd/cmdline_flow.c | 24 + app/test-pmd/config.c | 2 + app/test-pmd/csumonly.c | 83

[dpdk-dev] [PATCH v4 5/5] app/testpmd: add more GRE extension support to csum engine

2018-04-13 Thread Xueming Li
This patch adds GRE checksum and sequence extension supports in addtion to key extension to csum forwarding engine. Signed-off-by: Xueming Li --- app/test-pmd/csumonly.c | 20 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/app/test-pmd/csumonly.c b/app/test

[dpdk-dev] [PATCH v4 1/5] doc: remove RSS configuration change announcement

2018-04-13 Thread Xueming Li
Remove deprecation as implementation of RSS level provided in Adrien's patch set: http://www.dpdk.org/dev/patchwork/patch/37399/ Signed-off-by: Xueming Li Acked-by: Adrien Mazarguil --- doc/guides/rel_notes/deprecation.rst | 4 1 file changed, 4 deletions(-) diff --git a/doc/g

[dpdk-dev] [PATCH v4 3/5] ethdev: introduce tunnel type MPLS-in-GRE and MPLS-in-UDP

2018-04-13 Thread Xueming Li
This patch adds new tunnel type for MPLS-in-GRE and MPLS-in-UDP. MPLS-in-GRE protocol link: https://tools.ietf.org/html/rfc4023 MPLS-in-UDP protocol link: https://tools.ietf.org/html/rfc7510 Signed-off-by: Xueming Li Acked-by: Adrien Mazarguil --- lib/librte_mbuf/rte_mbuf_ptype.c | 2

[dpdk-dev] [PATCH v3 01/14] net/mlx5: support 16 hardware priorities

2018-04-13 Thread Xueming Li
ser normal flow: 1-3 4-7 User tunnel flow: 0-2 0-3 Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5.c | 18 +++ drivers/net/mlx5/mlx5.h | 5 ++ drivers/net/mlx5/mlx5_flow.c| 112 +--- drivers/

[dpdk-dev] [PATCH v3 00/14] mlx5 Rx tunnel offloading

2018-04-13 Thread Xueming Li
MPLS-in-GRE and MPLS-in-UDP - Remove deprecation notes of rss level This patchset supports MLX5 Rx tunnel checksum, inner rss, inner ptype offloading of following tunnel types: - Standard VXLAN - L3 VXLAN (no inner ethernet header) - VXLAN-GPE - MPLS-in-GRE - MPLS-in-GPE Xueming Li (14): net

[dpdk-dev] [PATCH v3 03/14] net/mlx5: support L3 VXLAN flow

2018-04-13 Thread Xueming Li
IP_OVER_VXLAN_PORT= Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 2aae988f2..644f26a95 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5

[dpdk-dev] [PATCH v3 05/14] net/mlx5: cleanup tunnel checksum offloads

2018-04-13 Thread Xueming Li
, PKT_RX_IP_CKSUM_XXX and PKT_RX_L4_CKSUM_XXX represent checksum result of outer L3 and L4 headers. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_rxq.c | 2 -- drivers/net/mlx5/mlx5_rxtx.c | 18 -- drivers/net/mlx5/mlx5_rxtx.h | 1 - 3 files changed, 4 insertions(+), 17

[dpdk-dev] [PATCH v3 02/14] net/mlx5: support GRE tunnel flow

2018-04-13 Thread Xueming Li
Support GRE tunnel type flow. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 69 +++- 1 file changed, 62 insertions(+), 7 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 5c4f0b586..2aae988f2

[dpdk-dev] [PATCH v3 10/14] net/mlx5: allow flow tunnel ID 0 with outer pattern

2018-04-13 Thread Xueming Li
Tunnel w/o tunnel id pattern could match any non-tunneled packet, this patch allowed tunnel w/o tunnel id pattern after proper outer spec. Signed-off-by: Xueming Li Acked-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5_flow.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a

[dpdk-dev] [PATCH v3 06/14] net/mlx5: split flow RSS handling logic

2018-04-13 Thread Xueming Li
This patch split out flow RSS hash field handling logic to dedicate function. Signed-off-by: Xueming Li Acked-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5_flow.c | 114 --- 1 file changed, 63 insertions(+), 51 deletions(-) diff --git a/drivers/net

[dpdk-dev] [PATCH v3 04/14] net/mlx5: support Rx tunnel type identification

2018-04-13 Thread Xueming Li
This patch introduced tunnel type identification based on flow rules. If flows of multiple tunnel types built on same queue, RTE_PTYPE_TUNNEL_MASK will be returned, user application could use bits in flow mark as tunnel type identifier. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c

[dpdk-dev] [PATCH v3 07/14] net/mlx5: support tunnel RSS level

2018-04-13 Thread Xueming Li
RSS: flow create 0 ingress pattern eth / ipv4 proto is 47 / gre / end actions rss queues 1 2 end level 0 / end Signed-off-by: Xueming Li --- drivers/net/mlx5/Makefile| 2 +- drivers/net/mlx5/mlx5_flow.c | 247 +-- drivers/net/mlx5/mlx5_glue.c | 16

[dpdk-dev] [PATCH v3 08/14] net/mlx5: add hardware flow debug dump

2018-04-13 Thread Xueming Li
Dump verb flow detail including flow spec type and size for debugging purpose. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 68 --- drivers/net/mlx5/mlx5_rxq.c | 25 +--- drivers/net/mlx5/mlx5_utils.h | 6 3 files

[dpdk-dev] [PATCH v3 11/14] net/mlx5: support MPLS-in-GRE and MPLS-in-UDP

2018-04-13 Thread Xueming Li
This patch supports new tunnel type MPLS-in-GRE and MPLS-in-UDP. Flow pattern example: ipv4 proto is 47 / gre proto is 0x8847 / mpls ipv4 / udp dst is 6635 / mpls / end Signed-off-by: Xueming Li --- drivers/net/mlx5/Makefile| 5 ++ drivers/net/mlx5/mlx5.c | 15 + drivers/net

[dpdk-dev] [PATCH v3 14/14] net/mlx5: support RSS configuration in isolated mode

2018-04-13 Thread Xueming Li
Enable RSS related configuration in isolated mode. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 89b683d6e..521f60c18 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net

[dpdk-dev] [PATCH v3 09/14] net/mlx5: introduce VXLAN-GPE tunnel type

2018-04-13 Thread Xueming Li
Add VXLAN-GPE support to rte flow. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 95 +++- drivers/net/mlx5/mlx5_rxtx.c | 3 +- 2 files changed, 95 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5

[dpdk-dev] [PATCH v3 12/14] doc: update mlx5 guide on tunnel offloading

2018-04-13 Thread Xueming Li
Remove tunnel limitations, add new hardware tunnel offload features. Signed-off-by: Xueming Li --- doc/guides/nics/mlx5.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index b1bab2ce2..c256f85f3 100644 --- a/doc

[dpdk-dev] [PATCH v3 13/14] net/mlx5: fix invalid flow item check

2018-04-13 Thread Xueming Li
This patch fixed invalid flow item check. Fixes: 4f1a88e3f9b0 ("net/mlx5: standardize on negative errno values") Cc: nelio.laranje...@6wind.com Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/driver

[dpdk-dev] [PATCH] net/mlx5: fix invalid flow item check

2018-04-13 Thread Xueming Li
This patch fixed invalid flow item check. Fixes: 4f1a88e3f9b0 ("net/mlx5: standardize on negative errno values") Cc: nelio.laranje...@6wind.com Signed-off-by: Xueming Li Acked-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5_flow.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletio

[dpdk-dev] [PATCH 0/6] Support generic tunnel TX csum and TSO

2018-01-09 Thread Xueming Li
packet inner and outer headers offset regardless of tunnel type. Xueming Li (6): net/mlx5: support tx swp tunnel offloading net/mlx5: allow max 192B WQE TSO inline header length net/mlx5: add SWP PCI parameter for TX common tunnel offloads ethdev: introduce TX common tunnel offloads net

[dpdk-dev] [PATCH 2/6] net/mlx5: allow max 192B WQE TSO inline header length

2018-01-09 Thread Xueming Li
IPv6 VXLAN TSO and header options demands more than 128B inline header length. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_defs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_defs.h b/drivers/net/mlx5/mlx5_defs.h index 3a7706cfd..c4eea145b

[dpdk-dev] [PATCH 3/6] net/mlx5: add SWP PCI parameter for TX common tunnel offloads

2018-01-09 Thread Xueming Li
Add PCI parameter 'swp' to control TX SWP feature, enabled by default. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5.c | 7 +++ drivers/net/mlx5/mlx5.h | 1 + drivers/net/mlx5/mlx5_txq.c | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/driver

[dpdk-dev] [PATCH 6/6] app/testpmd: testpmd support TX common tunnel offloads

2018-01-09 Thread Xueming Li
"show port cap" and "csum parse tunnel" command support TX common tunnel offloads Signed-off-by: Xueming Li --- app/test-pmd/cmdline.c | 9 +++-- app/test-pmd/config.c | 9 + 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/app/test-pmd/cmdl

[dpdk-dev] [PATCH 5/6] net/mlx5: support TX common tunnel offloads

2018-01-09 Thread Xueming Li
Support new TX common offloads DEV_TX_OFFLOAD_COMMON_TNL including common tunnel chksum and common tunnel tso. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_ethdev.c | 3 ++- drivers/net/mlx5/mlx5_txq.c| 5 - 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers

[dpdk-dev] [PATCH 4/6] ethdev: introduce TX common tunnel offloads

2018-01-09 Thread Xueming Li
part of inner l2_len, so device HW do cheksum and TSO calculation w/o knowledge of perticular tunnel type. When set application must guarantee that correct header types and lengths for each inner and outer headers in mbuf header, no need to specify tunnel type. Signed-off-by: Xueming Li --- lib

[dpdk-dev] [PATCH 1/6] net/mlx5: support tx swp tunnel offloading

2018-01-09 Thread Xueming Li
This commit adds support for generic tunnel TSO and checksum offloads. The PMD will compute the inner/outer headers offset according to the mbuf fields. The Hardware will do calculation according to offsets and types. Such capability is supported only for PFs. Signed-off-by: Xueming Li

[dpdk-dev] [PATCH 1/4] net/mlx5: revert "fix Memory Region registration"

2018-01-14 Thread Xueming Li
This reverts commit 17fd4a504a4780455f79969803dc231521254ca8. Fixes: 12ed59b702cc ("net/mlx5: fix Memory Region registration") Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_rxtx.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_rxtx.h

[dpdk-dev] [PATCH 4/4] net/mlx5: remove MR refcnt

2018-01-14 Thread Xueming Li
MRs are registered to priv at device start or on the fly, destroyied when device stop. No mR registration to perticular TXQ, MR references cache in TXQ just part of device MR list, no reason to keep MR refcnt. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5.h | 1 - drivers/net/mlx5

[dpdk-dev] [PATCH 2/4] net/mlx5: forbid MR registration in secondary process

2018-01-14 Thread Xueming Li
Secondary process are not alloed to access verbs resources, add check to prevent MR registration in data path. Signed-off-by: Xueming Li --- doc/guides/nics/mlx5.rst | 1 + drivers/net/mlx5/mlx5_mr.c | 3 +++ drivers/net/mlx5/mlx5_rxtx.h | 3 --- 3 files changed, 4 insertions(+), 3

[dpdk-dev] [PATCH 3/4] net/mlx5: support mempool of multi-mem segments

2018-01-14 Thread Xueming Li
Previously, mempool of multiple memory segments would lead to MR registration error "mempool not virtually contiguous". This patch support multi-segments mempool by registering each memory segment of mempool. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5.h | 4 +- d

[dpdk-dev] [PATCH] net/mlx5: remmap UAR address for multiple process

2018-01-19 Thread Xueming Li
minimize conflicts, UAR address space comes after hugepage space with an offset to skip potential usage from other drivers. Once UAR space reserved successfully, UAR pages are re-mmapped into new area to keep UAR address aligned between primary and secondary process. Signed-off-by: Xueming Li

[dpdk-dev] [PATCH v3] cmdline: fix dynamic tokens parsing

2018-01-19 Thread Xueming Li
commit introduces a memset() that breaks this assumption. This commit keeps the successfully parsed buffers, and ensures that the pointers point to the valid location, by using temp buffer for following parsing. Fixes: 9b3fbb051d2e ("cmdline: fix parsing") Cc: sta...@dpdk.org Signed-off-b

[dpdk-dev] [PATCH] cmdline: fix dynamic tokens parsing

2018-01-19 Thread Xueming Li
commit introduces a memset() that breaks this assumption. This commit keeps the successfully parsed buffers, and ensures that the pointers point to the valid location, by using temp buffer for following parsing. Fixes: 9b3fbb051d2e ("cmdline: fix parsing") Cc: sta...@dpdk.org Signed-off-b

[dpdk-dev] [PATCH] cmdline: avoid garbage in unused fields of parsed result

2018-01-19 Thread Xueming Li
The result buffer was not initialized before parsing, inducing garbage in unused fields or padding of the parsed structure. Initialize the result buffer each time before parsing. Fixes: af75078fece3 ("first public release") Cc: sta...@dpdk.org Signed-off-by: Xueming Li --- lib/libr

[dpdk-dev] [PATCH v2] net/mlx5: mmap uar address around huge pages

2018-01-25 Thread Xueming Li
the latest being done by the processes (libraries, heaps, stacks are already loaded), similar to huge pages, there is **no guarantee** this mechanism will always work. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5.c | 114 ++-- drivers/net/mlx5/mlx5

[dpdk-dev] [PATCH] examples/l2fwd_fork: fix messaage pool init

2017-08-22 Thread Xueming Li
("examples/l2fwd_fork: new app") Cc: Sergio Gonzalez Monroy Cc: Olivier Matz Signed-off-by: Xueming Li --- examples/multi_process/l2fwd_fork/main.c | 5 + lib/librte_mbuf/rte_mbuf.c | 2 ++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/examples/mul

[dpdk-dev] [PATCH] eal/malloc: fix malloc cookie check

2017-08-22 Thread Xueming Li
t cookie. Fixes: af75078 ("first public release") Cc: Sergio Gonzalez Monroy Signed-off-by: Xueming Li --- lib/librte_eal/common/malloc_elem.c | 8 lib/librte_eal/common/malloc_elem.h | 4 ++-- test/test/test_malloc.c | 10 +- 3 files changed, 11 insertion

[dpdk-dev] [PATCH] eal: add config option to enable asserts

2017-08-23 Thread Xueming Li
value to keep it in compile time configuration. Signed-off-by: Xueming Li --- config/common_base| 1 + lib/librte_eal/common/include/rte_debug.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/config/common_base b/config/common_base index 5e97a08b6..ce

[dpdk-dev] [PATCH v2] eal: add config option to enable asserts

2017-08-24 Thread Xueming Li
s valuable to unhide assertion out of COFNIG_RTE_LOG_LEVEL. In one word, log is log, assertion is assertion, debug is hot pot :) Rationale of this patch is to introduce an dedicate switch of assertion: RTE_ENABLE_ASSERT Signed-off-by: Xueming Li Acked-by: Gaetan Rivet --- v2: Changed macro name f

[dpdk-dev] [PATCH v2] eal: add config option to enable asserts

2017-08-24 Thread Xueming Li
s valuable to unhide assertion out of COFNIG_RTE_LOG_LEVEL. In one word, log is log, assertion is assertion, debug is hot pot :) Rationale of this patch is to introduce an dedicate switch of assertion: RTE_ENABLE_ASSERT Signed-off-by: Xueming Li Acked-by: Gaetan Rivet --- v2: Changed macro name f

[dpdk-dev] [PATCH v1 2/2] net/mlx5: add multiple process support

2017-08-24 Thread Xueming Li
the secondary process memory space and thus use the same Tx queues. This is only supported from Linux kernel (v4.14) and rdma-core (v14). Cc: Nelio Laranjeiro Signed-off-by: Xueming Li --- doc/guides/nics/mlx5.rst | 3 +- drivers/net/mlx5/Makefile | 1 + drivers/net/mlx5/mlx5.c

[dpdk-dev] [PATCH v1 1/2] net/mlx5: change eth device reference for secondary process

2017-08-24 Thread Xueming Li
Laranjeiro Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5.h | 6 ++--- drivers/net/mlx5/mlx5_ethdev.c | 52 ++--- drivers/net/mlx5/mlx5_fdir.c| 3 +++ drivers/net/mlx5/mlx5_rss.c | 3 +++ drivers/net/mlx5/mlx5_rxq.c | 2 ++ drivers

[dpdk-dev] [PATCH] net/mlx5: fix tunnel offload detection

2017-09-04 Thread Xueming Li
PMD driver got random tunnel_en value on ConnextX-4LX NIC, depends on compile optimization level. The variable was not initialized and detection logic was absent. Fixes: 578ff15e ("net/mlx5: add hardware checksum offload for tunnel packets") Signed-off-by: Xueming Li Acked-by: Sha

[dpdk-dev] [PATCH v2 1/2] eal/malloc: fix RTE malloc debug macro

2017-09-08 Thread Xueming Li
This patch replaces broken macro RTE_LIBRTE_MALLOC_DEBUG with RTE_MALLOC_DEBUG. Fixes: af75078fece3 ("first public release") Cc: Sergio Gonzalez Monroy Signed-off-by: Xueming Li --- lib/librte_eal/common/malloc_elem.h | 4 ++-- test/test/test_malloc.c | 10 +

[dpdk-dev] [PATCH v2 2/2] eal/malloc: fix RTE malloc element free

2017-09-08 Thread Xueming Li
be cleared in malloc_elem_free() by including trailer cookie. Fixes: af75078fece3 ("first public release") Cc: Sergio Gonzalez Monroy Signed-off-by: Xueming Li --- lib/librte_eal/common/malloc_elem.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/

[dpdk-dev] [PATCH v3 1/2] eal/malloc: fix RTE malloc debug macro

2017-09-09 Thread Xueming Li
This patch replaces broken macro RTE_LIBRTE_MALLOC_DEBUG with RTE_MALLOC_DEBUG. Fixes: af75078fece3 ("first public release") Cc: Sergio Gonzalez Monroy Signed-off-by: Xueming Li --- lib/librte_eal/common/malloc_elem.h | 4 ++-- test/test/test_malloc.c | 12 +--

[dpdk-dev] [PATCH v3 2/2] eal/malloc: fix RTE malloc element free

2017-09-09 Thread Xueming Li
be cleared in malloc_elem_free() by including trailer cookie. Fixes: af75078fece3 ("first public release") Cc: Sergio Gonzalez Monroy Signed-off-by: Xueming Li --- lib/librte_eal/common/malloc_elem.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/

[dpdk-dev] [PATCH v1 02/21] app/testpmd: support flow RSS level parsing

2018-03-09 Thread Xueming Li
Support new flow RSS level parameter to select inner or outer RSS fields. Example: flow create 0 ingress pattern eth / ipv4 / udp dst is 4789 / vxlan / end actions rss queues 1 2 end level 1 / end Signed-off-by: Xueming Li --- app/test-pmd/cmdline_flow.c | 27 +-- 1

[dpdk-dev] [PATCH v1 07/21] net/mlx5: support GRE tunnel flow

2018-03-09 Thread Xueming Li
Support GRE tunnel type in RTE FLOW. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 67 +++- 1 file changed, 60 insertions(+), 7 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 26002c4..2acd42b

[dpdk-dev] [PATCH v1 00/21] MLX5 tunnel Rx offloading

2018-03-09 Thread Xueming Li
: http://www.dpdk.org/dev/patchwork/patch/35005/ http://www.dpdk.org/dev/patchwork/patch/31757/ Next version will be based on Adrien's new flow action api: http://www.dpdk.org/dev/patchwork/patch/35178/ Shahaf Shuler (1): net/mlx5: fix tunnel offloads cap query Xueming Li (20): ethdev: su

[dpdk-dev] [PATCH v1 03/21] ethdev: introduce new tunnel VXLAN-GPE

2018-03-09 Thread Xueming Li
VXLAN-GPE enables VXLAN for all protocols. Protocol link: https://datatracker.ietf.org/doc/draft-ietf-nvo3-vxlan-gpe/ Signed-off-by: Xueming Li --- lib/librte_ether/rte_eth_ctrl.h | 3 ++- lib/librte_ether/rte_flow.c | 1 + lib/librte_ether/rte_flow.h | 27

[dpdk-dev] [PATCH v1 06/21] net/mlx5: fix tunnel offloads cap query

2018-03-09 Thread Xueming Li
From: Shahaf Shuler The query for the tunnel stateless offloads is wrongly implemented because of: 1. It was using the device id to query for the offloads. 2. It was using a compilation flag for Verbs which no longer exits. The main reason was lack of proper API from Verbs. Fixing the query to

[dpdk-dev] [PATCH v1 01/21] ethdev: support tunnel RSS level

2018-03-09 Thread Xueming Li
layer interlaced are deemed as one level. For example the following packet can only use level 0 or 1: eth / ipv4 / GRE / MPLS / ipv4 / udp Signed-off-by: Xueming Li --- lib/librte_ether/rte_ethdev.h | 9 + 1 file changed, 9 insertions(+) diff --git a/lib/librte_ether/rte_ethdev.h

[dpdk-dev] [PATCH v1 08/21] net/mlx5: support L3 vxlan

2018-03-09 Thread Xueming Li
This patch add L3 vxlan support which don't have inner L2 header comparing to standard vxlan protocol. Signed-off-by: Xueming Li --- drivers/net/mlx5/mlx5_flow.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_f

<    2   3   4   5   6   7   8   9   10   >