>-----Original Message-----
>From: Zhang, Yuying <[email protected]>
>Sent: Wednesday, February 8, 2023 11:22 AM
>To: He, ShiyangX <[email protected]>
>Cc: [email protected]; Zhou, YidingX <[email protected]>;
>[email protected]; Singh, Aman Deep <[email protected]>; Burakov,
>Anatoly <[email protected]>; Li, Xiaoyun <[email protected]>;
>Alvin Zhang <[email protected]>
>Subject: RE: [PATCH] app/testpmd: fix secondary process not forwarding
>
>Hi Shiyang,
>
>> -----Original Message-----
>> From: He, ShiyangX <[email protected]>
>> Sent: 2023年1月13日 17:08
>> To: He, ShiyangX <[email protected]>; Zhang, Yuying
>> <[email protected]>
>> Cc: [email protected]; Zhou, YidingX <[email protected]>;
>> [email protected]; Singh, Aman Deep <[email protected]>;
>> Burakov, Anatoly <[email protected]>; Li, Xiaoyun
>> <[email protected]>; Alvin Zhang <[email protected]>
>> Subject: RE: [PATCH] app/testpmd: fix secondary process not forwarding
>>
>> @Zhang, Yuying Hi, please take a look at this patch! Are there any comments?
>>
>> >-----Original Message-----
>> >From: He, ShiyangX <[email protected]>
>> >Sent: Wednesday, January 4, 2023 10:02 AM
>> >To: Stephen Hemminger <[email protected]>
>> >Cc: [email protected]; Zhou, YidingX <[email protected]>;
>> >[email protected]; Singh, Aman Deep <[email protected]>;
>Zhang,
>> >Yuying <[email protected]>; Burakov, Anatoly
>> ><[email protected]>; Li, Xiaoyun <[email protected]>;
>> >Alvin Zhang <[email protected]>
>> >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: [email protected]
>> >>>
>> >>> Signed-off-by: Shiyang He <[email protected]>
>> >>
>> >>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.
>
>You should fix the queue state in the 'ports' variable of secondary process in
>the initialization of ports variable instead of fixup here.
If the ethdev's queue state is changed by other processes, the queue state in
the 'ports' variable is inconsistent with ethdev's queue state. Therefore,
should obtain it from ethdev when accessing the queue state in the 'ports'
variable.