All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
To: Anoob <anoob.joseph@caviumnetworks.com>
Cc: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>,
	Radu Nicolau <radu.nicolau@intel.com>,
	dev@dpdk.org,
	Narayana Prasad <narayanaprasad.athreya@caviumnetworks.com>,
	Jerin Jacob <jerin.jacob@caviumnetworks.com>
Subject: Re: [PATCH v2 2/2] examples/ipsec-secgw: add target queues in flow actions
Date: Thu, 7 Dec 2017 13:22:04 +0100	[thread overview]
Message-ID: <20171207122204.6vcejs5lb5pjs4lw@laranjeiro-vm.dev.6wind.com> (raw)
In-Reply-To: <62e7634a-3375-ac55-fffe-a5b22eb39e0e@caviumnetworks.com>

Hi Anoob,

On Thu, Dec 07, 2017 at 03:17:40PM +0530, Anoob wrote:
> Hi Nelio,
> 
> 
> On 12/04/2017 07:41 PM, Nelio Laranjeiro wrote:
> > Mellanox INNOVA NIC needs to have final target queue actions to perform
> > inline crypto.
> > 
> > Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
> > 
> > ---
> > 
> > Changes in v2:
> > 
> >   * Test the rule by PASSTHRU/RSS/QUEUE and apply the first one validated.
> > ---
> >   examples/ipsec-secgw/ipsec.c | 81 ++++++++++++++++++++++++++++++++++++++++----
> >   examples/ipsec-secgw/ipsec.h |  2 +-
> >   2 files changed, 76 insertions(+), 7 deletions(-)
> > 
> > diff --git a/examples/ipsec-secgw/ipsec.c b/examples/ipsec-secgw/ipsec.c
> > index 17bd7620d..f8823fb94 100644
> > --- a/examples/ipsec-secgw/ipsec.c
> > +++ b/examples/ipsec-secgw/ipsec.c
> > @@ -142,6 +142,7 @@ create_session(struct ipsec_ctx *ipsec_ctx, struct ipsec_sa *sa)
> >   							rte_eth_dev_get_sec_ctx(
> >   							sa->portid);
> >   			const struct rte_security_capability *sec_cap;
> > +			int ret = 0;
> >   			sa->sec_session = rte_security_session_create(ctx,
> >   					&sess_conf, ipsec_ctx->session_pool);
> > @@ -173,6 +174,10 @@ create_session(struct ipsec_ctx *ipsec_ctx, struct ipsec_sa *sa)
> >   				return -1;
> >   			}
> > +			sa->attr.egress = (sa->direction ==
> > +					RTE_SECURITY_IPSEC_SA_DIR_EGRESS);
> > +			sa->attr.ingress = (sa->direction ==
> > +					RTE_SECURITY_IPSEC_SA_DIR_INGRESS);
> >   			sa->ol_flags = sec_cap->ol_flags;
> >   			sa->security_ctx = ctx;
> >   			sa->pattern[0].type = RTE_FLOW_ITEM_TYPE_ETH;
> > @@ -201,15 +206,79 @@ create_session(struct ipsec_ctx *ipsec_ctx, struct ipsec_sa *sa)
> >   			sa->action[0].type = RTE_FLOW_ACTION_TYPE_SECURITY;
> >   			sa->action[0].conf = sa->sec_session;
> > -			sa->action[1].type = RTE_FLOW_ACTION_TYPE_END;
> > -
> > -			sa->attr.egress = (sa->direction ==
> > -					RTE_SECURITY_IPSEC_SA_DIR_EGRESS);
> > -			sa->attr.ingress = (sa->direction ==
> > -					RTE_SECURITY_IPSEC_SA_DIR_INGRESS);
> > +			if (sa->attr.ingress) {
> > +				uint8_t rss_key[40];
> > +				struct rte_eth_rss_conf rss_conf = {
> > +					.rss_key = rss_key,
> > +					.rss_key_len = 40,
> > +				};
> > +				struct rte_eth_dev *eth_dev;
> > +				union {
> > +					struct rte_flow_action_rss rss;
> > +					struct {
> > +					const struct rte_eth_rss_conf *rss_conf;
> > +					uint16_t num;
> > +					uint16_t queue[RTE_MAX_QUEUES_PER_PORT];
> > +					} local;
> > +				} action_rss;
> > +				unsigned int i;
> > +				unsigned int j;
> > +
> > +				sa->action[2].type = RTE_FLOW_ACTION_TYPE_END;
> > +				/*
> > +				 * Try implicitly PASSTHRU, it can also be
> > +				 * explicit.
> > +				 */
> May be we can get rid of this check. You can do the check with RSS and then
> QUEUE. That should be fine. SECURITY is terminating on Cavium hardware, but
> according to the spec it is a non-terminating meta action. We can stick to
> that. For Cavium hardware the PMD will give success to SECURITY+QUEUE. That
> should resolve the issue.
<snip>

I'll remove it in a v3, I will send it tomorrow to let a little more
time for other people to review. 

Thanks,

-- 
Nélio Laranjeiro
6WIND

  reply	other threads:[~2017-12-07 12:21 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-23 15:12 [PATCH 1/2] examples/ipsec-secgw: fix missing ingress flow attribute Nelio Laranjeiro
2017-11-23 15:12 ` [PATCH 2/2] examples/ipsec-secgw: add target queues in flow actions Nelio Laranjeiro
2017-11-29 12:30   ` Anoob
2017-11-29 12:50     ` Nelio Laranjeiro
2017-11-30 10:46       ` Anoob
2017-11-30 12:28         ` Nelio Laranjeiro
2017-12-01 15:04           ` Anoob Joseph
2017-12-01 16:26             ` Nelio Laranjeiro
2017-12-04 14:11   ` [PATCH v2 1/2] examples/ipsec-secgw: fix missing ingress flow attribute Nelio Laranjeiro
2017-12-11 11:50     ` Radu Nicolau
2017-12-04 14:11   ` [PATCH v2 2/2] examples/ipsec-secgw: add target queues in flow actions Nelio Laranjeiro
2017-12-07  9:47     ` Anoob
2017-12-07 12:22       ` Nelio Laranjeiro [this message]
2017-12-08 14:00     ` Anoob
2017-12-08 14:40       ` Nelio Laranjeiro
2017-12-08 16:40         ` Anoob Joseph
2017-12-11  8:21           ` Nelio Laranjeiro
2017-12-11  9:00             ` Anoob
2017-12-11 14:04     ` [PATCH v3 1/2] examples/ipsec-secgw: fix missing ingress flow attribute Nelio Laranjeiro
2017-12-12  7:14       ` Anoob Joseph
2017-12-11 14:04     ` [PATCH v3 2/2] examples/ipsec-secgw: add target queues in flow actions Nelio Laranjeiro
2017-12-12 12:43       ` Anoob Joseph
2017-12-12 13:44         ` Nelio Laranjeiro
2017-12-12 14:04           ` Anoob Joseph
2017-12-12 14:38             ` Nelio Laranjeiro
2017-12-13  6:41               ` Anoob Joseph
2017-12-13 10:02                 ` Nelio Laranjeiro
2017-12-13 11:38                   ` Anoob Joseph
2017-12-13 12:53                     ` Nelio Laranjeiro
2017-12-13 13:53                       ` Anoob Joseph
2017-12-13 14:47                         ` Nelio Laranjeiro
2017-12-20 16:19                           ` Boris Pismenny
2017-12-21  8:06                             ` Anoob Joseph
2017-12-21 10:12                               ` Boris Pismenny
2017-12-21 14:22                                 ` Adrien Mazarguil
2018-01-05  6:18                                   ` Anoob Joseph
2018-01-09 12:48                                     ` Nelio Laranjeiro
2018-01-10  6:21                                       ` Anoob Joseph
2018-01-05  5:52                                 ` Anoob Joseph
2017-12-14 15:14       ` [PATCH v4 1/3] examples/ipsec-secgw: fix missing ingress flow attribute Nelio Laranjeiro
2017-12-14 15:14       ` [PATCH v4 2/3] examples/ipsec-secgw: add target queues in flow actions Nelio Laranjeiro
2017-12-18  8:23         ` Anoob Joseph
2017-12-18  9:57           ` Nélio Laranjeiro
2017-12-14 15:14       ` [PATCH v4 3/3] examples/ipsec-secgw: add Egress " Nelio Laranjeiro
2017-12-15  9:05         ` Anoob Joseph
2017-12-15 13:53           ` Nelio Laranjeiro
2017-12-15 15:39             ` Anoob Joseph
2017-12-15 16:53               ` Nelio Laranjeiro
2017-12-15 17:01                 ` Anoob Joseph
2017-12-18 10:24         ` [PATCH v5 1/3] examples/ipsec-secgw: fix missing ingress flow attribute Nelio Laranjeiro
2018-01-18 14:50           ` De Lara Guarch, Pablo
2017-12-18 10:24         ` [PATCH v5 2/3] examples/ipsec-secgw: add target queues in flow actions Nelio Laranjeiro
2017-12-19  6:22           ` Anoob Joseph
2017-12-18 10:24         ` [PATCH v5 3/3] examples/ipsec-secgw: add Egress " Nelio Laranjeiro
2018-01-08 16:13           ` De Lara Guarch, Pablo
2018-01-16 16:12           ` Nicolau, Radu

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=20171207122204.6vcejs5lb5pjs4lw@laranjeiro-vm.dev.6wind.com \
    --to=nelio.laranjeiro@6wind.com \
    --cc=anoob.joseph@caviumnetworks.com \
    --cc=dev@dpdk.org \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=narayanaprasad.athreya@caviumnetworks.com \
    --cc=radu.nicolau@intel.com \
    --cc=sergio.gonzalez.monroy@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.