All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hemant Agrawal <hemant.agrawal@nxp.com>
To: dev@dpdk.org
Cc: Jun Yang <jun.yang@nxp.com>
Subject: [dpdk-dev] [PATCH v4 2/8] net/dpaa: add VSP support in FMLIB
Date: Tue, 11 Aug 2020 17:59:55 +0530	[thread overview]
Message-ID: <20200811123001.30045-2-hemant.agrawal@nxp.com> (raw)
In-Reply-To: <20200811123001.30045-1-hemant.agrawal@nxp.com>

From: Jun Yang <jun.yang@nxp.com>

This patch adds support for VSP (Virtual Storage Profile)
in fmlib routines.
VSP allow a network interface to be divided into physical
and virtual instance(s).
The concept is very similar to SRIOV.

Signed-off-by: Jun Yang <jun.yang@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/net/dpaa/Makefile           |   1 +
 drivers/net/dpaa/fmlib/fm_vsp.c     | 143 +++++++++++++++++++++++++
 drivers/net/dpaa/fmlib/fm_vsp_ext.h | 155 ++++++++++++++++++++++++++++
 drivers/net/dpaa/meson.build        |   1 +
 4 files changed, 300 insertions(+)
 create mode 100644 drivers/net/dpaa/fmlib/fm_vsp.c
 create mode 100644 drivers/net/dpaa/fmlib/fm_vsp_ext.h

diff --git a/drivers/net/dpaa/Makefile b/drivers/net/dpaa/Makefile
index deb9d5ed61..5eaa4abcb5 100644
--- a/drivers/net/dpaa/Makefile
+++ b/drivers/net/dpaa/Makefile
@@ -28,6 +28,7 @@ EXPORT_MAP := rte_pmd_dpaa_version.map
 
 # Interfaces with DPDK
 SRCS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += fmlib/fm_lib.c
+SRCS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += fmlib/fm_vsp.c
 SRCS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa_ethdev.c
 SRCS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa_rxtx.c
 
diff --git a/drivers/net/dpaa/fmlib/fm_vsp.c b/drivers/net/dpaa/fmlib/fm_vsp.c
new file mode 100644
index 0000000000..6396bb6855
--- /dev/null
+++ b/drivers/net/dpaa/fmlib/fm_vsp.c
@@ -0,0 +1,143 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright 2019-2020 NXP
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <unistd.h>
+#include <termios.h>
+#include <sys/ioctl.h>
+#include <stdbool.h>
+
+#include <rte_common.h>
+#include "fm_ext.h"
+#include "fm_pcd_ext.h"
+#include "fm_port_ext.h"
+#include "fm_vsp_ext.h"
+#include <dpaa_ethdev.h>
+
+uint32_t FM_PORT_VSPAlloc(t_handle h_fm_port,
+		t_fm_port_vspalloc_params *p_params)
+{
+	t_device *p_dev = (t_device *)h_fm_port;
+	ioc_fm_port_vsp_alloc_params_t params;
+
+	_fml_dbg("Calling...\n");
+	memset(&params, 0, sizeof(ioc_fm_port_vsp_alloc_params_t));
+	memcpy(&params.params, p_params, sizeof(t_fm_port_vspalloc_params));
+
+	if (ioctl(p_dev->fd, FM_PORT_IOC_VSP_ALLOC, &params))
+		RETURN_ERROR(MINOR, E_INVALID_OPERATION, NO_MSG);
+
+	_fml_dbg("Called.\n");
+
+	return E_OK;
+}
+
+t_handle fm_vsp_config(t_fm_vsp_params *p_fm_vsp_params)
+{
+	t_device *p_dev = NULL;
+	t_device *p_vsp_dev = NULL;
+	ioc_fm_vsp_params_t param;
+
+	p_dev = p_fm_vsp_params->h_fm;
+
+	_fml_dbg("Performing VSP Configuration...\n");
+
+	memset(&param, 0, sizeof(ioc_fm_vsp_params_t));
+	memcpy(&param, p_fm_vsp_params, sizeof(t_fm_vsp_params));
+	param.vsp_params.h_fm = UINT_TO_PTR(p_dev->id);
+	param.id = NULL;
+
+	if (ioctl(p_dev->fd, FM_IOC_VSP_CONFIG, &param)) {
+		DPAA_PMD_ERR("%s ioctl error\n", __func__);
+		return NULL;
+	}
+
+	p_vsp_dev = (t_device *)malloc(sizeof(t_device));
+	if (!p_vsp_dev) {
+		DPAA_PMD_ERR("FM VSP Params!\n");
+		return NULL;
+	}
+	memset(p_vsp_dev, 0, sizeof(t_device));
+	p_vsp_dev->h_user_priv = (t_handle)p_dev;
+	p_dev->owners++;
+	p_vsp_dev->id = PTR_TO_UINT(param.id);
+
+	_fml_dbg("VSP Configuration completed\n");
+
+	return (t_handle)p_vsp_dev;
+}
+
+uint32_t fm_vsp_init(t_handle h_fm_vsp)
+{
+	t_device *p_dev = NULL;
+	t_device *p_vsp_dev = (t_device *)h_fm_vsp;
+	ioc_fm_obj_t id;
+
+	_fml_dbg("Calling...\n");
+
+	p_dev = (t_device *)p_vsp_dev->h_user_priv;
+	id.obj = UINT_TO_PTR(p_vsp_dev->id);
+
+	if (ioctl(p_dev->fd, FM_IOC_VSP_INIT, &id)) {
+		DPAA_PMD_ERR("%s ioctl error\n", __func__);
+		RETURN_ERROR(MINOR, E_INVALID_OPERATION, NO_MSG);
+	}
+
+	_fml_dbg("Called.\n");
+
+	return E_OK;
+}
+
+uint32_t fm_vsp_free(t_handle h_fm_vsp)
+{
+	t_device *p_dev = NULL;
+	t_device *p_vsp_dev = (t_device *)h_fm_vsp;
+	ioc_fm_obj_t id;
+
+	_fml_dbg("Calling...\n");
+
+	p_dev = (t_device *)p_vsp_dev->h_user_priv;
+	id.obj = UINT_TO_PTR(p_vsp_dev->id);
+
+	if (ioctl(p_dev->fd, FM_IOC_VSP_FREE, &id)) {
+		DPAA_PMD_ERR("%s ioctl error\n", __func__);
+		RETURN_ERROR(MINOR, E_INVALID_OPERATION, NO_MSG);
+	}
+
+	p_dev->owners--;
+	free(p_vsp_dev);
+
+	_fml_dbg("Called.\n");
+
+	return E_OK;
+}
+
+uint32_t fm_vsp_config_buffer_prefix_content(t_handle h_fm_vsp,
+		t_fm_buffer_prefix_content *p_fm_buffer_prefix_content)
+{
+	t_device *p_dev = NULL;
+	t_device *p_vsp_dev = (t_device *)h_fm_vsp;
+	ioc_fm_buffer_prefix_content_params_t params;
+
+	_fml_dbg("Calling...\n");
+
+	p_dev = (t_device *)p_vsp_dev->h_user_priv;
+	params.p_fm_vsp = UINT_TO_PTR(p_vsp_dev->id);
+	memcpy(&params.fm_buffer_prefix_content,
+	       p_fm_buffer_prefix_content, sizeof(*p_fm_buffer_prefix_content));
+
+	if (ioctl(p_dev->fd, FM_IOC_VSP_CONFIG_BUFFER_PREFIX_CONTENT,
+		  &params)) {
+		DPAA_PMD_ERR("%s ioctl error\n", __func__);
+		RETURN_ERROR(MINOR, E_INVALID_OPERATION, NO_MSG);
+	}
+
+	_fml_dbg("Called.\n");
+
+	return E_OK;
+}
diff --git a/drivers/net/dpaa/fmlib/fm_vsp_ext.h b/drivers/net/dpaa/fmlib/fm_vsp_ext.h
new file mode 100644
index 0000000000..32918f40a7
--- /dev/null
+++ b/drivers/net/dpaa/fmlib/fm_vsp_ext.h
@@ -0,0 +1,155 @@
+/* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
+ *
+ * Copyright 2008-2012 Freescale Semiconductor, Inc
+ * Copyright 2019-2020 NXP
+ *
+ */
+
+/*
+ * @File          fm_vsp_ext.h
+ *
+ * @Description   FM Virtual Storage-Profile
+ */
+#ifndef __FM_VSP_EXT_H
+#define __FM_VSP_EXT_H
+#include "ncsw_ext.h"
+#include "fm_ext.h"
+#include "net_ext.h"
+
+typedef struct t_fm_vsp_params {
+	t_handle	h_fm;
+			/**< A handle to the FM object this VSP related to */
+	t_fm_ext_pools	ext_buf_pools;
+			/**< Which external buffer pools are used (up to
+			 * FM_PORT_MAX_NUM_OF_EXT_POOLS), and their sizes.
+			 * Parameter associated with Rx / OP port
+			 */
+	uint16_t	liodn_offset;	/**< VSP's LIODN offset */
+	struct {
+		e_fm_port_type	port_type; /**< Port type */
+		uint8_t	port_id;           /**< Port Id - relative to type */
+	} port_params;
+	uint8_t	relative_profile_id;
+			/**< VSP Id - relative to VSP's range defined in
+			 * relevant FM object
+			 */
+} t_fm_vsp_params;
+
+typedef struct ioc_fm_vsp_params_t {
+	struct t_fm_vsp_params vsp_params;
+	void		*id;		/**< return value */
+} ioc_fm_vsp_params_t;
+
+typedef struct t_fm_port_vspalloc_params {
+	uint8_t     num_of_profiles;
+		/**< Number of Virtual Storage Profiles; must be a power of 2 */
+	uint8_t     dflt_relative_id;
+	/**< The default Virtual-Storage-Profile-id dedicated to Rx/OP port. The
+	 * same default Virtual-Storage-Profile-id will be for coupled Tx port
+	 * if relevant function called for Rx port
+	 */
+} t_fm_port_vspalloc_params;
+
+typedef struct ioc_fm_port_vsp_alloc_params_t {
+	struct t_fm_port_vspalloc_params params;
+	void	*p_fm_tx_port;
+	/**< Handle to coupled Tx Port; not relevant for OP port. */
+} ioc_fm_port_vsp_alloc_params_t;
+
+typedef struct ioc_fm_buffer_prefix_content_t {
+	uint16_t priv_data_size;
+		/**< Number of bytes to be left at the beginning of the external
+		 * buffer; Note that the private-area will start from the base
+		 * of the buffer address.
+		 */
+	bool pass_prs_result;
+			/**< TRUE to pass the parse result to/from the FM; User
+			 * may use fm_port_get_buffer_prs_result() in order to
+			 * get the parser-result from a buffer.
+			 */
+	bool pass_time_stamp;
+			/**< TRUE to pass the timeStamp to/from the FM User may
+			 * use fm_port_get_buffer_time_stamp() in order to get
+			 * the parser-result from a buffer.
+			 */
+	bool pass_hash_result;
+			/**< TRUE to pass the KG hash result to/from the FM User
+			 * may use fm_port_get_buffer_hash_result() in order to
+			 * get the parser-result from a buffer.
+			 */
+	bool pass_all_other_pcd_info;
+			/**< Add all other Internal-Context information: AD,
+			 * hash-result, key, etc.
+			 */
+	uint16_t data_align;
+			/**< 0 to use driver's default alignment [64],
+			 * other value for selecting a data alignment (must be a
+			 * power of 2); if write optimization is used, must be
+			 * >= 16.
+			 */
+	uint8_t manip_extra_space;
+			/**< Maximum extra size needed
+			 * (insertion-size minus removal-size);
+			 * Note that this field impacts the size of the
+			 * buffer-prefix (i.e. it pushes the data offset);
+			 * This field is irrelevant if DPAA_VERSION==10
+			 */
+} ioc_fm_buffer_prefix_content_t;
+
+typedef struct ioc_fm_buffer_prefix_content_params_t {
+	void    *p_fm_vsp;
+	ioc_fm_buffer_prefix_content_t fm_buffer_prefix_content;
+} ioc_fm_buffer_prefix_content_params_t;
+
+uint32_t FM_PORT_VSPAlloc(t_handle h_fm_port,
+			  t_fm_port_vspalloc_params *p_params);
+
+t_handle fm_vsp_config(t_fm_vsp_params *p_fm_vsp_params);
+
+uint32_t fm_vsp_init(t_handle h_fm_vsp);
+
+uint32_t fm_vsp_free(t_handle h_fm_vsp);
+
+uint32_t fm_vsp_config_buffer_prefix_content(t_handle h_fm_vsp,
+		t_fm_buffer_prefix_content *p_fm_buffer_prefix_content);
+
+#if defined(CONFIG_COMPAT)
+#define FM_PORT_IOC_VSP_ALLOC_COMPAT \
+	_IOW(FM_IOC_TYPE_BASE, FM_PORT_IOC_NUM(38), \
+	ioc_compat_fm_port_vsp_alloc_params_t)
+#endif
+#define FM_PORT_IOC_VSP_ALLOC \
+	_IOW(FM_IOC_TYPE_BASE, FM_PORT_IOC_NUM(38), \
+	ioc_fm_port_vsp_alloc_params_t)
+
+#if defined(CONFIG_COMPAT)
+#define FM_IOC_VSP_CONFIG_COMPAT \
+	_IOWR(FM_IOC_TYPE_BASE, FM_IOC_NUM(8), ioc_compat_fm_vsp_params_t)
+#endif
+#define FM_IOC_VSP_CONFIG \
+	_IOWR(FM_IOC_TYPE_BASE, FM_IOC_NUM(8), ioc_fm_vsp_params_t)
+
+#if defined(CONFIG_COMPAT)
+#define FM_IOC_VSP_INIT_COMPAT \
+	_IOW(FM_IOC_TYPE_BASE, FM_IOC_NUM(9), ioc_compat_fm_obj_t)
+#endif
+#define FM_IOC_VSP_INIT	\
+	_IOW(FM_IOC_TYPE_BASE, FM_IOC_NUM(9), ioc_fm_obj_t)
+
+#if defined(CONFIG_COMPAT)
+#define FM_IOC_VSP_FREE_COMPAT	\
+	_IOW(FM_IOC_TYPE_BASE, FM_IOC_NUM(10), ioc_compat_fm_obj_t)
+#endif
+#define FM_IOC_VSP_FREE	\
+	_IOW(FM_IOC_TYPE_BASE, FM_IOC_NUM(10), ioc_fm_obj_t)
+
+#if defined(CONFIG_COMPAT)
+#define FM_IOC_VSP_CONFIG_BUFFER_PREFIX_CONTENT_COMPAT \
+	_IOW(FM_IOC_TYPE_BASE, FM_IOC_NUM(12), \
+	ioc_compat_fm_buffer_prefix_content_params_t)
+#endif
+#define FM_IOC_VSP_CONFIG_BUFFER_PREFIX_CONTENT \
+	_IOW(FM_IOC_TYPE_BASE, FM_IOC_NUM(12), \
+	ioc_fm_buffer_prefix_content_params_t)
+
+#endif /* __FM_VSP_EXT_H */
diff --git a/drivers/net/dpaa/meson.build b/drivers/net/dpaa/meson.build
index 67803cd34a..94d5095281 100644
--- a/drivers/net/dpaa/meson.build
+++ b/drivers/net/dpaa/meson.build
@@ -9,6 +9,7 @@ deps += ['mempool_dpaa']
 
 sources = files('dpaa_ethdev.c',
 		'fmlib/fm_lib.c',
+		'fmlib/fm_vsp.c',
 		'dpaa_rxtx.c')
 
 if cc.has_argument('-Wno-pointer-arith')
-- 
2.17.1


  reply	other threads:[~2020-08-11 12:35 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-10 17:19 [dpdk-dev] [PATCH v2 1/9] net/dpaa: support Rxq and Txq info routines Hemant Agrawal
2020-07-10 17:19 ` [dpdk-dev] [PATCH v2 2/9] net/dpaa: add support for fmlib in dpdk Hemant Agrawal
2020-07-10 17:19 ` [dpdk-dev] [PATCH v2 3/9] net/dpaa: add VSP support in FMLIB Hemant Agrawal
2020-07-10 17:19 ` [dpdk-dev] [PATCH v2 4/9] net/dpaa: add support for fmcless mode Hemant Agrawal
2020-07-10 17:19 ` [dpdk-dev] [PATCH v2 5/9] bus/dpaa: add shared MAC support Hemant Agrawal
2020-07-10 17:19 ` [dpdk-dev] [PATCH v2 6/9] bus/dpaa: add Virtual Storage Profile port init Hemant Agrawal
2020-07-10 17:19 ` [dpdk-dev] [PATCH v2 7/9] net/dpaa: add support for Virtual Storage Profile Hemant Agrawal
2020-07-10 17:19 ` [dpdk-dev] [PATCH v2 8/9] net/dpaa: add fmc parser support for VSP Hemant Agrawal
2020-07-10 17:19 ` [dpdk-dev] [PATCH v2 9/9] net/dpaa: add RSS update func with FMCless Hemant Agrawal
2020-07-11  8:17 ` [dpdk-dev] [PATCH v3 1/8] net/dpaa: add support for fmlib in dpdk Hemant Agrawal
2020-07-11  8:17   ` [dpdk-dev] [PATCH v3 2/8] net/dpaa: add VSP support in FMLIB Hemant Agrawal
2020-07-11  8:17   ` [dpdk-dev] [PATCH v3 3/8] net/dpaa: add support for fmcless mode Hemant Agrawal
2020-07-11  8:17   ` [dpdk-dev] [PATCH v3 4/8] bus/dpaa: add shared MAC support Hemant Agrawal
2020-07-11  8:17   ` [dpdk-dev] [PATCH v3 5/8] bus/dpaa: add Virtual Storage Profile port init Hemant Agrawal
2020-07-11  8:17   ` [dpdk-dev] [PATCH v3 6/8] net/dpaa: add support for Virtual Storage Profile Hemant Agrawal
2020-07-11  8:17   ` [dpdk-dev] [PATCH v3 7/8] net/dpaa: add fmc parser support for VSP Hemant Agrawal
2020-07-11  8:17   ` [dpdk-dev] [PATCH v3 8/8] net/dpaa: add RSS update func with FMCless Hemant Agrawal
2020-07-17 11:36   ` [dpdk-dev] [PATCH v3 1/8] net/dpaa: add support for fmlib in dpdk Ferruh Yigit
2020-07-19 20:10     ` Thomas Monjalon
2020-07-20  4:50       ` Hemant Agrawal
2020-07-20 17:06         ` Thomas Monjalon
2020-07-21  3:26           ` Hemant Agrawal
2020-07-20 18:42         ` Stephen Hemminger
2020-07-28 13:41         ` David Marchand
2020-07-29  6:39           ` Hemant Agrawal
2020-07-29 12:07             ` Thomas Monjalon
2020-07-29 14:33             ` Kevin Traynor
2020-07-20  9:51       ` Ferruh Yigit
2020-08-11 12:29   ` [dpdk-dev] [PATCH v4 " Hemant Agrawal
2020-08-11 12:29     ` Hemant Agrawal [this message]
2020-08-11 12:29     ` [dpdk-dev] [PATCH v4 3/8] net/dpaa: add support for fmcless mode Hemant Agrawal
2020-08-11 12:29     ` [dpdk-dev] [PATCH v4 4/8] bus/dpaa: add shared MAC support Hemant Agrawal
2020-08-11 12:29     ` [dpdk-dev] [PATCH v4 5/8] bus/dpaa: add Virtual Storage Profile port init Hemant Agrawal
2020-08-11 12:29     ` [dpdk-dev] [PATCH v4 6/8] net/dpaa: add support for Virtual Storage Profile Hemant Agrawal
2020-08-11 12:30     ` [dpdk-dev] [PATCH v4 7/8] net/dpaa: add fmc parser support for VSP Hemant Agrawal
2020-08-11 12:30     ` [dpdk-dev] [PATCH v4 8/8] net/dpaa: add RSS update func with FMCless Hemant Agrawal
2020-08-13 18:01     ` [dpdk-dev] [PATCH v5 1/8] net/dpaa: add support for fmlib in dpdk Hemant Agrawal
2020-08-13 18:01       ` [dpdk-dev] [PATCH v5 2/8] net/dpaa: add VSP support in FMLIB Hemant Agrawal
2020-08-13 18:01       ` [dpdk-dev] [PATCH v5 3/8] net/dpaa: add support for fmcless mode Hemant Agrawal
2020-08-13 18:01       ` [dpdk-dev] [PATCH v5 4/8] bus/dpaa: add shared MAC support Hemant Agrawal
2020-08-13 18:01       ` [dpdk-dev] [PATCH v5 5/8] bus/dpaa: add Virtual Storage Profile port init Hemant Agrawal
2020-08-13 18:01       ` [dpdk-dev] [PATCH v5 6/8] net/dpaa: add support for Virtual Storage Profile Hemant Agrawal
2020-08-13 18:01       ` [dpdk-dev] [PATCH v5 7/8] net/dpaa: add fmc parser support for VSP Hemant Agrawal
2020-08-13 18:01       ` [dpdk-dev] [PATCH v5 8/8] net/dpaa: add RSS update func with FMCless Hemant Agrawal
2020-08-26 13:54       ` [dpdk-dev] [PATCH v5 1/8] net/dpaa: add support for fmlib in dpdk Ferruh Yigit
2020-08-26 14:52         ` Ferruh Yigit
2020-08-26 17:06           ` Hemant Agrawal
2020-08-26 21:20             ` Ferruh Yigit
2020-09-01 12:36       ` [dpdk-dev] [PATCH v6 " Hemant Agrawal
2020-09-01 12:36         ` [dpdk-dev] [PATCH v6 2/8] net/dpaa: add VSP support in FMLIB Hemant Agrawal
2020-09-01 12:36         ` [dpdk-dev] [PATCH v6 3/8] net/dpaa: add support for fmcless mode Hemant Agrawal
2020-09-01 12:36         ` [dpdk-dev] [PATCH v6 4/8] bus/dpaa: add shared MAC support Hemant Agrawal
2020-09-01 12:36         ` [dpdk-dev] [PATCH v6 5/8] bus/dpaa: add Virtual Storage Profile port init Hemant Agrawal
2020-09-01 12:36         ` [dpdk-dev] [PATCH v6 6/8] net/dpaa: add support for Virtual Storage Profile Hemant Agrawal
2020-09-01 12:36         ` [dpdk-dev] [PATCH v6 7/8] net/dpaa: add fmc parser support for VSP Hemant Agrawal
2020-09-01 12:36         ` [dpdk-dev] [PATCH v6 8/8] net/dpaa: add RSS update func with FMCless Hemant Agrawal
2020-09-01 15:48         ` [dpdk-dev] [PATCH v6 1/8] net/dpaa: add support for fmlib in dpdk Ferruh Yigit
2020-09-02  5:15           ` Hemant Agrawal
2020-09-02 13:32             ` Ferruh Yigit
2020-09-03  3:24               ` Hemant Agrawal
2020-09-03 19:54                 ` Ferruh Yigit
2020-09-04  8:29         ` [dpdk-dev] [PATCH v7 1/7] net/dpaa: add VSP support in FMLIB Hemant Agrawal
2020-09-04  8:29           ` [dpdk-dev] [PATCH v7 2/7] net/dpaa: add support for fmcless mode Hemant Agrawal
2020-09-04  8:29           ` [dpdk-dev] [PATCH v7 3/7] bus/dpaa: add shared MAC support Hemant Agrawal
2020-09-04  8:29           ` [dpdk-dev] [PATCH v7 4/7] bus/dpaa: add Virtual Storage Profile port init Hemant Agrawal
2020-09-04  8:29           ` [dpdk-dev] [PATCH v7 5/7] net/dpaa: add support for Virtual Storage Profile Hemant Agrawal
2020-09-04  8:29           ` [dpdk-dev] [PATCH v7 6/7] net/dpaa: add fmc parser support for VSP Hemant Agrawal
2020-09-04  8:29           ` [dpdk-dev] [PATCH v7 7/7] net/dpaa: add RSS update func with FMCless Hemant Agrawal
2020-09-04  8:39           ` [dpdk-dev] [PATCH v8 1/8] net/dpaa: add support for fmlib in dpdk Hemant Agrawal
2020-09-04  8:39             ` [dpdk-dev] [PATCH v8 2/8] net/dpaa: add VSP support in FMLIB Hemant Agrawal
2020-09-04  8:39             ` [dpdk-dev] [PATCH v8 3/8] net/dpaa: add support for fmcless mode Hemant Agrawal
2020-09-04  8:39             ` [dpdk-dev] [PATCH v8 4/8] bus/dpaa: add shared MAC support Hemant Agrawal
2020-09-04  8:39             ` [dpdk-dev] [PATCH v8 5/8] bus/dpaa: add Virtual Storage Profile port init Hemant Agrawal
2020-09-04  8:39             ` [dpdk-dev] [PATCH v8 6/8] net/dpaa: add support for Virtual Storage Profile Hemant Agrawal
2020-09-04  8:39             ` [dpdk-dev] [PATCH v8 7/8] net/dpaa: add fmc parser support for VSP Hemant Agrawal
2020-09-04  8:39             ` [dpdk-dev] [PATCH v8 8/8] net/dpaa: add RSS update func with FMCless Hemant Agrawal
2020-09-04 12:51             ` [dpdk-dev] [PATCH v8 1/8] net/dpaa: add support for fmlib in dpdk Ferruh Yigit
2020-09-08  9:55               ` Ferruh Yigit
2020-09-08 10:19                 ` Thomas Monjalon
2020-09-08 12:10                   ` Ferruh Yigit
2020-09-09 11:16                     ` [dpdk-dev] [dpdk-ci] " Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200811123001.30045-2-hemant.agrawal@nxp.com \
    --to=hemant.agrawal@nxp.com \
    --cc=dev@dpdk.org \
    --cc=jun.yang@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.