From: Hemant Agrawal <hemant.agrawal@nxp.com> To: dev@dpdk.org Cc: ferruh.yigit@intel.com Subject: [dpdk-dev] [PATCH v5 2/8] net/dpaa: add VSP support in FMLIB Date: Thu, 13 Aug 2020 23:31:15 +0530 Message-ID: <20200813180121.19480-2-hemant.agrawal@nxp.com> (raw) In-Reply-To: <20200813180121.19480-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..fde8eb77e3 --- /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_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(¶ms, 0, sizeof(ioc_fm_port_vsp_alloc_params_t)); + memcpy(¶ms.params, p_params, sizeof(t_fm_port_vspalloc_params)); + + if (ioctl(p_dev->fd, FM_PORT_IOC_VSP_ALLOC, ¶ms)) + 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(¶m, 0, sizeof(ioc_fm_vsp_params_t)); + memcpy(¶m, 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, ¶m)) { + 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(¶ms.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, + ¶ms)) { + 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..dfb1d65e2c --- /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_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); + +#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
next prev parent reply other threads:[~2020-08-13 18:06 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 ` Hemant Agrawal [this message] 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=20200813180121.19480-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
DPDK patches and discussions This inbox may be cloned and mirrored by anyone: git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \ dev@dpdk.org public-inbox-index dev Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git