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

He, ShiyangX shiyangx.he at intel.com
Wed Jan 4 03:02:10 CET 2023


>> 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