[dpdk-dev] Question about recent change to rte_mbuf struct - user data and udata64 feels (breaks SPDK)

Luse, Paul E paul.e.luse at intel.com
Thu Nov 19 15:55:43 CET 2020


Great, thanks for the quick response!!

-Paul

From: Thomas Monjalon <thomas at monjalon.net>
Date: Thursday, November 19, 2020 at 2:30 AM
To: Luse, Paul E <paul.e.luse at intel.com>
Cc: dev at dpdk.org <dev at dpdk.org>, olivier.matz at 6wind.com <olivier.matz at 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.



More information about the dev mailing list