From: "Cao, Yahui" <yahui.cao@intel.com>
To: "Su, Simei" <simei.su@intel.com>,
"Ye, Xiaolong" <xiaolong.ye@intel.com>,
"Zhang, Qi Z" <qi.z.zhang@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, "Wu, Jingjing" <jingjing.wu@intel.com>
Subject: Re: [dpdk-dev] [PATCH 5/5] net/iavf: add support for FDIR mark action
Date: Tue, 31 Mar 2020 05:20:32 +0000 [thread overview]
Message-ID: <31a3b9a8e92642d1998cd1dac2cb2247@intel.com> (raw)
In-Reply-To: <1584510121-377747-6-git-send-email-simei.su@intel.com>
> -----Original Message-----
> From: Su, Simei <simei.su@intel.com>
> Sent: Wednesday, March 18, 2020 1:42 PM
> To: Ye, Xiaolong <xiaolong.ye@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>
> Cc: dev@dpdk.org; Cao, Yahui <yahui.cao@intel.com>; Wu, Jingjing
> <jingjing.wu@intel.com>; Su, Simei <simei.su@intel.com>
> Subject: [PATCH 5/5] net/iavf: add support for FDIR mark action
>
> This patch enables mark action support and takes mark only case into
> consideration.
>
> Signed-off-by: Simei Su <simei.su@intel.com>
> ---
> drivers/net/iavf/iavf.h | 1 +
> drivers/net/iavf/iavf_fdir.c | 46
> +++++++++++++++++++++++++++++++++++++++++++-
> 2 files changed, 46 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/iavf/iavf.h b/drivers/net/iavf/iavf.h index
> 62a3eb8..178d481 100644
> --- a/drivers/net/iavf/iavf.h
> +++ b/drivers/net/iavf/iavf.h
> @@ -103,6 +103,7 @@ struct iavf_fdir_conf {
> struct virtchnl_fdir_fltr input;
> uint64_t input_set;
> uint32_t flow_id;
> + uint32_t mark_flag;
> };
>
> struct iavf_fdir_info {
> diff --git a/drivers/net/iavf/iavf_fdir.c b/drivers/net/iavf/iavf_fdir.c index
> 8d49c28..a03bc09 100644
> --- a/drivers/net/iavf/iavf_fdir.c
> +++ b/drivers/net/iavf/iavf_fdir.c
> @@ -18,6 +18,7 @@
> #include "iavf.h"
> #include "iavf_generic_flow.h"
> #include "virtchnl.h"
> +#include "iavf_rxtx.h"
>
> #define IAVF_FDIR_MAX_QREGION_SIZE 128
>
> @@ -171,6 +172,9 @@
> goto free_entry;
> }
>
> + if (filter->mark_flag == 1)
> + iavf_fdir_rx_proc_enable(ad, 1);
> +
> rte_memcpy(rule, filter, sizeof(*rule));
> flow->rule = rule;
>
> @@ -199,6 +203,9 @@
> return -rte_errno;
> }
>
> + if (filter->mark_flag == 1)
> + iavf_fdir_rx_proc_enable(ad, 0);
> +
> flow->rule = NULL;
> rte_free(filter);
>
> @@ -297,7 +304,9 @@
> struct iavf_fdir_conf *filter)
> {
> const struct rte_flow_action_queue *act_q;
> + const struct rte_flow_action_mark *mark_spec = NULL;
> uint32_t dest_num = 0;
> + uint32_t mark_num = 0;
> int ret;
>
> int number = 0;
> @@ -367,6 +376,20 @@
> filter->input.rule_cfg.action_set.count = ++number;
> break;
>
> + case RTE_FLOW_ACTION_TYPE_MARK:
> + mark_num++;
> +
> + filter->mark_flag = 1;
> + mark_spec = actions->conf;
> + filter_action = &filter->input.rule_cfg.
> + action_set.actions[number];
> +
> + filter_action->type = VIRTCHNL_FDIR_ACT_MARK;
> + filter_action->mark_id = mark_spec->id;
> +
> + filter->input.rule_cfg.action_set.count = ++number;
> + break;
> +
> default:
> rte_flow_error_set(error, EINVAL,
> RTE_FLOW_ERROR_TYPE_ACTION,
> actions, @@ -375,13 +398,34 @@
> }
> }
>
> - if (dest_num == 0 || dest_num >= 2) {
> + if (dest_num >= 2) {
> rte_flow_error_set(error, EINVAL,
> RTE_FLOW_ERROR_TYPE_ACTION, actions,
> "Unsupported action combination");
> return -rte_errno;
> }
>
> + if (mark_num >= 2) {
> + rte_flow_error_set(error, EINVAL,
> + RTE_FLOW_ERROR_TYPE_ACTION, actions,
> + "Too many mark actions");
> + return -rte_errno;
> + }
> +
> + if (dest_num + mark_num == 0) {
> + rte_flow_error_set(error, EINVAL,
> + RTE_FLOW_ERROR_TYPE_ACTION, actions,
> + "Emtpy action");
> + return -rte_errno;
> + }
> +
> + /* Mark only is equal to mark + passthru. */
> + if (dest_num == 0) {
> + filter_action = &filter->input.rule_cfg.
> + action_set.actions[number];
> + filter_action->type = VIRTCHNL_FDIR_ACT_PASSTHRU;
[Cao, Yahui]
Miss "filter->input.rule_cfg.action_set.count = ++number;" here
> + }
> +
> return 0;
> }
>
> --
> 1.8.3.1
next prev parent reply other threads:[~2020-03-31 5:20 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-18 5:41 [dpdk-dev] [PATCH 0/5] net/iavf: support FDIR capabiltiy Simei Su
2020-03-18 5:41 ` [dpdk-dev] [PATCH 1/5] net/iavf: add support for FDIR basic rule Simei Su
2020-03-31 5:20 ` Cao, Yahui
2020-03-31 7:12 ` Su, Simei
2020-03-18 5:41 ` [dpdk-dev] [PATCH 2/5] net/iavf: add support for FDIR GTPU Simei Su
2020-03-19 1:46 ` Zhang, Qi Z
2020-03-18 5:41 ` [dpdk-dev] [PATCH 3/5] net/iavf: add support for FDIR L2TPv3 and IPSec Simei Su
2020-03-18 5:42 ` [dpdk-dev] [PATCH 4/5] net/iavf: add support for FDIR PFCP Simei Su
2020-03-18 5:42 ` [dpdk-dev] [PATCH 5/5] net/iavf: add support for FDIR mark action Simei Su
2020-03-31 5:20 ` Cao, Yahui [this message]
2020-03-31 7:05 ` Su, Simei
2020-03-18 5:56 ` [dpdk-dev] [PATCH 0/5] net/iavf: support FDIR capabiltiy Stephen Hemminger
2020-03-19 8:48 ` Su, Simei
2020-04-02 13:32 ` [dpdk-dev] [PATCH v2 " Simei Su
2020-04-02 13:32 ` [dpdk-dev] [PATCH v2 1/5] net/iavf: add support for FDIR basic rule Simei Su
2020-04-10 7:40 ` Cao, Yahui
2020-04-10 8:00 ` Su, Simei
2020-04-02 13:32 ` [dpdk-dev] [PATCH v2 2/5] net/iavf: add support for FDIR GTPU Simei Su
2020-04-02 13:32 ` [dpdk-dev] [PATCH v2 3/5] net/iavf: add support for FDIR L2TPv3 and IPSec Simei Su
2020-04-02 13:32 ` [dpdk-dev] [PATCH v2 4/5] net/iavf: add support for FDIR PFCP Simei Su
2020-04-02 13:32 ` [dpdk-dev] [PATCH v2 5/5] net/iavf: add support for FDIR mark action Simei Su
2020-04-10 10:18 ` [dpdk-dev] [PATCH v3 0/5] net/iavf: support FDIR capabiltiy Simei Su
2020-04-10 10:18 ` [dpdk-dev] [PATCH v3 1/5] net/iavf: add support for FDIR basic rule Simei Su
2020-04-14 7:37 ` Ye Xiaolong
2020-04-14 8:31 ` Su, Simei
2020-04-10 10:18 ` [dpdk-dev] [PATCH v3 2/5] net/iavf: add support for FDIR GTPU Simei Su
2020-04-10 10:18 ` [dpdk-dev] [PATCH v3 3/5] net/iavf: add support for FDIR L2TPv3 and IPSec Simei Su
2020-04-10 10:18 ` [dpdk-dev] [PATCH v3 4/5] net/iavf: add support for FDIR PFCP Simei Su
2020-04-10 10:18 ` [dpdk-dev] [PATCH v3 5/5] net/iavf: add support for FDIR mark action Simei Su
2020-04-15 2:55 ` [dpdk-dev] [PATCH v4 0/5] net/iavf: support FDIR capabiltiy Simei Su
2020-04-15 2:55 ` [dpdk-dev] [PATCH v4 1/5] net/iavf: add support for FDIR basic rule Simei Su
2020-04-15 2:55 ` [dpdk-dev] [PATCH v4 2/5] net/iavf: add support for FDIR GTPU Simei Su
2020-04-15 2:55 ` [dpdk-dev] [PATCH v4 3/5] net/iavf: add support for FDIR L2TPv3 and IPSec Simei Su
2020-04-15 2:55 ` [dpdk-dev] [PATCH v4 4/5] net/iavf: add support for FDIR PFCP Simei Su
2020-04-15 2:55 ` [dpdk-dev] [PATCH v4 5/5] net/iavf: add support for FDIR mark action Simei Su
2020-04-15 3:17 ` [dpdk-dev] [PATCH v4 0/5] net/iavf: support FDIR capabiltiy Zhang, Qi Z
2020-04-21 6:19 ` [dpdk-dev] [PATCH v5 " Simei Su
2020-04-21 6:19 ` [dpdk-dev] [PATCH v5 1/5] net/iavf: add support for FDIR basic rule Simei Su
2020-04-21 6:19 ` [dpdk-dev] [PATCH v5 2/5] net/iavf: add support for FDIR GTPU Simei Su
2020-04-21 6:19 ` [dpdk-dev] [PATCH v5 3/5] net/iavf: add support for FDIR L2TPv3 and IPSec Simei Su
2020-04-21 6:19 ` [dpdk-dev] [PATCH v5 4/5] net/iavf: add support for FDIR PFCP Simei Su
2020-04-21 6:19 ` [dpdk-dev] [PATCH v5 5/5] net/iavf: add support for FDIR mark action Simei Su
2020-04-21 6:40 ` [dpdk-dev] [PATCH v5 0/5] net/iavf: support FDIR capabiltiy 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=31a3b9a8e92642d1998cd1dac2cb2247@intel.com \
--to=yahui.cao@intel.com \
--cc=dev@dpdk.org \
--cc=jingjing.wu@intel.com \
--cc=qi.z.zhang@intel.com \
--cc=simei.su@intel.com \
--cc=xiaolong.ye@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.