DPDK patches and discussions
 help / color / Atom feed
* [dpdk-dev] Question about recent change to rte_mbuf struct - user data and udata64 feels (breaks SPDK)
@ 2020-11-19  0:17 Luse, Paul E
  2020-11-19  9:29 ` Thomas Monjalon
  0 siblings, 1 reply; 3+ messages in thread
From: Luse, Paul E @ 2020-11-19  0:17 UTC (permalink / raw)
  To: dev

Hi,

Recently this patch https://github.com/DPDK/dpdk/commit/5284adad3e95025f9901869f581c8c04ea642d32  made the following change:

* mbuf: Removed the unioned fields ``userdata`` and ``udata64``
  from the structure ``rte_mbuf``. It is replaced with dynamic fields.

Which breaks the SPDK project’s crypto and compression capabilities as we use userdata to store context for our operation so it can be retrieved upcon completion of the operation.  It’s not clear to me that we are safe to use the fields that were added:

            uint64_t dynfield1[2]; /**< Reserved for dynamic fields. */
            uint64_t dynfield1[3]; /**< Reserved for dynamic fields. */

based on the comments.  Can someone please advise, why was this done and can we use these fields?

Thanks,
Paul


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] Question about recent change to rte_mbuf struct - user data and udata64 feels (breaks SPDK)
  2020-11-19  0:17 [dpdk-dev] Question about recent change to rte_mbuf struct - user data and udata64 feels (breaks SPDK) Luse, Paul E
@ 2020-11-19  9:29 ` Thomas Monjalon
  2020-11-19 14:55   ` Luse, Paul E
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Monjalon @ 2020-11-19  9:29 UTC (permalink / raw)
  To: Luse, Paul E; +Cc: dev, olivier.matz

Hi,

19/11/2020 01:17, Luse, Paul E:
> Hi,
> 
> Recently this patch https://github.com/DPDK/dpdk/commit/5284adad3e95025f9901869f581c8c04ea642d32  made the following change:
> 
> * mbuf: Removed the unioned fields ``userdata`` and ``udata64``
>   from the structure ``rte_mbuf``. It is replaced with dynamic fields.
> 
> Which breaks the SPDK project’s crypto and compression capabilities as we use userdata to store context for our operation so it can be retrieved upcon completion of the operation.  It’s not clear to me that we are safe to use the fields that were added:
> 
>             uint64_t dynfield1[2]; /**< Reserved for dynamic fields. */
>             uint64_t dynfield1[3]; /**< Reserved for dynamic fields. */
> 
> based on the comments.  Can someone please advise, why was this done and can we use these fields?

We are doing some API changes in DPDK 20.11.
The mbuf changes were explained one year ago:
http://fast.dpdk.org/events/slides/DPDK-2019-09-Dynamic_mbuf.pdf

The API for dynamic fields is available since DPDK 19.11:
http://doc.dpdk.org/guides/prog_guide/mbuf_lib.html#dynamic-fields-and-flags

If you want an example, look how it is used in example apps.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] Question about recent change to rte_mbuf struct - user data and udata64 feels (breaks SPDK)
  2020-11-19  9:29 ` Thomas Monjalon
@ 2020-11-19 14:55   ` Luse, Paul E
  0 siblings, 0 replies; 3+ messages in thread
From: Luse, Paul E @ 2020-11-19 14:55 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, olivier.matz

Great, thanks for the quick response!!

-Paul

From: Thomas Monjalon <thomas@monjalon.net>
Date: Thursday, November 19, 2020 at 2:30 AM
To: Luse, Paul E <paul.e.luse@intel.com>
Cc: dev@dpdk.org <dev@dpdk.org>, olivier.matz@6wind.com <olivier.matz@6wind.com>
Subject: Re: [dpdk-dev] Question about recent change to rte_mbuf struct - user data and udata64 feels (breaks SPDK)
Hi,

19/11/2020 01:17, Luse, Paul E:
> Hi,
>
> Recently this patch https://github.com/DPDK/dpdk/commit/5284adad3e95025f9901869f581c8c04ea642d32  made the following change:
>
> * mbuf: Removed the unioned fields ``userdata`` and ``udata64``
>   from the structure ``rte_mbuf``. It is replaced with dynamic fields.
>
> Which breaks the SPDK project’s crypto and compression capabilities as we use userdata to store context for our operation so it can be retrieved upcon completion of the operation.  It’s not clear to me that we are safe to use the fields that were added:
>
>             uint64_t dynfield1[2]; /**< Reserved for dynamic fields. */
>             uint64_t dynfield1[3]; /**< Reserved for dynamic fields. */
>
> based on the comments.  Can someone please advise, why was this done and can we use these fields?

We are doing some API changes in DPDK 20.11.
The mbuf changes were explained one year ago:
http://fast.dpdk.org/events/slides/DPDK-2019-09-Dynamic_mbuf.pdf

The API for dynamic fields is available since DPDK 19.11:
http://doc.dpdk.org/guides/prog_guide/mbuf_lib.html#dynamic-fields-and-flags

If you want an example, look how it is used in example apps.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-19  0:17 [dpdk-dev] Question about recent change to rte_mbuf struct - user data and udata64 feels (breaks SPDK) Luse, Paul E
2020-11-19  9:29 ` Thomas Monjalon
2020-11-19 14:55   ` Luse, Paul E

DPDK patches and discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox