#
2834e6dd |
| 13-Oct-2023 |
Ferruh Yigit <ferruh.yigit@amd.com> |
ethdev: clarify device queue state after start and stop
Drivers start/stop device queues on port start/stop, but not all drivers update queue state accordingly.
This becomes more visible if a speci
ethdev: clarify device queue state after start and stop
Drivers start/stop device queues on port start/stop, but not all drivers update queue state accordingly.
This becomes more visible if a specific queue stopped explicitly and port stopped/started later, in this case although all queues are started, the state of that specific queue is stopped and it is misleading.
Misrepresentation of queue state became a defect with commit [1] that does forwarding decision based on queue state and commit [2] that gets up to date queue state from ethdev/device before forwarding.
[1] commit 3c4426db54fc ("app/testpmd: do not poll stopped queues")
[2] commit 5028f207a4fa ("app/testpmd: fix secondary process packet forwarding")
This patch documents that status of all queues of a device should be `RTE_ETH_QUEUE_STATE_STOPPED` after port stop and their status should be`RTE_ETH_QUEUE_STATE_STARTED` after port start.
Also an unit test added to verify drivers.
Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|