> From: Shijith Thotton [mailto:sthot...@marvell.com] > Sent: Wednesday, 26 June 2024 14.08 > > Fixed rte_mbuf_dynfield_copy() API to copy dynamic fields from one mbuf > to another. When RTE_IOVA_AS_PA is not defined during the build, an > additional dynamic field (dynfield2) becomes available. This field > should be conditionally copied to ensure the complete duplication of > dynamic fields between mbufs. This patch fixes the same. > > see https://bugs.dpdk.org/show_bug.cgi?id=1472 > > Bugzilla ID: 1472 > Fixes: 03b57eb7ab9a ("mbuf: add second dynamic field member") > Cc: sta...@dpdk.org > > Signed-off-by: Shijith Thotton <sthot...@marvell.com>
Thank you for fixing this bug. > --- > lib/mbuf/rte_mbuf.h | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h > index 4c4722e002..dc6d1237ac 100644 > --- a/lib/mbuf/rte_mbuf.h > +++ b/lib/mbuf/rte_mbuf.h > @@ -1120,6 +1120,9 @@ static inline void > rte_mbuf_dynfield_copy(struct rte_mbuf *mdst, const struct rte_mbuf *msrc) > { > memcpy(&mdst->dynfield1, msrc->dynfield1, sizeof(mdst->dynfield1)); > +#if !RTE_IOVA_IN_MBUF > + mdst->dynfield2 = msrc->dynfield2; > +#endif dynfield2 is located before dynfield1 in the mbuf struct; suggest copy dynfield2 before dynfield1. > } > > /* internal */ > -- > 2.25.1 With or without suggested change, Reviewed-by: Morten Brørup <m...@smartsharesystems.com>