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> --- 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 } /* internal */ -- 2.25.1