Hi Huzaifa, This patch looks good to me. And would you please help review my memif patches? https://patches.dpdk.org/project/dpdk/cover/[email protected]/
Thanks, Joyce > -----Original Message----- > From: huzaifa.rahman <[email protected]> > Sent: Tuesday, July 26, 2022 6:16 PM > To: [email protected] > Cc: [email protected]; huzaifa.rahman <[email protected]> > Subject: [PATCH] memif: memif driver does not crashes when there's > different N of TX and RX queues net/memif: fix memif crash with different Tx Rx queues > > Bugzilla ID: 734 > > there's a bug in memif_stats_get() function due to confusion between C2S > (client->server) and S2C (server->client) rings, causing a crash if there's a > different number of RX and TX queues. > > this is fixed by selectiing the correct rings for RX and TX i.e for RX, S2C > rings > are selected and for TX, C2S rings are selected. > Fixes: 09c7e63a71f9 ("net/memif: introduce memory interface PMD") Cc: [email protected] > Signed-off-by: huzaifa.rahman <[email protected]> Reviewed-by: Joyce Kong <[email protected]> > --- > drivers/net/memif/rte_eth_memif.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/memif/rte_eth_memif.c > b/drivers/net/memif/rte_eth_memif.c > index dd951b8296..e56df84e10 100644 > --- a/drivers/net/memif/rte_eth_memif.c > +++ b/drivers/net/memif/rte_eth_memif.c > @@ -1444,8 +1444,8 @@ memif_stats_get(struct rte_eth_dev *dev, struct > rte_eth_stats *stats) > stats->opackets = 0; > stats->obytes = 0; > > - tmp = (pmd->role == MEMIF_ROLE_CLIENT) ? pmd- > >run.num_c2s_rings : > - pmd->run.num_s2c_rings; > + tmp = (pmd->role == MEMIF_ROLE_CLIENT) ? pmd- > >run.num_s2c_rings : > + pmd->run.num_c2s_rings; > nq = (tmp < RTE_ETHDEV_QUEUE_STAT_CNTRS) ? tmp : > RTE_ETHDEV_QUEUE_STAT_CNTRS; > > @@ -1458,8 +1458,8 @@ memif_stats_get(struct rte_eth_dev *dev, struct > rte_eth_stats *stats) > stats->ibytes += mq->n_bytes; > } > > - tmp = (pmd->role == MEMIF_ROLE_CLIENT) ? pmd- > >run.num_s2c_rings : > - pmd->run.num_c2s_rings; > + tmp = (pmd->role == MEMIF_ROLE_CLIENT) ? pmd- > >run.num_c2s_rings : > + pmd->run.num_s2c_rings; > nq = (tmp < RTE_ETHDEV_QUEUE_STAT_CNTRS) ? tmp : > RTE_ETHDEV_QUEUE_STAT_CNTRS; > > -- > 2.25.1 IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

