[v2,1/1] app/test: resolve mbuf_test application failure
Checks
Commit Message
when RTE_ENABLE_ASSERT is defined test_mbuf application is
failing because we are trying to attach extbuf to a cloned
buffer to which external mbuf is already attached.To make
test_mbuf pass CI we have updated ol_flags. This patch fixes
the same.
Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>
---
v2 : Addressed comments by removing extbuf call
as mbuf is already attached
app/test/test_mbuf.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
Comments
Hi Olivier,
Let me know if you have any comments on this patch.
Regards,
Rakesh
> -----Original Message-----
> From: Rakesh Kudurumalla <rkudurumalla@marvell.com>
> Sent: Wednesday, July 26, 2023 11:25 AM
> To: Olivier Matz <olivier.matz@6wind.com>
> Cc: dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Nithin
> Kumar Dabilpuram <ndabilpuram@marvell.com>; Rakesh Kudurumalla
> <rkudurumalla@marvell.com>
> Subject: [PATCH v2 1/1] app/test: resolve mbuf_test application failure
>
> when RTE_ENABLE_ASSERT is defined test_mbuf application is failing
> because we are trying to attach extbuf to a cloned buffer to which external
> mbuf is already attached.To make test_mbuf pass CI we have updated
> ol_flags. This patch fixes the same.
>
> Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>
> ---
> v2 : Addressed comments by removing extbuf call
> as mbuf is already attached
>
> app/test/test_mbuf.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c index
> efac01806b..722e1ef624 100644
> --- a/app/test/test_mbuf.c
> +++ b/app/test/test_mbuf.c
> @@ -2345,16 +2345,13 @@ test_pktmbuf_ext_shinfo_init_helper(struct
> rte_mempool *pktmbuf_pool)
> GOTO_FAIL("%s: External buffer is not attached to mbuf\n",
> __func__);
>
> - /* allocate one more mbuf */
> + /* allocate one more mbuf, it is attached to the same external buffer
> +*/
> clone = rte_pktmbuf_clone(m, pktmbuf_pool);
> if (clone == NULL)
> GOTO_FAIL("%s: mbuf clone allocation failed!\n", __func__);
> if (rte_pktmbuf_pkt_len(clone) != 0)
> GOTO_FAIL("%s: Bad packet length\n", __func__);
>
> - /* attach the same external buffer to the cloned mbuf */
> - rte_pktmbuf_attach_extbuf(clone, ext_buf_addr, buf_iova,
> buf_len,
> - ret_shinfo);
> if (clone->ol_flags != RTE_MBUF_F_EXTERNAL)
> GOTO_FAIL("%s: External buffer is not attached to mbuf\n",
> __func__);
> --
> 2.25.1
Hi Rakesh,
Sorry for the delay.
On Tue, Oct 03, 2023 at 04:20:57AM +0000, Rakesh Kudurumalla wrote:
> Hi Olivier,
>
> Let me know if you have any comments on this patch.
>
> Regards,
> Rakesh
>
> > -----Original Message-----
> > From: Rakesh Kudurumalla <rkudurumalla@marvell.com>
> > Sent: Wednesday, July 26, 2023 11:25 AM
> > To: Olivier Matz <olivier.matz@6wind.com>
> > Cc: dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Nithin
> > Kumar Dabilpuram <ndabilpuram@marvell.com>; Rakesh Kudurumalla
> > <rkudurumalla@marvell.com>
> > Subject: [PATCH v2 1/1] app/test: resolve mbuf_test application failure
app/test: fix external mbuf test when assertions enabled
> >
> > when RTE_ENABLE_ASSERT is defined test_mbuf application is failing
> > because we are trying to attach extbuf to a cloned buffer to which external
> > mbuf is already attached.To make test_mbuf pass CI we have updated
> > ol_flags. This patch fixes the same.
> >
Fixes: 7b295dceea07 ("test/mbuf: add unit test cases")
> > Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
> > ---
> > v2 : Addressed comments by removing extbuf call
> > as mbuf is already attached
> >
> > app/test/test_mbuf.c | 5 +----
> > 1 file changed, 1 insertion(+), 4 deletions(-)
> >
> > diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c index
> > efac01806b..722e1ef624 100644
> > --- a/app/test/test_mbuf.c
> > +++ b/app/test/test_mbuf.c
> > @@ -2345,16 +2345,13 @@ test_pktmbuf_ext_shinfo_init_helper(struct
> > rte_mempool *pktmbuf_pool)
> > GOTO_FAIL("%s: External buffer is not attached to mbuf\n",
> > __func__);
> >
> > - /* allocate one more mbuf */
> > + /* allocate one more mbuf, it is attached to the same external buffer
> > +*/
> > clone = rte_pktmbuf_clone(m, pktmbuf_pool);
> > if (clone == NULL)
> > GOTO_FAIL("%s: mbuf clone allocation failed!\n", __func__);
> > if (rte_pktmbuf_pkt_len(clone) != 0)
> > GOTO_FAIL("%s: Bad packet length\n", __func__);
> >
> > - /* attach the same external buffer to the cloned mbuf */
> > - rte_pktmbuf_attach_extbuf(clone, ext_buf_addr, buf_iova,
> > buf_len,
> > - ret_shinfo);
> > if (clone->ol_flags != RTE_MBUF_F_EXTERNAL)
> > GOTO_FAIL("%s: External buffer is not attached to mbuf\n",
> > __func__);
> > --
> > 2.25.1
>
@@ -2345,16 +2345,13 @@ test_pktmbuf_ext_shinfo_init_helper(struct rte_mempool *pktmbuf_pool)
GOTO_FAIL("%s: External buffer is not attached to mbuf\n",
__func__);
- /* allocate one more mbuf */
+ /* allocate one more mbuf, it is attached to the same external buffer */
clone = rte_pktmbuf_clone(m, pktmbuf_pool);
if (clone == NULL)
GOTO_FAIL("%s: mbuf clone allocation failed!\n", __func__);
if (rte_pktmbuf_pkt_len(clone) != 0)
GOTO_FAIL("%s: Bad packet length\n", __func__);
- /* attach the same external buffer to the cloned mbuf */
- rte_pktmbuf_attach_extbuf(clone, ext_buf_addr, buf_iova, buf_len,
- ret_shinfo);
if (clone->ol_flags != RTE_MBUF_F_EXTERNAL)
GOTO_FAIL("%s: External buffer is not attached to mbuf\n",
__func__);