DPDK patches and discussions
 help / color / mirror / Atom feed
From: Anoob Joseph <anoobj@marvell.com>
To: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	Akhil Goyal <akhil.goyal@nxp.com>,
	"Iremonger, Bernard" <bernard.iremonger@intel.com>,
	Thomas Monjalon <thomas@monjalon.net>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
	dpdk-techboard <techboard@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v2 0/3] examples/ipsec-secgw: set default
Date: Wed, 6 Nov 2019 13:55:37 +0000	[thread overview]
Message-ID: <MN2PR18MB287732671A8E5139A166F660DF790@MN2PR18MB2877.namprd18.prod.outlook.com> (raw)
In-Reply-To: <2601191342CEEE43887BDE71AB97725801A8C7F304@IRSMSX104.ger.corp.intel.com>

Hi Akhil, Konstantin,

Please see inline.

Thanks,
Anoob

> -----Original Message-----
> From: Ananyev, Konstantin <konstantin.ananyev@intel.com>
> Sent: Monday, November 4, 2019 8:55 PM
> To: Akhil Goyal <akhil.goyal@nxp.com>; Iremonger, Bernard
> <bernard.iremonger@intel.com>; Thomas Monjalon <thomas@monjalon.net>
> Cc: dev@dpdk.org; Anoob Joseph <anoobj@marvell.com>; Jerin Jacob
> Kollanukkaran <jerinj@marvell.com>; dpdk-techboard <techboard@dpdk.org>
> Subject: [EXT] RE: [PATCH v2 0/3] examples/ipsec-secgw: set default
> 
> External Email
> 
> ----------------------------------------------------------------------
> Hi Akhil,
> 
> > > > > > >
> > > > > > > 11/10/2019 14:40, Akhil Goyal:
> > > > > > > > Hi All,
> > > > > > > >
> > > > > > > > This patchset would need ack from more vendors as it will
> > > > > > > > impact user
> > > > > > > experience
> > > > > > > > on a key example application which is normally
> > > > > > > > demonstrated to
> > > > > > customers.
> > > > > > > >
> > > > > > > > IPSec library is still evolving and there are new
> > > > > > > > functionality added every
> > > > > > > release.
> > > > > > > > Atleast from NXP side we are not OK with this change.
> > > > > > >
> > > > > > > What can be changed in the library to make it acceptable as
> > > > > > > a default in this example?
> > > > > > >
> > > > > >
> > > > > > We are observing performance issues with ipsec library. So
> > > > > > would request other Vendors to confirm if they are OK with the
> > > > > > performance
> > > > numbers.
> > > > >
> > > > > Could you give some details on the performance issues you are seeing.
> > > > >
> > > >
> > > > We were observing about 4-5% drop when using the ipsec-lib instead
> > > > of the Legacy code path. We would again measure it on RC1. That is
> > > > why I say, I will Hold this patch till RC2, unless some other vendor also
> confirms that.
> > >
> > > Is there any update on performance measurements on 19.11-rc1 ?
> > >
> > The performance impact of this patch is huge ~10% w.r.t. 19.11-rc1 base on
> NXP hardware.
> >
> > We cannot merge this. Anoob also reported performance issues on Marvell
> hardware.
> 
> Sure, 10% is a lot, so more than understandable.
> Though, I think we do need to decide our future goals for it.
> I see two main options here:
> 1.  Make lib code-path on par with legacy one in terms of performance,
>      deprecate and then remove legacy code-path.
>      Till that happen (deprecation/removal) to minimize code divergence,
>       forbid to add new features to legacy code path only.
>      New features should be added to both paths, or library code path.
> Obviously that one looks like a preferred option to me, but it requires some
> effort from all interested parties (Intel, NXP, Marvell, ...).
> If everyone is ok with it, then I think it would be good to have some draft
> timeline here.
> If you guys are not interested in this effort, then the only other approach I can
> think about:

[Anoob] I would say this is the right option. But then, there are features getting added only to lib ipsec mode. There are features like "fallback session" or anti replay which is only added for lib ipsec mode and not for non lib ipsec mode. Such features are good to have but would cost extra cycles in the datapath. Since it is only added for lib ipsec mode, the perf divergence between lib ipsec mode and non lib ipsec mode is fairly obvious.

So what is the solution? Both the modes need to be at par if our end strategy is going to deprecate one. If we need to reach a state where we can do apples to apples comparison, new features should be added to both modes and there should be a consensus on the feature implementations.

Also, looking at the "fallback session" feature, the feature was "pushed" without properly addressing the issues. The solution was hardly suitable for inline ipsec and the comments were ignored. Marvell is not ok with adding checks in datapath for an incomplete feature. Marvell withdrew the objections when it was conveyed that the review comments were deemed invaluable. Also because it was added to lib ipsec path which is not being used currently for our benchmarks. Marvell will be submitting an RFC for supporting fallback session with few changes in the rte_security library. When we attempt that, we can take care of only non lib ipsec mode as lib ipsec mode already has one and Marvell cannot work on two different fronts, when the other contributors themselves don't care about other established modes. 

Also considering that lib ipsec is under constant change, (and is still experimental), I would not be too excited about making it the default immediately. I see that there are usages supported by the non lib ipsec mode, which is not supported by lib ipsec mode.

For example, ipv4 & ipv6 using same SPI is valid for non lib ipsec, but not for lib ipsec. Because of this, the default conf doesn't even run when launched with lib ipsec mode. I'm not sure whether we should rush with making it the default when the whole idea is still "experimental".

> 2. split ipsec-secgw app into 2 (one using librte_ipsec, second using raw devices
> (legacy one)).
>     We probably can still try to keep some code shared by 2 apps:
>     (configuration/initialization/session management (SAD, SPD)),
>     but actual packet processing path will be different.
> I really don't like that option, but I think we need to come-up with clear
> decision, one way or another.
> 
> Thanks
> Konstantin
> 
> 
> 
> 
> 

  parent reply	other threads:[~2019-11-06 13:55 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-29  8:59 [dpdk-dev] [PATCH 0/2] " Bernard Iremonger
2019-08-29  8:59 ` [dpdk-dev] [PATCH 1/2] examples/ipsec-secgw: set default to IPsec library mode Bernard Iremonger
2019-09-26 13:47   ` Ananyev, Konstantin
2019-09-26 13:51     ` Iremonger, Bernard
2019-08-29  8:59 ` [dpdk-dev] [PATCH 2/2] examples/ipsec-secgw: add -l 0 parameter to old scripts Bernard Iremonger
2019-09-26 13:43   ` Ananyev, Konstantin
2019-09-26 13:46     ` Iremonger, Bernard
2019-10-01 15:17 ` [dpdk-dev] [PATCH v2 0/3] examples/ipsec-secgw: set default Bernard Iremonger
2019-10-01 17:30   ` Ananyev, Konstantin
2019-10-02  8:59     ` Iremonger, Bernard
2019-10-02  9:11       ` Ananyev, Konstantin
2019-10-11 12:40   ` Akhil Goyal
2019-10-11 15:13     ` Iremonger, Bernard
2019-10-11 15:23     ` Thomas Monjalon
2019-10-15  6:42       ` Akhil Goyal
2019-10-15  8:54         ` Iremonger, Bernard
2019-10-15 15:05           ` Akhil Goyal
2019-10-16 10:44             ` Ananyev, Konstantin
2019-10-30  9:29             ` Iremonger, Bernard
2019-11-01 13:19               ` Akhil Goyal
2019-11-04 15:24                 ` Ananyev, Konstantin
2019-11-05  8:01                   ` Akhil Goyal
2019-11-05  9:10                     ` Ananyev, Konstantin
2019-11-06 13:55                   ` Anoob Joseph [this message]
2019-11-18 13:03                     ` Ananyev, Konstantin
2019-10-16  4:18     ` Anoob Joseph
2019-10-01 15:17 ` [dpdk-dev] [PATCH v2 1/3] examples/ipsec-secgw: set default to IPsec library mode Bernard Iremonger
2019-10-14 13:53   ` Nicolau, Radu
2019-10-01 15:17 ` [dpdk-dev] [PATCH v2 2/3] examples/ipsec-secgw: add -l 0 parameter to old scripts Bernard Iremonger
2019-10-01 17:28   ` Ananyev, Konstantin
2019-10-14 13:55   ` Nicolau, Radu
2019-10-01 15:18 ` [dpdk-dev] [PATCH v2 3/3] examples/ipsec-secgw: update pktest.sh script Bernard Iremonger
2019-10-01 17:29   ` Ananyev, Konstantin
2019-10-14 13:56   ` 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=MN2PR18MB287732671A8E5139A166F660DF790@MN2PR18MB2877.namprd18.prod.outlook.com \
    --to=anoobj@marvell.com \
    --cc=akhil.goyal@nxp.com \
    --cc=bernard.iremonger@intel.com \
    --cc=dev@dpdk.org \
    --cc=jerinj@marvell.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=techboard@dpdk.org \
    --cc=thomas@monjalon.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).