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
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.
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.