DPDK patches and discussions
 help / color / mirror / Atom feed
From: Hemant Agrawal <hemant.agrawal@nxp.com>
To: dev@dpdk.org
Cc: ferruh.yigit@intel.com
Subject: [dpdk-dev] [PATCH v6 2/8] net/dpaa: add VSP support in FMLIB
Date: Tue,  1 Sep 2020 18:06:44 +0530	[thread overview]
Message-ID: <20200901123650.29908-2-hemant.agrawal@nxp.com> (raw)
In-Reply-To: <20200901123650.29908-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>
---
 doc/guides/nics/dpaa.rst            |   8 ++
 drivers/net/dpaa/fmlib/fm_vsp.c     | 148 ++++++++++++++++++++++++++++
 drivers/net/dpaa/fmlib/fm_vsp_ext.h | 131 ++++++++++++++++++++++++
 drivers/net/dpaa/meson.build        |   1 +
 4 files changed, 288 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/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
index 7e6010471..c4bfcd09a 100644
--- a/doc/guides/nics/dpaa.rst
+++ b/doc/guides/nics/dpaa.rst
@@ -335,6 +335,14 @@ FMLIB
    as well. This helps in overcoming the main limitaiton of FMC - i.e. lack
    of dynamic configuration.
 
+VSP (Virtual Storage Profile)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   The storage profiled are means to provide virtualized interface. A ranges of
+   storage profiles cab be associated to Ethernet ports.
+   They are selected during classification. Specify how the frame should be
+   written to memory and which buffer pool to select for packet storange in
+   queues. Start and End margin of buffer can also be configured.
+
 Limitations
 -----------
 
diff --git a/drivers/net/dpaa/fmlib/fm_vsp.c b/drivers/net/dpaa/fmlib/fm_vsp.c
new file mode 100644
index 000000000..78efd93f2
--- /dev/null
+++ b/drivers/net/dpaa/fmlib/fm_vsp.c
@@ -0,0 +1,148 @@
+/* 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_vsp_alloc(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 000000000..b51c46162
--- /dev/null
+++ b/drivers/net/dpaa/fmlib/fm_vsp_ext.h
@@ -0,0 +1,131 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * 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_vsp_alloc(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);
+
+#define FM_PORT_IOC_VSP_ALLOC \
+	_IOW(FM_IOC_TYPE_BASE, FM_PORT_IOC_NUM(38), \
+	ioc_fm_port_vsp_alloc_params_t)
+
+#define FM_IOC_VSP_CONFIG \
+	_IOWR(FM_IOC_TYPE_BASE, FM_IOC_NUM(8), ioc_fm_vsp_params_t)
+
+#define FM_IOC_VSP_INIT	\
+	_IOW(FM_IOC_TYPE_BASE, FM_IOC_NUM(9), ioc_fm_obj_t)
+
+#define FM_IOC_VSP_FREE	\
+	_IOW(FM_IOC_TYPE_BASE, FM_IOC_NUM(10), ioc_fm_obj_t)
+
+#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 b2cd555fd..aca1dccc3 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-09-01 12:43 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     ` [dpdk-dev] [PATCH v4 2/8] net/dpaa: add VSP support in FMLIB Hemant Agrawal
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         ` Hemant Agrawal [this message]
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=20200901123650.29908-2-hemant.agrawal@nxp.com \
    --to=hemant.agrawal@nxp.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).