DPDK patches and discussions
 help / color / mirror / Atom feed
From: Adrien Mazarguil <adrien.mazarguil@6wind.com>
To: Andrew Rybchenko <arybchenko@solarflare.com>
Cc: Thomas Monjalon <thomas@monjalon.net>,
	Ferruh Yigit <ferruh.yigit@intel.com>,
	dev@dpdk.org, Wenzhuo Lu <wenzhuo.lu@intel.com>,
	Jingjing Wu <jingjing.wu@intel.com>,
	Ajit Khaparde <ajit.khaparde@broadcom.com>,
	Somnath Kotur <somnath.kotur@broadcom.com>,
	John Daley <johndale@cisco.com>,
	Hyong Youb Kim <hyonkim@cisco.com>,
	Beilei Xing <beilei.xing@intel.com>,
	Qi Zhang <qi.z.zhang@intel.com>,
	Konstantin Ananyev <konstantin.ananyev@intel.com>,
	Nelio Laranjeiro <nelio.laranjeiro@6wind.com>,
	Yongseok Koh <yskoh@mellanox.com>,
	Tomasz Duszynski <tdu@semihalf.com>,
	Dmitri Epshtein <dima@marvell.com>,
	Natalie Samsonov <nsamsono@marvell.com>,
	Jianbo Liu <jianbo.liu@arm.com>,
	Pascal Mazon <pascal.mazon@6wind.com>
Subject: Re: [dpdk-dev] [PATCH v2 10/15] ethdev: refine TPID handling in flow API
Date: Mon, 9 Apr 2018 16:42:07 +0200	[thread overview]
Message-ID: <20180409144207.GY4957@6wind.com> (raw)
In-Reply-To: <81ba063f-2c8d-9711-9cef-007cfec5638a@solarflare.com>

On Fri, Apr 06, 2018 at 08:11:38PM +0300, Andrew Rybchenko wrote:
> On 04/06/2018 04:25 PM, Adrien Mazarguil wrote:
> > TPID handling in rte_flow VLAN and E_TAG pattern item definitions is not
> > consistent with the normal stacking order of pattern items, which is
> > confusing to applications.
> > 
> > Problem is that when followed by one of these layers, the EtherType field
> > of the preceding layer keeps its "inner" definition, and the "outer" TPID
> > is provided by the subsequent layer, the reverse of how a packet looks like
> > on the wire:
> > 
> >   Wire:     [ ETH TPID = A | VLAN EtherType = B | B DATA ]
> >   rte_flow: [ ETH EtherType = B | VLAN TPID = A | B DATA ]
> > 
> > Worse, when QinQ is involved, the stacking order of VLAN layers is
> > unspecified. It is unclear whether it should be reversed (innermost to
> > outermost) as well given TPID applies to the previous layer:
> > 
> >   Wire:       [ ETH TPID = A | VLAN TPID = B | VLAN EtherType = C | C DATA ]
> >   rte_flow 1: [ ETH EtherType = C | VLAN TPID = B | VLAN TPID = A | C DATA ]
> >   rte_flow 2: [ ETH EtherType = C | VLAN TPID = A | VLAN TPID = B | C DATA ]
> > 
> > While specifying EtherType/TPID is hopefully rarely necessary, the stacking
> > order in case of QinQ and the lack of documentation remain an issue.
> > 
> > This patch replaces TPID in the VLAN pattern item with an inner
> > EtherType/TPID as is usually done everywhere else (e.g. struct vlan_hdr),
> > clarifies documentation and updates all relevant code.
> > 
> > It breaks ABI compatibility for the following public functions:
> > 
> > - rte_flow_copy()
> > - rte_flow_create()
> > - rte_flow_query()
> > - rte_flow_validate()
> > 
> > Summary of changes for PMDs that implement ETH, VLAN or E_TAG pattern
> > items:
> > 
> > - bnxt: EtherType matching is supported, and vlan->inner_type overrides
> >    eth->type if the latter has standard TPID value 0x8100, otherwise an
> >    error is triggered.
> > 
> > - e1000: EtherType matching is only supported with the ETHERTYPE filter,
> >    which does not support VLAN matching, therefore no impact.
> > 
> > - enic: same as bnxt.
> > 
> > - i40e: same as bnxt with a configurable TPID value for the FDIR filter,
> >    with existing limitations on allowed EtherType values. The remaining
> >    filter types (VXLAN, NVGRE, QINQ) do not support EtherType matching.
> > 
> > - ixgbe: same as e1000, with additional minor change to rely on the new
> >    E-Tag macro definition.
> > 
> > - mlx4: EtherType/TPID matching is not supported, no impact.
> > 
> > - mlx5: same as bnxt.
> > 
> > - mrvl: EtherType matching is supported but eth->type cannot be specified
> >    when a VLAN item is present. However vlan->inner_type is used if
> >    specified.
> > 
> > - sfc: same as bnxt with QinQ TPID value 0x88a8 additionally supported.
> > 
> > - tap: same as bnxt.
> > 
> > Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
> > Cc: Ferruh Yigit <ferruh.yigit@intel.com>
> > Cc: Thomas Monjalon <thomas@monjalon.net>
> > Cc: Wenzhuo Lu <wenzhuo.lu@intel.com>
> > Cc: Jingjing Wu <jingjing.wu@intel.com>
> > Cc: Ajit Khaparde <ajit.khaparde@broadcom.com>
> > Cc: Somnath Kotur <somnath.kotur@broadcom.com>
> > Cc: John Daley <johndale@cisco.com>
> > Cc: Hyong Youb Kim <hyonkim@cisco.com>
> > Cc: Beilei Xing <beilei.xing@intel.com>
> > Cc: Qi Zhang <qi.z.zhang@intel.com>
> > Cc: Konstantin Ananyev <konstantin.ananyev@intel.com>
> > Cc: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
> > Cc: Yongseok Koh <yskoh@mellanox.com>
> > Cc: Tomasz Duszynski <tdu@semihalf.com>
> > Cc: Dmitri Epshtein <dima@marvell.com>
> > Cc: Natalie Samsonov <nsamsono@marvell.com>
> > Cc: Jianbo Liu <jianbo.liu@arm.com>
> > Cc: Andrew Rybchenko <arybchenko@solarflare.com>
> > Cc: Pascal Mazon <pascal.mazon@6wind.com>
> > 
> > ---
> > 
> > Hi PMD maintainers, while I'm pretty confident in these changes, I could
> > not validate them with all devices.
> > 
> > It would be great if you could apply this patch, run testpmd, create VLAN
> > flow rules with/without inner EtherType as described and send matching
> > traffic while making sure nothing was broken in the process.
> > 
> > Thanks!
> > ---
> >   app/test-pmd/cmdline_flow.c                 | 17 +++---
> >   doc/guides/nics/tap.rst                     |  2 +-
> >   doc/guides/prog_guide/rte_flow.rst          | 21 ++++++--
> >   doc/guides/testpmd_app_ug/testpmd_funcs.rst |  4 +-
> >   drivers/net/bnxt/bnxt_filter.c              | 39 +++++++++++---
> >   drivers/net/enic/enic_flow.c                | 22 +++++---
> >   drivers/net/i40e/i40e_flow.c                | 69 +++++++++++++++++++-----
> >   drivers/net/ixgbe/ixgbe_ethdev.c            |  3 +-
> >   drivers/net/mlx5/mlx5_flow.c                | 16 +++++-
> >   drivers/net/mvpp2/mrvl_flow.c               | 27 +++++++---
> >   drivers/net/sfc/sfc_flow.c                  | 28 ++++++++++
> >   drivers/net/tap/tap_flow.c                  | 16 ++++--
> >   lib/librte_ether/rte_flow.h                 | 24 ++++++---
> >   lib/librte_net/rte_ether.h                  |  1 +
> >   14 files changed, 229 insertions(+), 60 deletions(-)
> 
> <...>
> 
> > diff --git a/drivers/net/sfc/sfc_flow.c b/drivers/net/sfc/sfc_flow.c
> > index bc4974edf..f61d4ec92 100644
> > --- a/drivers/net/sfc/sfc_flow.c
> > +++ b/drivers/net/sfc/sfc_flow.c
> > @@ -7,6 +7,7 @@
> >    * for Solarflare) and Solarflare Communications, Inc.
> >    */
> > +#include <rte_byteorder.h>
> >   #include <rte_tailq.h>
> >   #include <rte_common.h>
> >   #include <rte_ethdev_driver.h>
> > @@ -351,6 +352,7 @@ sfc_flow_parse_vlan(const struct rte_flow_item *item,
> >   	const struct rte_flow_item_vlan *mask = NULL;
> >   	const struct rte_flow_item_vlan supp_mask = {
> >   		.tci = rte_cpu_to_be_16(ETH_VLAN_ID_MAX),
> > +		.inner_type = RTE_BE16(0xffff),
> >   	};
> >   	rc = sfc_flow_parse_init(item,
> > @@ -393,6 +395,32 @@ sfc_flow_parse_vlan(const struct rte_flow_item *item,
> >   		return -rte_errno;
> >   	}
> > +	/*
> > +	 * If an EtherType was already specified, make sure it is a valid
> > +	 * TPID for the current VLAN layer before overwriting it with the
> > +	 * specified inner type.
> > +	 */
> > +	if (efx_spec->efs_match_flags & EFX_FILTER_MATCH_ETHER_TYPE &&
> > +	    efx_spec->efs_ether_type != RTE_BE16(ETHER_TYPE_VLAN) &&
> > +	    efx_spec->efs_ether_type != RTE_BE16(ETHER_TYPE_QINQ)) {
> 
> 1. efs_ether_type is host-endian

Whoops, looks like I only half-fixed that endian issue in v2.

> 2. HW recognizes more TPIDs (0x9100, 0x9200, 0x9300) as VLAN
> 3. However, if some TPID is specified, user may expect that only VLAN
> packets
>     with specified TPID match. It is false expectation since the information
> is not
>     passed to HW to match (and there is no way to match).
>     So, it is safer to deny TPID specification (i.e. keep the first
> condition only).
>     From the flexibility point of view it is possible to allow any, but it
> should be
>     documented that exact match is not checked in fact.

Thanks for pointing this out. I've decided to update all PMDs to disallow
TPID matching because many devices support multiple concurrent TPIDs and
there's no way to match a given one explicitly. This should make the patch
simpler as well.

> > +		rte_flow_error_set(error, EINVAL,
> > +				   RTE_FLOW_ERROR_TYPE_ITEM, item,
> > +				   "Unsupported outer TPID");
> > +		return -rte_errno;
> > +	}
> > +	if (!mask->inner_type) {
> > +		efx_spec->efs_match_flags &= ~EFX_FILTER_MATCH_ETHER_TYPE;
> > +		efx_spec->efs_ether_type = RTE_BE16(0x0000);
> 
> Nothing should be done here if above is done.
> 
> > +	} else if (mask->inner_type == supp_mask.inner_type) {
> > +		efx_spec->efs_match_flags |= EFX_FILTER_MATCH_ETHER_TYPE;
> > +		efx_spec->efs_ether_type = rte_bswap16(spec->inner_type);
> > +	} else {
> > +		rte_flow_error_set(error, EINVAL,
> > +				   RTE_FLOW_ERROR_TYPE_ITEM, item,
> > +				   "Bad mask for VLAN inner_type");
> > +		return -rte_errno;
> > +	}
> > +
> >   	return 0;
> >   }
> 
> <...>
> 
> > diff --git a/lib/librte_ether/rte_flow.h b/lib/librte_ether/rte_flow.h
> > index fc7e6705d..b13b0e2e6 100644
> > --- a/lib/librte_ether/rte_flow.h
> > +++ b/lib/librte_ether/rte_flow.h
> > @@ -475,19 +481,20 @@ static const struct rte_flow_item_eth rte_flow_item_eth_mask = {
> >    *
> >    * Matches an 802.1Q/ad VLAN tag.
> >    *
> > - * This type normally follows either RTE_FLOW_ITEM_TYPE_ETH or
> > - * RTE_FLOW_ITEM_TYPE_VLAN.
> > + * The corresponding standard outer EtherType (TPID) values are
> > + * ETHER_TYPE_VLAN or ETHER_TYPE_QINQ. It can be overridden by the preceding
> > + * pattern item.
> >    */
> >   struct rte_flow_item_vlan {
> > -	rte_be16_t tpid; /**< Tag protocol identifier. */
> >   	rte_be16_t tci; /**< Tag control information. */
> > +	rte_be16_t inner_type; /**< Inner EtherType or TPID. */
> >   };
> >   /** Default mask for RTE_FLOW_ITEM_TYPE_VLAN. */
> >   #ifndef __cplusplus
> >   static const struct rte_flow_item_vlan rte_flow_item_vlan_mask = {
> > -	.tpid = RTE_BE16(0x0000),
> > -	.tci = RTE_BE16(0xffff),
> > +	.tci = RTE_BE16(0x0fff),
> 
> It looks like unrelated change.

Yep, it should have been in a separate patch. I'll split it in my next
update. Thanks for reviewing.

> 
> > +	.inner_type = RTE_BE16(0x0000),
> >   };
> >   #endif
> 
> <...>
> 

-- 
Adrien Mazarguil
6WIND

  reply	other threads:[~2018-04-09 14:42 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-04 15:56 [dpdk-dev] [PATCH v1 00/16] Flow API overhaul for switch offloads Adrien Mazarguil
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 01/16] ethdev: update ABI for flow API functions Adrien Mazarguil
2018-04-05 10:06   ` Thomas Monjalon
2018-04-05 12:44     ` Adrien Mazarguil
2018-04-05 13:36       ` Thomas Monjalon
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 02/16] ethdev: add error types to flow API Adrien Mazarguil
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 03/16] ethdev: clarify flow API pattern items and actions Adrien Mazarguil
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 04/16] doc: remove flow API migration section Adrien Mazarguil
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 05/16] ethdev: remove DUP action from flow API Adrien Mazarguil
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 06/16] ethdev: alter behavior of flow API actions Adrien Mazarguil
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 07/16] ethdev: remove C99 flexible arrays from flow API Adrien Mazarguil
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 08/16] ethdev: flatten RSS configuration in " Adrien Mazarguil
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 09/16] ethdev: add hash function to RSS flow API action Adrien Mazarguil
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 10/16] ethdev: add encap level " Adrien Mazarguil
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 11/16] ethdev: refine TPID handling in flow API Adrien Mazarguil
2018-04-05  9:55   ` Nélio Laranjeiro
2018-04-05 12:02     ` Adrien Mazarguil
2018-04-05 14:20   ` Zhang, Qi Z
2018-04-05 14:39     ` Adrien Mazarguil
2018-04-06  4:59       ` Zhang, Qi Z
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 12/16] ethdev: add transfer attribute to " Adrien Mazarguil
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 13/16] ethdev: update behavior of VF/PF in " Adrien Mazarguil
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 14/16] ethdev: rename physical port item " Adrien Mazarguil
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 15/16] ethdev: add physical port action to " Adrien Mazarguil
2018-04-04 15:56 ` [dpdk-dev] [PATCH v1 16/16] ethdev: add port ID item and " Adrien Mazarguil
2018-04-05 12:24   ` Zhang, Qi Z
2018-04-06 13:25 ` [dpdk-dev] [PATCH v2 00/15] Flow API overhaul for switch offloads Adrien Mazarguil
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 01/15] ethdev: add error types to flow API Adrien Mazarguil
2018-04-07  9:15     ` Andrew Rybchenko
2018-04-07  9:18       ` Andrew Rybchenko
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 02/15] ethdev: clarify flow API pattern items and actions Adrien Mazarguil
2018-04-07  9:21     ` Andrew Rybchenko
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 03/15] doc: remove flow API migration section Adrien Mazarguil
2018-04-07  9:22     ` Andrew Rybchenko
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 04/15] ethdev: remove DUP action from flow API Adrien Mazarguil
2018-04-07  9:23     ` Andrew Rybchenko
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 05/15] ethdev: alter behavior of flow API actions Adrien Mazarguil
2018-04-06 15:06     ` Andrew Rybchenko
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 06/15] ethdev: remove C99 flexible arrays from flow API Adrien Mazarguil
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 07/15] ethdev: flatten RSS configuration in " Adrien Mazarguil
2018-04-07  9:05     ` Andrew Rybchenko
2018-04-09 14:42       ` Adrien Mazarguil
2018-04-11 13:21         ` Andrew Rybchenko
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 08/15] ethdev: add hash function to RSS flow API action Adrien Mazarguil
2018-04-06 15:41     ` Andrew Rybchenko
2018-04-09 14:41       ` Adrien Mazarguil
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 09/15] ethdev: add encap level " Adrien Mazarguil
2018-04-07  8:27     ` Andrew Rybchenko
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 10/15] ethdev: refine TPID handling in flow API Adrien Mazarguil
2018-04-06 17:11     ` Andrew Rybchenko
2018-04-09 14:42       ` Adrien Mazarguil [this message]
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 11/15] ethdev: add transfer attribute to " Adrien Mazarguil
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 12/15] ethdev: update behavior of VF/PF in " Adrien Mazarguil
2018-04-07  9:41     ` Andrew Rybchenko
2018-04-09 14:49       ` Adrien Mazarguil
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 13/15] ethdev: rename physical port item " Adrien Mazarguil
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 14/15] ethdev: add physical port action to " Adrien Mazarguil
2018-04-07  9:51     ` Andrew Rybchenko
2018-04-09 15:00       ` Adrien Mazarguil
2018-04-06 13:25   ` [dpdk-dev] [PATCH v2 15/15] ethdev: add port ID item and " Adrien Mazarguil
2018-04-10 16:36   ` [dpdk-dev] [PATCH v3 00/16] Flow API overhaul for switch offloads Adrien Mazarguil
2018-04-10 16:36     ` [dpdk-dev] [PATCH v3 01/16] ethdev: add error types to flow API Adrien Mazarguil
2018-04-10 16:36     ` [dpdk-dev] [PATCH v3 02/16] ethdev: clarify flow API pattern items and actions Adrien Mazarguil
2018-04-10 16:36     ` [dpdk-dev] [PATCH v3 03/16] doc: remove flow API migration section Adrien Mazarguil
2018-04-10 16:36     ` [dpdk-dev] [PATCH v3 04/16] ethdev: remove DUP action from flow API Adrien Mazarguil
2018-04-10 16:36     ` [dpdk-dev] [PATCH v3 05/16] ethdev: alter behavior of flow API actions Adrien Mazarguil
2018-04-10 16:36     ` [dpdk-dev] [PATCH v3 06/16] ethdev: remove C99 flexible arrays from flow API Adrien Mazarguil
2018-04-10 16:36     ` [dpdk-dev] [PATCH v3 07/16] ethdev: flatten RSS configuration in " Adrien Mazarguil
2018-04-11 13:06       ` Andrew Rybchenko
2018-04-10 16:36     ` [dpdk-dev] [PATCH v3 08/16] ethdev: add hash function to RSS flow API action Adrien Mazarguil
2018-04-11 12:40       ` Andrew Rybchenko
2018-04-10 16:36     ` [dpdk-dev] [PATCH v3 09/16] ethdev: add encap level " Adrien Mazarguil
2018-04-10 16:36     ` [dpdk-dev] [PATCH v3 10/16] ethdev: refine TPID handling in flow API Adrien Mazarguil
2018-04-11 12:45       ` Andrew Rybchenko
2018-04-10 16:36     ` [dpdk-dev] [PATCH v3 11/16] ethdev: limit default VLAN TCI mask " Adrien Mazarguil
2018-04-11 12:48       ` Andrew Rybchenko
2018-04-10 16:37     ` [dpdk-dev] [PATCH v3 12/16] ethdev: add transfer attribute to " Adrien Mazarguil
2018-04-10 16:37     ` [dpdk-dev] [PATCH v3 13/16] ethdev: update behavior of VF/PF in " Adrien Mazarguil
2018-04-10 16:37     ` [dpdk-dev] [PATCH v3 14/16] ethdev: rename physical port item " Adrien Mazarguil
2018-04-11 12:57       ` Andrew Rybchenko
2018-04-10 16:37     ` [dpdk-dev] [PATCH v3 15/16] ethdev: add physical port action to " Adrien Mazarguil
2018-04-11 13:00       ` Andrew Rybchenko
2018-04-10 16:37     ` [dpdk-dev] [PATCH v3 16/16] ethdev: add port ID item and " Adrien Mazarguil
2018-04-11 13:02       ` Andrew Rybchenko
2018-04-16 16:22     ` [dpdk-dev] [PATCH v4 00/16] Flow API overhaul for switch offloads Adrien Mazarguil
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 01/16] ethdev: add error types to flow API Adrien Mazarguil
2018-04-17 19:37         ` Ferruh Yigit
2018-04-18  8:41           ` Adrien Mazarguil
2018-04-18  9:24             ` Ferruh Yigit
2018-04-19  9:48               ` Adrien Mazarguil
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 02/16] ethdev: clarify flow API pattern items and actions Adrien Mazarguil
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 03/16] doc: remove flow API migration section Adrien Mazarguil
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 04/16] ethdev: remove DUP action from flow API Adrien Mazarguil
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 05/16] ethdev: alter behavior of flow API actions Adrien Mazarguil
2018-04-18 12:26         ` Andrew Rybchenko
2018-04-18 14:58           ` Adrien Mazarguil
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 06/16] ethdev: remove C99 flexible arrays from flow API Adrien Mazarguil
2018-04-17 20:18         ` Thomas Monjalon
2018-04-18  6:45           ` Nélio Laranjeiro
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 07/16] ethdev: flatten RSS configuration in " Adrien Mazarguil
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 08/16] ethdev: add hash function to RSS flow API action Adrien Mazarguil
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 09/16] ethdev: add encap level " Adrien Mazarguil
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 10/16] ethdev: refine TPID handling in flow API Adrien Mazarguil
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 11/16] ethdev: limit default VLAN TCI mask " Adrien Mazarguil
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 12/16] ethdev: add transfer attribute to " Adrien Mazarguil
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 13/16] ethdev: update behavior of VF/PF in " Adrien Mazarguil
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 14/16] ethdev: rename physical port item " Adrien Mazarguil
2018-04-16 16:22       ` [dpdk-dev] [PATCH v4 15/16] ethdev: add physical port action to " Adrien Mazarguil
2018-04-17  9:08         ` Mohammad Abdul Awal
2018-04-16 16:23       ` [dpdk-dev] [PATCH v4 16/16] ethdev: add port ID item and " Adrien Mazarguil
2018-04-19 10:16       ` [dpdk-dev] [PATCH v5 00/16] Flow API overhaul for switch offloads Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 01/16] ethdev: add error types to flow API Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 02/16] ethdev: clarify flow API pattern items and actions Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 03/16] doc: remove flow API migration section Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 04/16] ethdev: remove DUP action from flow API Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 05/16] ethdev: alter behavior of flow API actions Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 06/16] ethdev: remove C99 flexible arrays from flow API Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 07/16] ethdev: flatten RSS configuration in " Adrien Mazarguil
2018-04-23 15:05           ` Nélio Laranjeiro
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 08/16] ethdev: add hash function to RSS flow API action Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 09/16] ethdev: add encap level " Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 10/16] ethdev: refine TPID handling in flow API Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 11/16] ethdev: limit default VLAN TCI mask " Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 12/16] ethdev: add transfer attribute to " Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 13/16] ethdev: update behavior of VF/PF in " Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 14/16] ethdev: rename physical port item " Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 15/16] ethdev: add physical port action to " Adrien Mazarguil
2018-04-19 10:16         ` [dpdk-dev] [PATCH v5 16/16] ethdev: add port ID item and " Adrien Mazarguil
2018-04-25 15:27         ` [dpdk-dev] [PATCH v6 00/16] Flow API overhaul for switch offloads Adrien Mazarguil
2018-04-25 15:27           ` [dpdk-dev] [PATCH v6 01/16] ethdev: add error types to flow API Adrien Mazarguil
2018-04-25 15:27           ` [dpdk-dev] [PATCH v6 02/16] ethdev: clarify flow API pattern items and actions Adrien Mazarguil
2018-04-25 15:27           ` [dpdk-dev] [PATCH v6 03/16] doc: remove flow API migration section Adrien Mazarguil
2018-04-25 15:27           ` [dpdk-dev] [PATCH v6 04/16] ethdev: remove DUP action from flow API Adrien Mazarguil
2018-04-25 15:27           ` [dpdk-dev] [PATCH v6 05/16] ethdev: alter behavior of flow API actions Adrien Mazarguil
2018-04-25 15:27           ` [dpdk-dev] [PATCH v6 06/16] ethdev: fix C99 flexible arrays from flow API Adrien Mazarguil
2018-04-25 15:27           ` [dpdk-dev] [PATCH v6 07/16] ethdev: flatten RSS configuration in " Adrien Mazarguil
2018-04-28  3:46             ` Zhao1, Wei
2018-04-28  5:28               ` Peng, Yuan
2018-04-28  7:45                 ` Peng, Yuan
2018-05-03 12:48                   ` Adrien Mazarguil
2018-05-04  9:31                     ` Zhao1, Wei
2018-05-04  9:44                       ` Adrien Mazarguil
2018-05-07  7:42                         ` Peng, Yuan
2018-05-07  8:11                         ` Peng, Yuan
2018-05-07  8:16                         ` Zhao1, Wei
2018-04-25 15:27           ` [dpdk-dev] [PATCH v6 08/16] ethdev: add hash function to RSS flow API action Adrien Mazarguil
2018-04-25 15:27           ` [dpdk-dev] [PATCH v6 09/16] ethdev: add encap level " Adrien Mazarguil
2018-04-25 15:27           ` [dpdk-dev] [PATCH v6 10/16] ethdev: fix TPID handling in flow API Adrien Mazarguil
2018-04-25 16:10             ` Adrien Mazarguil
2018-04-25 16:15               ` Ferruh Yigit
2018-04-25 15:27           ` [dpdk-dev] [PATCH v6 11/16] ethdev: fix default VLAN TCI mask " Adrien Mazarguil
2018-04-25 15:28           ` [dpdk-dev] [PATCH v6 12/16] ethdev: add transfer attribute to " Adrien Mazarguil
2018-04-25 15:28           ` [dpdk-dev] [PATCH v6 13/16] ethdev: fix behavior of VF/PF in " Adrien Mazarguil
2018-04-25 15:28           ` [dpdk-dev] [PATCH v6 14/16] ethdev: rename physical port item " Adrien Mazarguil
2018-04-25 15:28           ` [dpdk-dev] [PATCH v6 15/16] ethdev: add physical port action to " Adrien Mazarguil
2018-04-25 15:28           ` [dpdk-dev] [PATCH v6 16/16] ethdev: add port ID item and " Adrien Mazarguil
2018-04-25 17:34           ` [dpdk-dev] [PATCH v6 00/16] Flow API overhaul for switch offloads 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=20180409144207.GY4957@6wind.com \
    --to=adrien.mazarguil@6wind.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=arybchenko@solarflare.com \
    --cc=beilei.xing@intel.com \
    --cc=dev@dpdk.org \
    --cc=dima@marvell.com \
    --cc=ferruh.yigit@intel.com \
    --cc=hyonkim@cisco.com \
    --cc=jianbo.liu@arm.com \
    --cc=jingjing.wu@intel.com \
    --cc=johndale@cisco.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=nelio.laranjeiro@6wind.com \
    --cc=nsamsono@marvell.com \
    --cc=pascal.mazon@6wind.com \
    --cc=qi.z.zhang@intel.com \
    --cc=somnath.kotur@broadcom.com \
    --cc=tdu@semihalf.com \
    --cc=thomas@monjalon.net \
    --cc=wenzhuo.lu@intel.com \
    --cc=yskoh@mellanox.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).