dts: rxq info dataclass fields were dropped
https://bugs.dpdk.org/show_bug.cgi?id=1584
Bug ID: 1584
Summary: dts: rxq info dataclass fields were dropped
Product: DPDK
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: minor
Priority: Normal
Component: DTS
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected], [email protected]
Target Milestone: ---
https://patchwork.dpdk.org/project/dpdk/patch/[email protected]/
In the series above, any fields which were previously a part of TestPmdRxqInfo dataclass, and were not needed for our current testsuites, were dropped when we shifted to a rxqinfo base class and 2 child classes for txq and rxq respectively.
I can see why this was done, but it is worth discussing at an upcoming meeting whether we should continue with this practice in other cases, or attempt to provide complete structures for testpmd output, even before they're needed for a testsuite. In my view it is simpler to just support all fields possible in the given dataclass instead of add them in piecemeal as testsuites are added.
For context, the original dataclass, which represents all the values returned from "show rxq info <port_id> <queue_id>":
-------------------------------
@dataclass
class TestPmdRxqInfo(TextParser):
"""Representation of testpmd's ``show rxq info <port_id> <queue_id>``
command.
References:
testpmd command function: ``app/test-pmd/cmdline.c:cmd_showqueue()`` testpmd display function:
``app/test-pmd/config.c:rx_queue_infos_display()``
"""
#:
port_id: int = field(metadata=TextParser.find_int(r"Infos for port (\d+)\b?, RX queue \d+\b"))
#:
queue_id: int = field(metadata=TextParser.find_int(r"Infos for port \d+\b
?, RX queue (\d+)\b"))
#: Mempool used by that queue
mempool: str = field(metadata=TextParser.find(r"Mempool: ([^\r\n]+)")) #: Ring prefetch threshold
rx_prefetch_threshold: int = field(
metadata=TextParser.find_int(r"RX prefetch threshold: (\d+)\b")
)
#: Ring host threshold
rx_host_threshold: int = field(metadata=TextParser.find_int(r"RX host
threshold: (\d+)\b"))
#: Ring writeback threshold
rx_writeback_threshold: int = field(
metadata=TextParser.find_int(r"RX writeback threshold: (\d+)\b")
)
#: Drives the freeing of Rx descriptors
rx_free_threshold: int = field(metadata=TextParser.find_int(r"RX free
threshold: (\d+)\b"))
#: Drop packets if no descriptors are available
rx_drop_packets: bool = field(metadata=TextParser.find(r"RX drop packets:
on"))
#: Do not start queue with rte_eth_dev_start()
rx_deferred_start: bool = field(metadata=TextParser.find(r"RX deferred
start: on"))
#: Scattered packets Rx enabled
rx_scattered_packets: bool = field(metadata=TextParser.find(r"RX scattered
packets: on"))
#: The state of the queue
rx_queue_state: str = field(metadata=RxQueueState.make_parser()) #: Configured number of RXDs
number_of_rxds: int = field(metadata=TextParser.find_int(r"Number of RXDs:
(\d+)\b"))
#: Hardware receive buffer size
rx_buffer_size: int | None = field(
default=None, metadata=TextParser.find_int(r"RX buffer size: (\d+)\b")
)
#: Burst mode information
burst_mode: str | None = field(
default=None, metadata=TextParser.find(r"Burst mode: ([^\r\n]+)")
)Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.