From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: Akhil Goyal <gakhil@marvell.com>,
"hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>,
"dev@dpdk.org" <dev@dpdk.org>
Cc: "Zhang, Roy Fan" <roy.fan.zhang@intel.com>,
Gagandeep Singh <g.singh@nxp.com>
Subject: Re: [dpdk-dev] [PATCH v2 02/15] crypto: add total raw buffer length
Date: Mon, 27 Sep 2021 09:23:21 +0000 [thread overview]
Message-ID: <DM6PR11MB44911F3B6FD66A26D5727E6B9AA79@DM6PR11MB4491.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CO6PR18MB44843135742657A92A04A090D8A49@CO6PR18MB4484.namprd18.prod.outlook.com>
Hi Akhil,
> > > On 9/21/2021 12:58 AM, Akhil Goyal wrote:
> > > >>> From: Gagandeep Singh <g.singh@nxp.com>
> > > >>>
> > > >>> The current crypto raw data vectors is extended to support
> > > >>> rte_security usecases, where we need total data length to know
> > > >>> how much additional memory space is available in buffer other
> > > >>> than data length so that driver/HW can write expanded size
> > > >>> data after encryption.
> > > >>>
> > > >>> Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
> > > >>> Acked-by: Akhil Goyal <gakhil@marvell.com>
> > > >>> ---
> > > >>> lib/cryptodev/rte_crypto_sym.h | 6 ++++++
> > > >>> 1 file changed, 6 insertions(+)
> > > >>>
> > > >>> diff --git a/lib/cryptodev/rte_crypto_sym.h
> > > >> b/lib/cryptodev/rte_crypto_sym.h
> > > >>> index dcc0bd5933..e5cef1fb72 100644
> > > >>> --- a/lib/cryptodev/rte_crypto_sym.h
> > > >>> +++ b/lib/cryptodev/rte_crypto_sym.h
> > > >>> @@ -37,6 +37,8 @@ struct rte_crypto_vec {
> > > >>> rte_iova_t iova;
> > > >>> /** length of the data buffer */
> > > >>> uint32_t len;
> > > >>> + /** total buffer length*/
> > > >>> + uint32_t tot_len;
> > > >>> };
> > > >>>
> > > >>> /**
> > > >>> @@ -980,12 +982,14 @@ rte_crypto_mbuf_to_vec(const struct
> > rte_mbuf
> > > >> *mb, uint32_t ofs, uint32_t len,
> > > >>> seglen = mb->data_len - ofs;
> > > >>> if (len <= seglen) {
> > > >>> vec[0].len = len;
> > > >>> + vec[0].tot_len = mb->buf_len;
> > > >> That doesn't look right.
> > > >> We should take into a count mbuf headroom and input offset.
> > > >> Something like:
> > > >> vec[0].tot_len = mb->buf_len - rte_pktmbuf_headroom(m) - ofs;
> > > >> Same in other places below.
> > > >>
> > > > I believe the packet can expand into headroom based on the protocol
> > support.
> > > Yes, total length is representing the total buffer length available. The
> > > security protocol shall take care of the headroom and offsets.
> >
> > Hmm, and how it will now how many bytes are in head-room, and how
> > many are in tail-room?
> > We either need to provide values for both, or assume that only tail-room is
> > available for the driver.
> I believe it should be starting point where output can be written till the end of buffer.
Right, that's:
base = rte_pktmbuf_mtod_offset(mb, void *, ofs);
> There should not be any headroom and tailroom for raw buffers.
I am not talking about raw buffers, what I am saying that some space in the mbuf
might be already occupied, that's why we have data_off inside rte_mbuf, etc.
> It should be mbuf->buf_len - ofs.
No, it should be:
len = mb->buf_len - rte_pktmbuf_headroom(m) - ofs;
Otherwise PMD can overwrite memory beyond its buf_len.
next prev parent reply other threads:[~2021-09-27 9:23 UTC|newest]
Thread overview: 115+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-12 7:12 [dpdk-dev] [RFC 00/16] crypto: add raw vector support in DPAAx Hemant Agrawal
2021-08-12 7:12 ` [dpdk-dev] [RFC 01/16] crypto: change sgl to src_sgl in vector Hemant Agrawal
2021-08-12 8:22 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-08-12 7:12 ` [dpdk-dev] [RFC 02/16] crypto: add total raw buffer length Hemant Agrawal
2021-08-12 7:12 ` [dpdk-dev] [RFC 03/16] crypto: add dest_sgl in raw vector APIs Hemant Agrawal
2021-08-12 7:12 ` [dpdk-dev] [RFC 04/16] crypto: enhance raw process for protocol offload Hemant Agrawal
2021-08-12 8:11 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-08-12 7:12 ` [dpdk-dev] [RFC 05/16] crypto/dpaa2_sec: support raw datapath APIs Hemant Agrawal
2021-08-12 7:12 ` [dpdk-dev] [RFC 06/16] crypto/dpaa2_sec: support AUTH only with raw buffer APIs Hemant Agrawal
2021-08-12 7:12 ` [dpdk-dev] [RFC 07/16] crypto/dpaa2_sec: support AUTHENC " Hemant Agrawal
2021-08-12 7:12 ` [dpdk-dev] [RFC 08/16] crypto/dpaa2_sec: support AEAD " Hemant Agrawal
2021-08-12 7:12 ` [dpdk-dev] [RFC 09/16] crypto/dpaa2_sec: support OOP with raw buffer API Hemant Agrawal
2021-08-12 7:12 ` [dpdk-dev] [RFC 10/16] crypto/dpaa2_sec: fix ctx memset size Hemant Agrawal
2021-08-12 7:12 ` [dpdk-dev] [RFC 11/16] crypto/dpaa2_sec: enhance error checks with raw buffer APIs Hemant Agrawal
2021-08-12 7:12 ` [dpdk-dev] [RFC 12/16] crypto/dpaa_sec: support raw datapath APIs Hemant Agrawal
2021-08-12 7:12 ` [dpdk-dev] [RFC 13/16] crypto/dpaa_sec: support authonly and chain with raw APIs Hemant Agrawal
2021-08-12 7:12 ` [dpdk-dev] [RFC 14/16] crypto/dpaa_sec: support AEAD and proto " Hemant Agrawal
2021-08-12 7:12 ` [dpdk-dev] [RFC 15/16] test/crypto: add raw API test for dpaax Hemant Agrawal
2021-08-12 7:12 ` [dpdk-dev] [RFC 16/16] test/crypto: enabling raw API support in 5G algos Hemant Agrawal
2021-08-25 7:14 ` [dpdk-dev] [PATCH 00/15] crypto: add raw vector support in DPAAx Hemant Agrawal
2021-08-25 7:14 ` [dpdk-dev] [PATCH 01/15] crypto: change sgl to src_sgl in vector Hemant Agrawal
2021-09-06 18:36 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-08-25 7:14 ` [dpdk-dev] [PATCH 02/15] crypto: add total raw buffer length Hemant Agrawal
2021-09-06 18:36 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-08-25 7:14 ` [dpdk-dev] [PATCH 03/15] crypto: add dest_sgl in raw vector APIs Hemant Agrawal
2021-09-06 18:37 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-08-25 7:14 ` [dpdk-dev] [PATCH 04/15] crypto: fix raw process for multi-seg case Hemant Agrawal
2021-09-06 18:38 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-08-25 7:15 ` [dpdk-dev] [PATCH 05/15] crypto/dpaa2_sec: support raw datapath APIs Hemant Agrawal
2021-08-25 7:15 ` [dpdk-dev] [PATCH 06/15] crypto/dpaa2_sec: support AUTH only with raw buffer APIs Hemant Agrawal
2021-08-25 7:15 ` [dpdk-dev] [PATCH 07/15] crypto/dpaa2_sec: support AUTHENC " Hemant Agrawal
2021-08-25 7:15 ` [dpdk-dev] [PATCH 08/15] crypto/dpaa2_sec: support AEAD " Hemant Agrawal
2021-08-25 7:15 ` [dpdk-dev] [PATCH 09/15] crypto/dpaa2_sec: support OOP with raw buffer API Hemant Agrawal
2021-08-25 7:15 ` [dpdk-dev] [PATCH 10/15] crypto/dpaa2_sec: enhance error checks with raw buffer APIs Hemant Agrawal
2021-08-25 7:15 ` [dpdk-dev] [PATCH 11/15] crypto/dpaa_sec: support raw datapath APIs Hemant Agrawal
2021-08-25 7:15 ` [dpdk-dev] [PATCH 12/15] crypto/dpaa_sec: support authonly and chain with raw APIs Hemant Agrawal
2021-08-25 7:15 ` [dpdk-dev] [PATCH 13/15] crypto/dpaa_sec: support AEAD and proto " Hemant Agrawal
2021-08-25 7:15 ` [dpdk-dev] [PATCH 14/15] test/crypto: add raw API test for dpaax Hemant Agrawal
2021-08-25 7:15 ` [dpdk-dev] [PATCH 15/15] test/crypto: add raw API support in 5G algos Hemant Agrawal
2021-09-06 18:45 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-09-06 18:46 ` [dpdk-dev] [EXT] [PATCH 00/15] crypto: add raw vector support in DPAAx Akhil Goyal
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 " Hemant Agrawal
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 01/15] crypto: change sgl to src_sgl in vector Hemant Agrawal
2021-09-16 11:38 ` Ananyev, Konstantin
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 02/15] crypto: add total raw buffer length Hemant Agrawal
2021-09-16 11:42 ` Ananyev, Konstantin
2021-09-20 19:28 ` Akhil Goyal
2021-09-21 9:59 ` Hemant Agrawal
2021-09-21 10:04 ` Ananyev, Konstantin
2021-09-24 18:06 ` Akhil Goyal
2021-09-27 9:23 ` Ananyev, Konstantin [this message]
2021-09-28 7:05 ` Akhil Goyal
2021-09-28 8:20 ` Hemant Agrawal
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 03/15] crypto: add dest_sgl in raw vector APIs Hemant Agrawal
2021-09-16 11:44 ` Ananyev, Konstantin
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 04/15] crypto: fix raw process for multi-seg case Hemant Agrawal
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 05/15] crypto/dpaa2_sec: support raw datapath APIs Hemant Agrawal
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 06/15] crypto/dpaa2_sec: support AUTH only with raw buffer APIs Hemant Agrawal
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 07/15] crypto/dpaa2_sec: support AUTHENC " Hemant Agrawal
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 08/15] crypto/dpaa2_sec: support AEAD " Hemant Agrawal
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 09/15] crypto/dpaa2_sec: support OOP with raw buffer API Hemant Agrawal
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 10/15] crypto/dpaa2_sec: enhance error checks with raw buffer APIs Hemant Agrawal
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 11/15] crypto/dpaa_sec: support raw datapath APIs Hemant Agrawal
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 12/15] crypto/dpaa_sec: support authonly and chain with raw APIs Hemant Agrawal
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 13/15] crypto/dpaa_sec: support AEAD and proto " Hemant Agrawal
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 14/15] test/crypto: add raw API test for dpaax Hemant Agrawal
2021-09-07 7:59 ` [dpdk-dev] [PATCH v2 15/15] test/crypto: add raw API support in 5G algos Hemant Agrawal
2021-09-15 16:01 ` [dpdk-dev] [PATCH v2 00/15] crypto: add raw vector support in DPAAx Troy, Rebecca
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 " Hemant Agrawal
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 01/15] crypto: change sgl to src_sgl in vector Hemant Agrawal
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 02/15] crypto: add total raw buffer length Hemant Agrawal
2021-10-14 12:39 ` Zhang, Roy Fan
2021-10-17 8:30 ` Hemant Agrawal
2021-10-15 17:45 ` Ananyev, Konstantin
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 03/15] crypto: add dest_sgl in raw vector APIs Hemant Agrawal
2021-10-17 12:21 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 04/15] crypto: fix raw process for multi-seg case Hemant Agrawal
2021-10-15 17:39 ` Ananyev, Konstantin
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 05/15] crypto/dpaa2_sec: support raw datapath APIs Hemant Agrawal
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 06/15] crypto/dpaa2_sec: support AUTH only with raw buffer APIs Hemant Agrawal
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 07/15] crypto/dpaa2_sec: support AUTHENC " Hemant Agrawal
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 08/15] crypto/dpaa2_sec: support AEAD " Hemant Agrawal
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 09/15] crypto/dpaa2_sec: support OOP with raw buffer API Hemant Agrawal
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 10/15] crypto/dpaa2_sec: enhance error checks with raw buffer APIs Hemant Agrawal
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 11/15] crypto/dpaa_sec: support raw datapath APIs Hemant Agrawal
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 12/15] crypto/dpaa_sec: support authonly and chain with raw APIs Hemant Agrawal
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 13/15] crypto/dpaa_sec: support AEAD and proto " Hemant Agrawal
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 14/15] test/crypto: add raw API test for dpaax Hemant Agrawal
2021-10-13 19:00 ` [dpdk-dev] [PATCH v4 15/15] test/crypto: add raw API support in 5G algos Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 00/15] crypto: add raw vector support in DPAAx Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 01/15] crypto: change sgl to src_sgl in vector Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 02/15] crypto: add total raw buffer length Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 03/15] crypto: add dest_sgl in raw vector APIs Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 04/15] crypto: fix raw process for multi-seg case Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 05/15] crypto/dpaa2_sec: support raw datapath APIs Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 06/15] crypto/dpaa2_sec: support AUTH only with raw buffer APIs Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 07/15] crypto/dpaa2_sec: support AUTHENC " Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 08/15] crypto/dpaa2_sec: support AEAD " Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 09/15] crypto/dpaa2_sec: support OOP with raw buffer API Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 10/15] crypto/dpaa2_sec: enhance error checks with raw buffer APIs Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 11/15] crypto/dpaa_sec: support raw datapath APIs Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 12/15] crypto/dpaa_sec: support authonly and chain with raw APIs Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 13/15] crypto/dpaa_sec: support AEAD and proto " Hemant Agrawal
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 14/15] test/crypto: add raw API test for dpaax Hemant Agrawal
2021-10-20 9:08 ` Thomas Monjalon
2021-10-20 9:15 ` [dpdk-dev] [EXT] " Akhil Goyal
2021-10-20 9:21 ` Thomas Monjalon
2021-10-20 9:32 ` Akhil Goyal
2021-10-20 12:13 ` Thomas Monjalon
2021-10-20 12:25 ` Akhil Goyal
2021-10-20 12:43 ` Zhang, Roy Fan
2021-10-20 13:34 ` Thomas Monjalon
2021-10-17 16:16 ` [dpdk-dev] [PATCH v5 15/15] test/crypto: add raw API support in 5G algos Hemant Agrawal
2021-10-17 17:59 ` [dpdk-dev] [EXT] [PATCH v5 00/15] crypto: add raw vector support in DPAAx Akhil Goyal
2021-10-18 7:33 ` Zhang, Roy Fan
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=DM6PR11MB44911F3B6FD66A26D5727E6B9AA79@DM6PR11MB4491.namprd11.prod.outlook.com \
--to=konstantin.ananyev@intel.com \
--cc=dev@dpdk.org \
--cc=g.singh@nxp.com \
--cc=gakhil@marvell.com \
--cc=hemant.agrawal@nxp.com \
--cc=roy.fan.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 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).