DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Xing, Beilei" <beilei.xing@intel.com>
To: "Cui, LunyuanX" <lunyuanx.cui@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "Zhang, Qi Z" <qi.z.zhang@intel.com>,
	"Wu, Jingjing" <jingjing.wu@intel.com>
Subject: Re: [dpdk-dev] [PATCH v2] net/i40e: enable MAC address as FDIR input set
Date: Fri, 27 Mar 2020 12:18:27 +0000
Message-ID: <BYAPR11MB3541521899206FC64B06851BF7CC0@BYAPR11MB3541.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20200318031506.79773-1-lunyuanx.cui@intel.com>



> -----Original Message-----
> From: Cui, LunyuanX <lunyuanx.cui@intel.com>
> Sent: Wednesday, March 18, 2020 11:15 AM
> To: dev@dpdk.org
> Cc: Xing, Beilei <beilei.xing@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>;
> Wu, Jingjing <jingjing.wu@intel.com>; Cui, LunyuanX
> <lunyuanx.cui@intel.com>
> Subject: [PATCH v2] net/i40e: enable MAC address as FDIR input set
> 
> FVL enable both src MAC address and dst MAC address as FDIR's input set
> for ipv4-other. And FVL enable only dst MAC address as FDIR's input set for
> ipv4-other. 

Why emphasize input set 'src MAC address and dst MAC address' and ' dst MAC address ' as input set?
Can't we support src MAC only?

When OVS-DPDK is working as a pure L2 switch, Both two ways
> match offload with Mark+RSS action would help the performance speed up.
> And FVL FDIR supports to change input set as both two ways.
> 
> Signed-off-by: Lunyuan Cui <lunyuanx.cui@intel.com>
> 
> ---
> v2:
>  - Enable src MAC address as FDIR's input set
> ---
>  doc/guides/rel_notes/release_20_05.rst |  7 +++
>  drivers/net/i40e/i40e_ethdev.c         |  1 +
>  drivers/net/i40e/i40e_ethdev.h         | 18 +++++++-
>  drivers/net/i40e/i40e_fdir.c           | 22 +++++++--
>  drivers/net/i40e/i40e_flow.c           | 63 +++++++++++++++++++-------
>  5 files changed, 89 insertions(+), 22 deletions(-)
> 
> diff --git a/doc/guides/rel_notes/release_20_05.rst
> b/doc/guides/rel_notes/release_20_05.rst
> index 2190eaf85..f0efc5295 100644
> --- a/doc/guides/rel_notes/release_20_05.rst
> +++ b/doc/guides/rel_notes/release_20_05.rst
> @@ -56,6 +56,13 @@ New Features
>       Also, make sure to start the actual text at the margin.
>       =========================================================
> 
> +* **Updated Intel i40e driver.**
> +
> +  Updated i40e PMD with new features and improvements, including:
> +
> +  * enable only dst MAC address as FDIR input set for ipv4-other
> +  * enable both src MAC address and dst MAC address as FDIR input set
> + for ipv4-other
> +
> 
Same here.

>  Removed Items
>  -------------
> diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
> index 9fbda1c34..d11df8d83 100644
> --- a/drivers/net/i40e/i40e_ethdev.c
> +++ b/drivers/net/i40e/i40e_ethdev.c
> @@ -9373,6 +9373,7 @@ i40e_get_valid_input_set(enum i40e_filter_pctype
> pctype,
>  		I40E_INSET_SRC_PORT | I40E_INSET_DST_PORT |
>  		I40E_INSET_SCTP_VT,
>  		[I40E_FILTER_PCTYPE_NONF_IPV4_OTHER] =
> +		I40E_INSET_DMAC | I40E_INSET_SMAC |
>  		I40E_INSET_VLAN_OUTER | I40E_INSET_VLAN_INNER |
>  		I40E_INSET_IPV4_SRC | I40E_INSET_IPV4_DST |
>  		I40E_INSET_IPV4_TOS | I40E_INSET_IPV4_PROTO | diff --git
> a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h index
> aac89de91..e8b98b67e 100644
> --- a/drivers/net/i40e/i40e_ethdev.h
> +++ b/drivers/net/i40e/i40e_ethdev.h
> @@ -544,12 +544,19 @@ struct i40e_ipv6_l2tpv3oip_flow {
>  	uint32_t session_id; /* Session ID in big endian. */  };
> 
> +/* A structure used to define the input for l2 dst type flow */ struct

l2 dst type flow?

> +i40e_eth_l2_flow {

Flow other names, use i40e_l2_flow here.

> +	struct rte_ether_addr dst;
> +	struct rte_ether_addr src;
> +	uint16_t ether_type;          /**< Ether type in big endian */
> +};
> +
>  /*
>   * A union contains the inputs for all types of flow
>   * items in flows need to be in big endian
>   */
>  union i40e_fdir_flow {
> -	struct rte_eth_l2_flow          l2_flow;
> +	struct i40e_eth_l2_flow		l2_flow;
>  	struct rte_eth_udpv4_flow       udp4_flow;
>  	struct rte_eth_tcpv4_flow       tcp4_flow;
>  	struct rte_eth_sctpv4_flow      sctp4_flow;
> @@ -628,6 +635,13 @@ struct i40e_fdir_action {
>  	uint8_t flex_off;
>  };
> 
> +/* Ether input set kinds */
> +enum i40e_fdir_eth_inset {
> +	I40E_ETH_INSET_NULL = 0,
> +	I40E_ETH_INSET_DMAC,
> +	I40E_ETH_INSET_SMAC_DMAC,
> +};

What's the enumeration's purpose?
Could you follow the original code for input set configuration and packet construct?


  reply	other threads:[~2020-03-27 12:18 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-16  0:47 [dpdk-dev] [PATCH] net/i40e: enable dst " Lunyuan Cui
2020-03-18  3:15 ` [dpdk-dev] [PATCH v2] net/i40e: enable " Lunyuan Cui
2020-03-27 12:18   ` Xing, Beilei [this message]
2020-03-30  9:05 ` [dpdk-dev] [PATCH v3] " Lunyuan Cui
2020-03-31  9:33   ` Xing, Beilei
2020-04-01  7:50 ` [dpdk-dev] [PATCH v4] " Lunyuan Cui
2020-04-02  1:08   ` Xing, Beilei
2020-04-02  2:53 ` [dpdk-dev] [PATCH v5] " Lunyuan Cui
2020-04-02  6:39 ` [dpdk-dev] [PATCH v6] " Lunyuan Cui
2020-04-02  7:58 ` [dpdk-dev] [PATCH v7] " Lunyuan Cui
2020-04-02  8:25   ` Xing, Beilei
2020-04-08  6:44   ` Ye Xiaolong

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=BYAPR11MB3541521899206FC64B06851BF7CC0@BYAPR11MB3541.namprd11.prod.outlook.com \
    --to=beilei.xing@intel.com \
    --cc=dev@dpdk.org \
    --cc=jingjing.wu@intel.com \
    --cc=lunyuanx.cui@intel.com \
    --cc=qi.z.zhang@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