All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Adrien Mazarguil <adrien.mazarguil@6wind.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	dev@dpdk.org
Subject: Re: [PATCH v6 00/16] Flow API overhaul for switch offloads
Date: Wed, 25 Apr 2018 18:34:52 +0100	[thread overview]
Message-ID: <61d46aea-12a0-9bc8-d09a-2639fed4bbc6@intel.com> (raw)
In-Reply-To: <20180425151852.7676-1-adrien.mazarguil@6wind.com>

On 4/25/2018 4:27 PM, Adrien Mazarguil wrote:
> As summarized in a prior RFC [1], the flow API (rte_flow) was chosen as a
> means to manage switch offloads supported by many devices (usually going by
> names such as E-Switch or vSwitch) through user-specified flow rules.
> 
> Combined with the need to support encap/decap actions, this requires a
> change in the way flow actions are processed (in order and possibly
> repeated) which modifies the behavior of some of the existing actions, thus
> warranting a major ABI breakage.
> 
> Given this ABI breakage is also required by other work submitted for the
> current release [2][3], this series addresses various longstanding issues
> with the flow API and makes minor improvements in preparation for upcoming
> features.
> 
> Changes summary:
> 
> - Additional error types.
> - Clearer documentation.
> - Improved C++ compatibility.
> - Exhaustive RSS action.
> - Consistent behavior of VLAN pattern item.
> - New "transfer" attribute bringing consistency to VF/PF pattern items.
> - Confusing "PORT" pattern item renamed "PHY_PORT", with new action
>   counterpart.
> - New "PORT_ID" pattern item and action to be used with port representors.
> 
> This series piggybacks on the major ABI update introduced by a prior
> commit [4] for DPDK 18.05 and depends on several fixes [5] which must be
> applied first.
> 
> [1] "[RFC] Switch device offload with DPDK"
>     http://dpdk.org/ml/archives/dev/2018-March/092513.html
> 
> [2] commit 676b605182a5 ("doc: announce ethdev API change for RSS
>     configuration")
> 
> [3] "[PATCH v1 00/21] MLX5 tunnel Rx offloading"
>     http://dpdk.org/ml/archives/dev/2018-March/092264.html
> 
> [4] commit 653e038efc9b ("ethdev: remove versioning of filter control
>     function")
> 
> [5] "[PATCH v6 00/11] Bunch of flow API-related fixes"
>     http://dpdk.org/ml/archives/dev/2018-April/098035.html
> 
> v6 changes:
> 
> - Fixed mlx5 issue raised by Nelio in "ethdev: flatten RSS configuration in
>   flow API".
> - Updated release notes (API update / ABI breakage) in relevant patches.
> - Removed Xueming's deprecation notice in "ethdev: add encap level to RSS
>   flow API action" since it's covered by this series.
> - Reworded a few patches as fixes since they address API flaws.
> - Rebased series once again.
> 
> v5 changes:
> 
> - Fixed errors reported by GCC and Clang in patch 05/16 ("ethdev: alter
>   behavior of flow API actions").
> - Rebased series once again.
> 
> v4 changes:
> 
> - No change besides new acked-by lines, rebased series to address conflicts.
> 
> v3 changes:
> 
> - Rebased series, fixed latest conflicts.
> - Addressed Andrew's comments, see affected patches for details:
>   - Empty RSS types in flow rule means PMD-specific RSS instead of no RSS.
>   - RSS hash function now explicitly compared against
>     RTE_ETH_HASH_FUNCTION_DEFAULT instead of 0 in all PMDs.
>   - sfc PMD updated to also accept Toeplitz.
>   - Implicit VLAN TPID matching now removed from all PMDs.
>   - Default mask upate for VLAN TCI now split as separate patch #11.
>   - Ingress/egress definition clarified in patch #12.
> 
> v2 changes:
> 
> - Squashed "ethdev: update ABI for flow API functions" in subsequent
>   patches.
> - Emphasized ABI impact in relevant commit logs.
> - Modified documentation in "ethdev: alter behavior of flow API actions" to
>   describe how terminating flow rules without any action of the fate kind
>   result in undefined behavior instead of dropping traffic.
> - Fixed other minor documentation formatting issues.
> - Modified "ethdev: refine TPID handling in flow API" as follows:
>   - Using standard macro definitions for VLAN, QinQ and E-Tag EtherTypes.
>   - Fixed endian conversion in sfc.
>   - Replaced a condition in VLAN pattern item processing with an assertion
>     check for i40e.
> 
> Adrien Mazarguil (16):
>   ethdev: add error types to flow API
>   ethdev: clarify flow API pattern items and actions
>   doc: remove flow API migration section
>   ethdev: remove DUP action from flow API
>   ethdev: alter behavior of flow API actions
>   ethdev: fix C99 flexible arrays from flow API
>   ethdev: flatten RSS configuration in flow API
>   ethdev: add hash function to RSS flow API action
>   ethdev: add encap level to RSS flow API action
>   ethdev: fix TPID handling in flow API
>   ethdev: fix default VLAN TCI mask in flow API
>   ethdev: add transfer attribute to flow API
>   ethdev: fix behavior of VF/PF in flow API
>   ethdev: rename physical port item in flow API
>   ethdev: add physical port action to flow API
>   ethdev: add port ID item and action to flow API

Series applied to dpdk-next-net/master, thanks.

      parent reply	other threads:[~2018-04-25 17:34 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-04 15:56 [PATCH v1 00/16] Flow API overhaul for switch offloads Adrien Mazarguil
2018-04-04 15:56 ` [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 ` [PATCH v1 02/16] ethdev: add error types to flow API Adrien Mazarguil
2018-04-04 15:56 ` [PATCH v1 03/16] ethdev: clarify flow API pattern items and actions Adrien Mazarguil
2018-04-04 15:56 ` [PATCH v1 04/16] doc: remove flow API migration section Adrien Mazarguil
2018-04-04 15:56 ` [PATCH v1 05/16] ethdev: remove DUP action from flow API Adrien Mazarguil
2018-04-04 15:56 ` [PATCH v1 06/16] ethdev: alter behavior of flow API actions Adrien Mazarguil
2018-04-04 15:56 ` [PATCH v1 07/16] ethdev: remove C99 flexible arrays from flow API Adrien Mazarguil
2018-04-04 15:56 ` [PATCH v1 08/16] ethdev: flatten RSS configuration in " Adrien Mazarguil
2018-04-04 15:56 ` [PATCH v1 09/16] ethdev: add hash function to RSS flow API action Adrien Mazarguil
2018-04-04 15:56 ` [PATCH v1 10/16] ethdev: add encap level " Adrien Mazarguil
2018-04-04 15:56 ` [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 ` [PATCH v1 12/16] ethdev: add transfer attribute to " Adrien Mazarguil
2018-04-04 15:56 ` [PATCH v1 13/16] ethdev: update behavior of VF/PF in " Adrien Mazarguil
2018-04-04 15:56 ` [PATCH v1 14/16] ethdev: rename physical port item " Adrien Mazarguil
2018-04-04 15:56 ` [PATCH v1 15/16] ethdev: add physical port action to " Adrien Mazarguil
2018-04-04 15:56 ` [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 ` [PATCH v2 00/15] Flow API overhaul for switch offloads Adrien Mazarguil
2018-04-06 13:25   ` [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   ` [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   ` [PATCH v2 03/15] doc: remove flow API migration section Adrien Mazarguil
2018-04-07  9:22     ` Andrew Rybchenko
2018-04-06 13:25   ` [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   ` [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   ` [PATCH v2 06/15] ethdev: remove C99 flexible arrays from flow API Adrien Mazarguil
2018-04-06 13:25   ` [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   ` [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   ` [PATCH v2 09/15] ethdev: add encap level " Adrien Mazarguil
2018-04-07  8:27     ` Andrew Rybchenko
2018-04-06 13:25   ` [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
2018-04-06 13:25   ` [PATCH v2 11/15] ethdev: add transfer attribute to " Adrien Mazarguil
2018-04-06 13:25   ` [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   ` [PATCH v2 13/15] ethdev: rename physical port item " Adrien Mazarguil
2018-04-06 13:25   ` [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   ` [PATCH v2 15/15] ethdev: add port ID item and " Adrien Mazarguil
2018-04-10 16:36   ` [PATCH v3 00/16] Flow API overhaul for switch offloads Adrien Mazarguil
2018-04-10 16:36     ` [PATCH v3 01/16] ethdev: add error types to flow API Adrien Mazarguil
2018-04-10 16:36     ` [PATCH v3 02/16] ethdev: clarify flow API pattern items and actions Adrien Mazarguil
2018-04-10 16:36     ` [PATCH v3 03/16] doc: remove flow API migration section Adrien Mazarguil
2018-04-10 16:36     ` [PATCH v3 04/16] ethdev: remove DUP action from flow API Adrien Mazarguil
2018-04-10 16:36     ` [PATCH v3 05/16] ethdev: alter behavior of flow API actions Adrien Mazarguil
2018-04-10 16:36     ` [PATCH v3 06/16] ethdev: remove C99 flexible arrays from flow API Adrien Mazarguil
2018-04-10 16:36     ` [PATCH v3 07/16] ethdev: flatten RSS configuration in " Adrien Mazarguil
2018-04-11 13:06       ` Andrew Rybchenko
2018-04-10 16:36     ` [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     ` [PATCH v3 09/16] ethdev: add encap level " Adrien Mazarguil
2018-04-10 16:36     ` [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     ` [PATCH v3 11/16] ethdev: limit default VLAN TCI mask " Adrien Mazarguil
2018-04-11 12:48       ` Andrew Rybchenko
2018-04-10 16:37     ` [PATCH v3 12/16] ethdev: add transfer attribute to " Adrien Mazarguil
2018-04-10 16:37     ` [PATCH v3 13/16] ethdev: update behavior of VF/PF in " Adrien Mazarguil
2018-04-10 16:37     ` [PATCH v3 14/16] ethdev: rename physical port item " Adrien Mazarguil
2018-04-11 12:57       ` Andrew Rybchenko
2018-04-10 16:37     ` [PATCH v3 15/16] ethdev: add physical port action to " Adrien Mazarguil
2018-04-11 13:00       ` Andrew Rybchenko
2018-04-10 16:37     ` [PATCH v3 16/16] ethdev: add port ID item and " Adrien Mazarguil
2018-04-11 13:02       ` Andrew Rybchenko
2018-04-16 16:22     ` [PATCH v4 00/16] Flow API overhaul for switch offloads Adrien Mazarguil
2018-04-16 16:22       ` [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       ` [PATCH v4 02/16] ethdev: clarify flow API pattern items and actions Adrien Mazarguil
2018-04-16 16:22       ` [PATCH v4 03/16] doc: remove flow API migration section Adrien Mazarguil
2018-04-16 16:22       ` [PATCH v4 04/16] ethdev: remove DUP action from flow API Adrien Mazarguil
2018-04-16 16:22       ` [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       ` [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       ` [PATCH v4 07/16] ethdev: flatten RSS configuration in " Adrien Mazarguil
2018-04-16 16:22       ` [PATCH v4 08/16] ethdev: add hash function to RSS flow API action Adrien Mazarguil
2018-04-16 16:22       ` [PATCH v4 09/16] ethdev: add encap level " Adrien Mazarguil
2018-04-16 16:22       ` [PATCH v4 10/16] ethdev: refine TPID handling in flow API Adrien Mazarguil
2018-04-16 16:22       ` [PATCH v4 11/16] ethdev: limit default VLAN TCI mask " Adrien Mazarguil
2018-04-16 16:22       ` [PATCH v4 12/16] ethdev: add transfer attribute to " Adrien Mazarguil
2018-04-16 16:22       ` [PATCH v4 13/16] ethdev: update behavior of VF/PF in " Adrien Mazarguil
2018-04-16 16:22       ` [PATCH v4 14/16] ethdev: rename physical port item " Adrien Mazarguil
2018-04-16 16:22       ` [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       ` [PATCH v4 16/16] ethdev: add port ID item and " Adrien Mazarguil
2018-04-19 10:16       ` [PATCH v5 00/16] Flow API overhaul for switch offloads Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 01/16] ethdev: add error types to flow API Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 02/16] ethdev: clarify flow API pattern items and actions Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 03/16] doc: remove flow API migration section Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 04/16] ethdev: remove DUP action from flow API Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 05/16] ethdev: alter behavior of flow API actions Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 06/16] ethdev: remove C99 flexible arrays from flow API Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 07/16] ethdev: flatten RSS configuration in " Adrien Mazarguil
2018-04-23 15:05           ` Nélio Laranjeiro
2018-04-19 10:16         ` [PATCH v5 08/16] ethdev: add hash function to RSS flow API action Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 09/16] ethdev: add encap level " Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 10/16] ethdev: refine TPID handling in flow API Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 11/16] ethdev: limit default VLAN TCI mask " Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 12/16] ethdev: add transfer attribute to " Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 13/16] ethdev: update behavior of VF/PF in " Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 14/16] ethdev: rename physical port item " Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 15/16] ethdev: add physical port action to " Adrien Mazarguil
2018-04-19 10:16         ` [PATCH v5 16/16] ethdev: add port ID item and " Adrien Mazarguil
2018-04-25 15:27         ` [PATCH v6 00/16] Flow API overhaul for switch offloads Adrien Mazarguil
2018-04-25 15:27           ` [PATCH v6 01/16] ethdev: add error types to flow API Adrien Mazarguil
2018-04-25 15:27           ` [PATCH v6 02/16] ethdev: clarify flow API pattern items and actions Adrien Mazarguil
2018-04-25 15:27           ` [PATCH v6 03/16] doc: remove flow API migration section Adrien Mazarguil
2018-04-25 15:27           ` [PATCH v6 04/16] ethdev: remove DUP action from flow API Adrien Mazarguil
2018-04-25 15:27           ` [PATCH v6 05/16] ethdev: alter behavior of flow API actions Adrien Mazarguil
2018-04-25 15:27           ` [PATCH v6 06/16] ethdev: fix C99 flexible arrays from flow API Adrien Mazarguil
2018-04-25 15:27           ` [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           ` [PATCH v6 08/16] ethdev: add hash function to RSS flow API action Adrien Mazarguil
2018-04-25 15:27           ` [PATCH v6 09/16] ethdev: add encap level " Adrien Mazarguil
2018-04-25 15:27           ` [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           ` [PATCH v6 11/16] ethdev: fix default VLAN TCI mask " Adrien Mazarguil
2018-04-25 15:28           ` [PATCH v6 12/16] ethdev: add transfer attribute to " Adrien Mazarguil
2018-04-25 15:28           ` [PATCH v6 13/16] ethdev: fix behavior of VF/PF in " Adrien Mazarguil
2018-04-25 15:28           ` [PATCH v6 14/16] ethdev: rename physical port item " Adrien Mazarguil
2018-04-25 15:28           ` [PATCH v6 15/16] ethdev: add physical port action to " Adrien Mazarguil
2018-04-25 15:28           ` [PATCH v6 16/16] ethdev: add port ID item and " Adrien Mazarguil
2018-04-25 17:34           ` Ferruh Yigit [this message]

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=61d46aea-12a0-9bc8-d09a-2639fed4bbc6@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=adrien.mazarguil@6wind.com \
    --cc=dev@dpdk.org \
    --cc=thomas@monjalon.net \
    /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.