Hi, Guinan

> -----Original Message-----
> From: dev <dev-boun...@dpdk.org> On Behalf Of Guinan Sun
> Sent: Thursday, June 11, 2020 1:24 PM
> To: dev@dpdk.org
> Cc: Xing, Beilei <beilei.x...@intel.com>; Guo, Jia <jia....@intel.com>; Sun,
> GuinanX <guinanx....@intel.com>
> Subject: [dpdk-dev] [PATCH] net/i40e: enable port filter by switch filter
> 
> This patch enables the filter that supports to create following two rules for 
> the
> same packet type:
> One is to select source port only as input set and the other is for 
> destination
> port only.
> 
> Signed-off-by: Guinan Sun <guinanx....@intel.com>
> ---
>  doc/guides/rel_notes/release_20_08.rst |   7 +
>  drivers/net/i40e/i40e_ethdev.c         | 195 ++++++++++++++++++++-
>  drivers/net/i40e/i40e_ethdev.h         |  17 ++
>  drivers/net/i40e/i40e_flow.c           | 223
> +++++++++++++++++++++++++
>  4 files changed, 441 insertions(+), 1 deletion(-)
> 
> diff --git a/doc/guides/rel_notes/release_20_08.rst
> b/doc/guides/rel_notes/release_20_08.rst
> index 7a67c960c..16870100d 100644
> --- a/doc/guides/rel_notes/release_20_08.rst
> +++ b/doc/guides/rel_notes/release_20_08.rst
> @@ -68,6 +68,13 @@ New Features
> 
>    * Added new PMD devarg ``reclaim_mem_mode``.
> 
> +* **Updated Intel i40e driver.**
> +
> +  Updated i40e PMD with new features and improvements, including:
> +
> +  * Added a new type of cloud filter to support the coexistence of the
> +    following two rules. One selects L4 destination as input set and
> +    the other one selects L4 source port.
> 
>  Removed Items
>  -------------
> diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
> index 970a31cb2..97e6e948a 100644
> --- a/drivers/net/i40e/i40e_ethdev.c
> +++ b/drivers/net/i40e/i40e_ethdev.c
> @@ -7956,6 +7956,13 @@ i40e_dev_tunnel_filter_set(struct i40e_pf *pf,
>  #define I40E_TR_GRE_KEY_MASK                 0x400
>  #define I40E_TR_GRE_KEY_WITH_XSUM_MASK               0x800
>  #define I40E_TR_GRE_NO_KEY_MASK                      0x8000

> +#define I40E_AQC_REPLACE_CLOUD_CMD_INPUT_PORT_TR_WORD0 0x49

A confused question, this 0x49 seems to be a field vector index? Filed vector 
table is 128 byte long, why does this can large than 64?


> #define
> +I40E_AQC_REPLACE_CLOUD_CMD_INPUT_DIRECTION_WORD0 0x41 #define
> +I40E_AQC_REPLACE_CLOUD_CMD_INPUT_INGRESS_WORD0 0x80
> +#define I40E_DIRECTION_INGRESS_KEY           0x8000
> +#define I40E_TR_L4_TYPE_TCP                  0x2
> +#define I40E_TR_L4_TYPE_UDP                  0x4
> +#define I40E_TR_L4_TYPE_SCTP                 0x8
> 
>  static enum
>  i40e_status_code i40e_replace_mpls_l1_filter(struct i40e_pf *pf) @@
> -8254,6 +8261,131 @@ i40e_status_code
> i40e_replace_gtp_cloud_filter(struct i40e_pf *pf)
>       return status;

Reply via email to