On 5/29/2023 3:26 AM, Jie Hai wrote:

> 
> Each stream has a read-only "disabled" field that control if this
> stream should be used to forward. This field depends on states
> of Rx/Tx queues, please see
> commit 3c4426db54fc ("app/testpmd: do not poll stopped queues").
> 
> Currently, the testpmd and DPDK frameworks maintain queue state
> separately. That of the primary process of testpmd are set by
> deferred_start in the queue configuration. And that of the
> framework(dev->data->rx_queue_state or dev->data->tx_queue_state)
> is set when the driver enables/disables the queue, and it is
> shared between the primary/secondary process.
> 
> If the deferred_start is set, the queue is disabled and the
> corresponding queue state in the framework changes to stopped.
> However, the queue state in the framework does not only come from
> this. If the primary/secondary process stops a queue, the related
> queue state will change, too. However, the primary process of
> testpmd does not know the change brought by this operation.
> Therefore, setting the queue state in the primary testpmd by only
> the deferred_start is unsafe.
> 
> For example, Rx/Tx queues who are stopped before the operations of
> stopping and starting port cannot forward packets after these
> operations on primary process.
> 
> Therefore, the primary process should getting the queue state from
> of the framework as the secondary process does, please see commit
> e065c9aa3e05 ("app/testpmd: fix secondary process packet forwarding").
> 
> Fixes: 3c4426db54fc ("app/testpmd: do not poll stopped queues")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Jie Hai <haij...@huawei.com>
> ---
> v1->v2:
> 1. Fix misspelled word 'deferred'.
> 2. Fix incorrect format of reference to commits.
> 
> v2->v3
> 1. Fix incorrect format of reference to commits.


Hi Jie,

Problem is not clear for me.
Can you please describe more what is not working?

Reply via email to