All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Yuying Zhang <yuying.zhang@intel.com>,
	dev@dpdk.org, qi.z.zhang@intel.com, jingjing.wu@intel.com
Subject: Re: [dpdk-dev] [PATCH v1] net/iavf: support FDIR TCP/UDP pattern without input set
Date: Mon, 4 Jan 2021 15:21:49 +0000	[thread overview]
Message-ID: <8879813b-a78b-0b0e-91cc-68bbde010a5c@intel.com> (raw)
In-Reply-To: <20201201083207.70668-1-yuying.zhang@intel.com>

On 12/1/2020 8:32 AM, Yuying Zhang wrote:
> This patch adds an input set refinement function to support outer
> and inner TCP/UDP patterns without input set for flow director filter.
> 

Can you please describe more what is supported now, it can be even better to 
give same samples which patter is supported now, which was not supported before?

> Signed-off-by: Yuying Zhang <yuying.zhang@intel.com>
> ---
>   drivers/net/iavf/iavf_fdir.c | 67 ++++++++++++++++++++++++++++++------
>   1 file changed, 56 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/net/iavf/iavf_fdir.c b/drivers/net/iavf/iavf_fdir.c
> index 7054bde0b..2c57313e4 100644
> --- a/drivers/net/iavf/iavf_fdir.c
> +++ b/drivers/net/iavf/iavf_fdir.c
> @@ -448,9 +448,56 @@ iavf_fdir_parse_action(struct iavf_adapter *ad,
>   	return 0;
>   }
>   
> +static int
> +iavf_fdir_refine_input_set(const uint64_t input_set,
> +			   const uint64_t input_set_mask,
> +			   struct iavf_fdir_conf *filter)
> +{
> +	struct virtchnl_proto_hdr *hdr, *hdr_last;
> +	struct rte_flow_item_ipv4 ipv4_spec;
> +	struct rte_flow_item_ipv6 ipv6_spec;
> +	int last_layer;
> +	uint8_t proto_id;
> +
> +	if (input_set & ~input_set_mask)
> +		return -rte_errno;

What is the value of the 'rte_errno' at this stage, why returning it instead of 
setting it?

> +	else if (input_set)
> +		return 0;
> +
> +	last_layer = filter->add_fltr.rule_cfg.proto_hdrs.count - 1;
> +	hdr_last = &filter->add_fltr.rule_cfg.proto_hdrs.proto_hdr[last_layer];
> +	if (hdr_last->type == VIRTCHNL_PROTO_HDR_TCP)
> +		proto_id = 6;
> +	else if (hdr_last->type == VIRTCHNL_PROTO_HDR_UDP)
> +		proto_id = 17;
> +	else
> +		return -rte_errno;
> +
> +	hdr = &filter->add_fltr.rule_cfg.proto_hdrs.proto_hdr[last_layer - 1];

Do we know here that 'last_layer' > 0 ?

> +	switch (hdr->type) {
> +	case VIRTCHNL_PROTO_HDR_IPV4:
> +		VIRTCHNL_ADD_PROTO_HDR_FIELD_BIT(hdr, IPV4, PROT);
> +		memset(&ipv4_spec, 0, sizeof(ipv4_spec));
> +		ipv4_spec.hdr.next_proto_id = proto_id;
> +		rte_memcpy(hdr->buffer, &ipv4_spec.hdr,
> +			   sizeof(ipv4_spec.hdr));
> +		return 0;
> +	case VIRTCHNL_PROTO_HDR_IPV6:
> +		VIRTCHNL_ADD_PROTO_HDR_FIELD_BIT(hdr, IPV6, PROT);
> +		memset(&ipv6_spec, 0, sizeof(ipv6_spec));
> +		ipv6_spec.hdr.proto = proto_id;
> +		rte_memcpy(hdr->buffer, &ipv6_spec.hdr,
> +			   sizeof(ipv6_spec.hdr));
> +		return 0;
> +	default:
> +		return -rte_errno;
> +	}
> +}
> +

<...>


  parent reply	other threads:[~2021-01-04 15:22 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-01  8:32 [dpdk-dev] [PATCH v1] net/iavf: support FDIR TCP/UDP pattern without input set Yuying Zhang
2020-12-23  8:12 ` Zhang, Qi Z
2021-01-04 15:21 ` Ferruh Yigit [this message]
2021-01-06 10:49 ` [dpdk-dev] [PATCH v2] " Yuying Zhang
2021-01-07  4:37   ` Zhang, Qi Z

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=8879813b-a78b-0b0e-91cc-68bbde010a5c@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=dev@dpdk.org \
    --cc=jingjing.wu@intel.com \
    --cc=qi.z.zhang@intel.com \
    --cc=yuying.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
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.