On Wed, May 20, 2020 at 5:51 PM Ankur Dwivedi <adwiv...@marvell.com> wrote: > > The elt_size field in mempool holds the size of one packet buffer. > It can be used to set the lpm_sizem1 field in rq context. > > The lpb_sizem1 field in rq context is 12 bit, direct assignment > to it was causing overflow of value. Because of this errors > were observed while trying inline inbound with large packets. > This patch resolves the errors. > > Fixes: 094fc8a3a1e2 ("net/octeontx2: add Rx queue setup and release")
Cc: sta...@dpdk.org > > Signed-off-by: Ankur Dwivedi <adwiv...@marvell.com> > Reviewed-by: Nithin Kumar Dabilpuram <ndabilpu...@marvell.com> > Reviewed-by: Jerin Jacob Kollanukkaran <jer...@marvell.com> Fixed the name and Applied to dpdk-next-net-mrvl/master. Thanks > --- > drivers/net/octeontx2/otx2_ethdev.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/net/octeontx2/otx2_ethdev.c > b/drivers/net/octeontx2/otx2_ethdev.c > index 3116e5c..3f3f0a6 100644 > --- a/drivers/net/octeontx2/otx2_ethdev.c > +++ b/drivers/net/octeontx2/otx2_ethdev.c > @@ -373,10 +373,7 @@ > aq->rq.first_skip = first_skip; > aq->rq.later_skip = (sizeof(struct rte_mbuf) / 8); > aq->rq.flow_tagw = 32; /* 32-bits */ > - aq->rq.lpb_sizem1 = rte_pktmbuf_data_room_size(mp); > - aq->rq.lpb_sizem1 += rte_pktmbuf_priv_size(mp); > - aq->rq.lpb_sizem1 += sizeof(struct rte_mbuf); > - aq->rq.lpb_sizem1 /= 8; > + aq->rq.lpb_sizem1 = mp->elt_size / 8; > aq->rq.lpb_sizem1 -= 1; /* Expressed in size minus one */ > aq->rq.ena = 1; > aq->rq.pb_caching = 0x2; /* First cache aligned block to LLC */ > -- > 1.9.3 >