@Zhang, Yuying Hi, please take a look at this patch! Are there any comments?
>-----Original Message----- >From: He, ShiyangX <shiyangx...@intel.com> >Sent: Wednesday, January 4, 2023 10:02 AM >To: Stephen Hemminger <step...@networkplumber.org> >Cc: dev@dpdk.org; Zhou, YidingX <yidingx.z...@intel.com>; >sta...@dpdk.org; Singh, Aman Deep <aman.deep.si...@intel.com>; Zhang, >Yuying <yuying.zh...@intel.com>; Burakov, Anatoly ><anatoly.bura...@intel.com>; Li, Xiaoyun <xiaoyun...@intel.com>; Alvin >Zhang <alvinx.zh...@intel.com> >Subject: RE: [PATCH] app/testpmd: fix secondary process not forwarding > >>> Under multi-process scenario, the secondary process gets queue state >>> from the wrong location (the global variable 'ports'). Therefore, the >>> secondary process can not forward since "stream_init" is not called. >>> >>> This commit fixes the issue by calling 'rte_eth_rx/tx_queue_info_get' >>> to get queue state from shared memory. >>> >>> Fixes: a78040c990cb ("app/testpmd: update forward engine beginning") >>> Cc: sta...@dpdk.org >>> >>> Signed-off-by: Shiyang He <shiyangx...@intel.com> >> >>Would it be possible to fix this the initialization of ports variable, >>rather than doing a per-state fixup here? > >In multi-process scenario, the secondary process does not initialize the queue >state in the 'ports' variable, and the ethdev's queue state may be changed by >any other process, which causes 'ports' queue state of per-process and >ethdev's queue state are inconsistent. Therefore, getting the queue state >from ethdev is a feasible way which I can think of.