RE: [PATCH 0/1] mempool: implement index-based per core cache

2021-12-24 Thread Morten Brørup
> From: Dharmik Thakkar [mailto:dharmik.thak...@arm.com] > Sent: Friday, 24 December 2021 23.59 > > Current mempool per core cache implementation stores pointers to mbufs > On 64b architectures, each pointer consumes 8B > This patch replaces it with index-based implementation, > where in each buff

[PATCH 0/1] mempool: implement index-based per core cache

2021-12-24 Thread Dharmik Thakkar
Current mempool per core cache implementation stores pointers to mbufs On 64b architectures, each pointer consumes 8B This patch replaces it with index-based implementation, where in each buffer is addressed by (pool base address + index) It reduces the amount of memory/cache required for per core

[PATCH 1/1] mempool: implement index-based per core cache

2021-12-24 Thread Dharmik Thakkar
Current mempool per core cache implementation stores pointers to mbufs On 64b architectures, each pointer consumes 8B This patch replaces it with index-based implementation, where in each buffer is addressed by (pool base address + index) It reduces the amount of memory/cache required for per core

Re: [RFC PATCH v1 2/4] ethdev: add API for direct re-arm mode

2021-12-24 Thread Stephen Hemminger
On Sat, 25 Dec 2021 00:46:10 +0800 Feifei Wang wrote: > +rte_eth_direct_rxrearm_map(uint16_t rx_port_id, uint16_t rx_queue_id, > + uint16_t tx_port_id, uint16_t tx_queue_id) > +{ > + struct rte_eth_dev *dev; > + > + dev = &rte_eth_devices[rx_port_id]; > + (*dev->dev_ops->r

Re: [PATCH v3 00/25] Net/SPNIC: support SPNIC into DPDK 22.03

2021-12-24 Thread Stephen Hemminger
On Fri, 24 Dec 2021 16:32:18 +0800 Yanling Song wrote: > The patchsets introduce SPNIC driver for Ramaxel's SPNxx serial NIC cards > into DPDK 22.03. > Ramaxel Memory Technology is a company which supply a lot of electric > products: > storage, communication, PCB... > SPNxxx is a serial PCIE i

[RFC PATCH v1 4/4] examples/l3fwd: give an example for direct rearm mode

2021-12-24 Thread Feifei Wang
This is just to give an example to show how to use API to enable direct rearm mode for user. Command (Two flows): ./examples/dpdk-l3fwd -n 4 -l 1 -a 0001:01:00.0 -a 0001:01:00.1 -- -p 0x3 -P --config='(0,0,1),(1,0,1)' This is one single core case, and by using API, The Rx queue 0 from port 0 can

[RFC PATCH v1 3/4] net/i40e: add direct re-arm mode internal API

2021-12-24 Thread Feifei Wang
For direct re-arm mode, add two internal API for i40e. One is to enable direct re-arming mode in Rx queue. The other is to map Tx queue with Rx queue to make Rx queue take buffers from the specific Tx queue. Suggested-by: Honnappa Nagarahalli Signed-off-by: Feifei Wang Reviewed-by: Ruifeng Wan

[RFC PATCH v1 2/4] ethdev: add API for direct re-arm mode

2021-12-24 Thread Feifei Wang
Add API for enabling direct re-arm mode and for mapping RX and TX queues. Currently, the API supports 1:1(txq : rxq) mapping. Suggested-by: Honnappa Nagarahalli Signed-off-by: Feifei Wang Reviewed-by: Ruifeng Wang --- lib/ethdev/ethdev_driver.h | 15 +++ lib/ethdev/rte_ethdev.c

[RFC PATCH v1 1/4] net/i40e: enable direct re-arm mode

2021-12-24 Thread Feifei Wang
For i40e driver, enable direct re-arm mode. This patch supports the case of mapping Rx/Tx queues from the same single lcore. Suggested-by: Honnappa Nagarahalli Signed-off-by: Feifei Wang Reviewed-by: Ruifeng Wang --- drivers/net/i40e/i40e_rxtx.h | 4 + drivers/net/i40e/i40e_rxtx_vec

[RFC PATCH v1 0/4] Direct re-arming of buffers on receive side

2021-12-24 Thread Feifei Wang
Currently, the transmit side frees the buffers into the lcore cache and the receive side allocates buffers from the lcore cache. The transmit side typically frees 32 buffers resulting in 32*8=256B of stores to lcore cache. The receive side allocates 32 buffers and stores them in the receive side so

RE: [PATCH] examples/ipsec-secgw: fix default flow rule creation

2021-12-24 Thread Akhil Goyal
> Subject: [PATCH] examples/ipsec-secgw: fix default flow rule creation > > Fix default flow rule to create after ethdev start to align > wit RTE flow spec. > > Fixes: 513f192b5fd4 ("examples/ipsec-secgw: add default flow for inline Rx") > Cc: adwiv...@marvell.com > Cc: sta...@dpdk.org > > Signe

RE: [PATCH] examples/ipsec-secgw: fix event dev start sequence

2021-12-24 Thread Akhil Goyal
> > > Subject: [PATCH] examples/ipsec-secgw: fix event dev start sequence > > > > Start eventdev after complete initialization of event dev, rx adapter and tx > > adapter. > > > > Fixes: e0b0e55c8f15 ("examples/ipsec-secgw: add framework for event > > helper") > > Cc: ano...@marvell.com > > Cc: st

RE: [EXT] [PATCH 8/8] crypto/dpaa_sec: add debug framework

2021-12-24 Thread Akhil Goyal
> Adding useful debug prints in DPAA driver for > easy debugging. > > Signed-off-by: Gagandeep Singh > --- I believe it is better to use devargs instead of environment variables. Also add documentation on how to explain it.

RE: [EXT] [PATCH 3/3] crypto/ipsec_mb: fix tainted data for session

2021-12-24 Thread Akhil Goyal
> Downcasting a void * to struct aesni_gcm_session * caused the session > data to be treated as tainted. > Removing the void * temporary variable and adding a cast avoids this > issue. > > Coverity issue: 374377 > Fixes: 746825e5c0ea ("crypto/ipsec_mb: move aesni_gcm PMD") > Cc: piotrx.bronow...@i

RE: [PATCH v3 00/29] New features and improvements in cnxk crypto PMD

2021-12-24 Thread Akhil Goyal
> Subject: [PATCH v3 00/29] New features and improvements in cnxk crypto PMD > > New features and fixes to cnxk crypto PMDs > - Support for more algorithms in lookaside crypto & protocol > - Support for copy & set DF bit > - Support for CPT CTX update > - Support for security session stats in cn10

Re: [RFC 1/1] vhost: integrate dmadev in asynchronous datapath

2021-12-24 Thread Maxime Coquelin
Hi Jiayu, This is a first review, I need to spend more time on the series to understand it well. Do you have a prototype of the OVS part, so that it helps us to grasp how the full integration would look like? On 11/22/21 11:54, Jiayu Hu wrote: Since dmadev is introduced in 21.11, to avoid the o

[PATCH v3 24/25] net/spnic: support Tx/Rx queue start/stop

2021-12-24 Thread Yanling Song
This commit support starting or stopping a specified Rx/Tx queue For Rx queue: when starting rx queue, mbuf will be allocated and fill rq wqe with mbuf info, then add the qid to indirect table of RSS. if the first rx queue is started, the valid bit in function table will be set so that the pack

[PATCH v3 25/25] net/spnic: add doc infrastructure

2021-12-24 Thread Yanling Song
This patch adds doc infrastructure for spnic PMD driver. Signed-off-by: Yanling Song --- MAINTAINERS| 6 +++ doc/guides/nics/features/spnic.ini | 39 +++ doc/guides/nics/index.rst | 1 + doc/guides/nics/spnic.rst | 61 ++

[PATCH v3 22/25] net/spnic: net/spnic: support xstats statistics

2021-12-24 Thread Yanling Song
This commit implements DFX statistics of physical port, function, Rx queues and Tx queues, which includes MAC statistic, unicast/multicast/broadcast packets statistic, rx_mbuf, tx_busy and etc. Signed-off-by: Yanling Song --- drivers/net/spnic/base/spnic_nic_cfg.c | 118 ++ drivers/net/spnic

[PATCH v3 20/25] net/spnic: support flow control

2021-12-24 Thread Yanling Song
This commit implements flow control operations to support related syscalls. Signed-off-by: Yanling Song --- drivers/net/spnic/base/spnic_nic_cfg.c | 53 ++ drivers/net/spnic/base/spnic_nic_cfg.h | 25 + drivers/net/spnic/spnic_ethdev.c | 77 +

[PATCH v3 23/25] net/spnic: support VFIO interrupt

2021-12-24 Thread Yanling Song
This commit supports VFIO interrupt for Rx queue and asynchronous event, and implements rx_queue_intr_disable() and rx_queue_intr_enable() to disable/enable the interrupt of specified Rx queue. Signed-off-by: Yanling Song --- drivers/net/spnic/base/spnic_eqs.c | 11 ++ drivers/net/spnic/spnic_e

[PATCH v3 19/25] net/spnic: support promiscuous and allmulticast Rx modes

2021-12-24 Thread Yanling Song
This commit implements promiscuous_enable/disable() and allmulticast_enable/disable() to configure promiscuous or allmulticast Rx modes. Note: promiscuous rx mode is only supported by PF. Signed-off-by: Yanling Song --- drivers/net/spnic/spnic_ethdev.c | 156 +++ 1 fi

[PATCH v3 18/25] net/spnic: support VLAN filtering and offloading

2021-12-24 Thread Yanling Song
This commit implements vlan_filter_set() and vlan_offload_set() to support VLAN filtering and offloading. Signed-off-by: Yanling Song --- drivers/net/spnic/base/spnic_nic_cfg.c | 8 ++ drivers/net/spnic/spnic_ethdev.c | 121 + 2 files changed, 129 insertions(+) d

[PATCH v3 21/25] net/spnic: support getting Tx/Rx queues info

2021-12-24 Thread Yanling Song
This patch implements rxq_info_get() and txq_info_get() to support getting queue depth and mbuf pool info of specified Tx/Rx queue. Signed-off-by: Yanling Song --- drivers/net/spnic/spnic_ethdev.c | 21 + 1 file changed, 21 insertions(+) diff --git a/drivers/net/spnic/spnic_

[PATCH v3 16/25] net/spnic: add device configure/version/info

2021-12-24 Thread Yanling Song
This commit adds the callbacks to configure queue number and mtu as well as query configuration information and firmware version. Signed-off-by: Yanling Song --- drivers/net/spnic/spnic_ethdev.c | 129 ++- 1 file changed, 127 insertions(+), 2 deletions(-) diff --git

[PATCH v3 17/25] net/spnic: support RSS configuration update and get

2021-12-24 Thread Yanling Song
This commit implements rss_hash_update and rss_hash_conf_get. Signed-off-by: Yanling Song --- drivers/net/spnic/spnic_ethdev.c | 235 +++ 1 file changed, 235 insertions(+) diff --git a/drivers/net/spnic/spnic_ethdev.c b/drivers/net/spnic/spnic_ethdev.c index 50cca242

[PATCH v3 15/25] net/spnic: support IO packets handling

2021-12-24 Thread Yanling Song
This patch implements rx_pkt_burst() and tx_pkt_burst() to hanld IO packets. For Tx packets, this commit implements parsing ol_flags of mbuf and filling those offload info on wqe so that hardware can process the packets correctly. Furthermore, this commit allocates a mempool to cover scenes with t

[PATCH v3 13/25] net/spnic: support Rx congfiguration

2021-12-24 Thread Yanling Song
This patch Rx/Tx configuration including Rx csum offload, LRO, RSS, VLAN filter and VLAN offload. Signed-off-by: Yanling Song --- drivers/net/spnic/base/spnic_nic_cfg.c | 525 + drivers/net/spnic/base/spnic_nic_cfg.h | 387 ++ drivers/net/spnic/spnic_ethde

[PATCH v3 14/25] net/spnic: add port/vport enable

2021-12-24 Thread Yanling Song
This patch adds interface to enable port/vport so that the hardware would receive packets to host. Signed-off-by: Yanling Song --- drivers/net/spnic/spnic_ethdev.c | 46 1 file changed, 46 insertions(+) diff --git a/drivers/net/spnic/spnic_ethdev.c b/drivers/net

[PATCH v3 11/25] net/spnic: add queue pairs context initialization

2021-12-24 Thread Yanling Song
This patch adds the initialization of Tx/Rx queues context and negotiation of NIC features. Signed-off-by: Yanling Song --- drivers/net/spnic/base/spnic_hw_comm.c | 101 drivers/net/spnic/base/spnic_hw_comm.h | 6 + drivers/net/spnic/base/spnic_nic_cfg.c | 76 +++ drivers/net/spnic/base/

[PATCH v3 10/25] net/spnic: add function info initialization

2021-12-24 Thread Yanling Song
This patch mainly implements function info initialization including mtu, link state, port state, port info and cos as well as the definition of the corresponding data structure. Signed-off-by: Yanling Song --- drivers/net/spnic/base/spnic_hw_cfg.c | 43 +++ drivers/net/spnic/base/spnic_hw_cfg.

[PATCH v3 12/25] net/spnic: support mbuf handling of Tx/Rx

2021-12-24 Thread Yanling Song
This patch defines a wqe data structure for hardware to learn the sge info and offload info of packet. Furthermore, this commit implements the interfaces to fill wqe with DPDK mbuf. Signed-off-by: Yanling Song --- drivers/net/spnic/base/spnic_nic_cfg.c | 23 ++ drivers/net/spnic/base/spnic_nic_

[PATCH v3 08/25] net/spnic: add hardware info initialization

2021-12-24 Thread Yanling Song
This commits add hardware info initialization, including that device capability initialization, common feature negotiation, and two interfaces spnic_get_board_info(), spnic_get_mgmt_version() to get hardware info and firmware version. Signed-off-by: Yanling Song --- drivers/net/spnic/base/meson.

[PATCH v3 09/25] net/spnic: support MAC and link event handling

2021-12-24 Thread Yanling Song
This commit adds interfaces to add/remove MAC addresses and registers related ops to struct eth_dev_ops. Furthermore, this commit adds callback to handle link events. Signed-off-by: Yanling Song --- drivers/net/spnic/base/meson.build | 3 +- drivers/net/spnic/base/spnic_hw_cfg.c| 12

[PATCH v3 07/25] net/spnic: add interface handling cmdq message

2021-12-24 Thread Yanling Song
This commit adds cmdq_sync_cmd_direct_resp() and cmdq_sync_cmd_detail_resp() interfaces by which driver can send cmdq message using wqe a data structure describe the buffer. Signed-off-by: Yanling Song --- drivers/net/spnic/base/meson.build | 1 + drivers/net/spnic/base/spnic_cmdq.c| 6

[PATCH v3 05/25] net/spnic: add mgmt module

2021-12-24 Thread Yanling Song
Mgmt module manage the message gerenated from the hardware. This patch implements mgmt module initialization, related event processing and message command definition. Signed-off-by: Yanling Song --- drivers/net/spnic/base/meson.build | 4 +- drivers/net/spnic/base/spnic_cmd.h | 222

[PATCH v3 06/25] net/spnic: add cmdq and work queue

2021-12-24 Thread Yanling Song
This commit introduce cmdq and work queue which can be used to send bulk message data(up to 2KB) to hardware. cmdq provides a mechanism to encapsulate the message to be sent and handle the response data or status. work queue is used to manager the wqe in which includes message data buffer descripti

[PATCH v3 04/25] net/spnic: introduce event queue

2021-12-24 Thread Yanling Song
This patch introduce event queue to receive response message from hardware or destiation function when a source function send mbox to it. This commit implements the related data structure, initialization and interfaces handling the message. Signed-off-by: Yanling Song --- drivers/net/spnic/base/

[PATCH v3 02/25] net/spnic: initialize the HW interface

2021-12-24 Thread Yanling Song
Add HW interface registers and initialize the HW interface. Signed-off-by: Yanling Song --- drivers/net/spnic/base/meson.build | 2 + drivers/net/spnic/base/spnic_csr.h | 104 drivers/net/spnic/base/spnic_hwdev.c | 41 ++ drivers/net/spnic/base/spnic_hwdev.h | 29 + drivers/net/spni

[PATCH v3 03/25] net/spnic: add mbox message channel

2021-12-24 Thread Yanling Song
This patch adds a message channel named mbox which can send message form PF/VF driver to hardware or sned message from VF to PF. Signed-off-by: Yanling Song --- drivers/net/spnic/base/meson.build |3 +- drivers/net/spnic/base/spnic_hwdev.c | 69 ++ drivers/net/spnic/base/spnic_hwdev.h |

[PATCH v3 01/25] drivers/net: introduce a new PMD driver

2021-12-24 Thread Yanling Song
Introduce a new PMD driver which names spnic. Now, this driver only implements module entry without doing anything else. Signed-off-by: Yanling Song --- drivers/net/meson.build | 1 + drivers/net/spnic/base/meson.build| 26 drivers/net/spnic/base/spnic_compat.h | 184 ++

[PATCH v3 00/25] Net/SPNIC: support SPNIC into DPDK 22.03

2021-12-24 Thread Yanling Song
The patchsets introduce SPNIC driver for Ramaxel's SPNxx serial NIC cards into DPDK 22.03. Ramaxel Memory Technology is a company which supply a lot of electric products: storage, communication, PCB... SPNxxx is a serial PCIE interface NIC cards: SPN110: 2 PORTs *25G SPN120: 4 PORTs *25G SPN130: