[PATCH] app/testpmd: fix secondary process not forwarding

He, ShiyangX shiyangx.he at intel.com
Fri Jan 13 10:07:45 CET 2023


@Zhang, Yuying Hi, please take a look at this patch! Are there any comments?

>-----Original Message-----
>From: He, ShiyangX <shiyangx.he at intel.com>
>Sent: Wednesday, January 4, 2023 10:02 AM
>To: Stephen Hemminger <stephen at networkplumber.org>
>Cc: dev at dpdk.org; Zhou, YidingX <yidingx.zhou at intel.com>;
>stable at dpdk.org; Singh, Aman Deep <aman.deep.singh at intel.com>; Zhang,
>Yuying <yuying.zhang at intel.com>; Burakov, Anatoly
><anatoly.burakov at intel.com>; Li, Xiaoyun <xiaoyun.li at intel.com>; Alvin
>Zhang <alvinx.zhang at 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: stable at dpdk.org
>>>
>>> Signed-off-by: Shiyang He <shiyangx.he at 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.


More information about the stable mailing list