[PATCH] test-pmd: add more packet decode options (verbose)
David Marchand
david.marchand at redhat.com
Fri Jul 5 09:13:47 CEST 2024
On Tue, Mar 12, 2024 at 11:01 PM Stephen Hemminger
<stephen at networkplumber.org> wrote:
>
> The existing verbose levels 1..3 provide a messy multi-line
> output per packet. This is unhelpful when diagnosing many
> types of problems like packet flow.
>
> This patch adds two new levels:
> 4: one line per packet is printed in a format resembling
> tshark output. With addresses and protocol info.
> 5: dump packet in hex.
> Useful if the driver is messing up the data.
>
> Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
That's an interesting addition.
I like the tshark like output.
I had to write similar (more limited) parsing for debug.
I know some project decodes packets and it could probably reuse what
DPDK provides.
Could the parsing function you propose go to lib/net/ maybe?
Something like rte_net_format_packet(const struct rte_mbuf *m, char
*buf, size_t size);
It could be worth instructing the parser to decode only a part of the
packet too (via an offset/size and a hint of the layer).
An additional comment: when you have multiple cores processing packets
(even at low rate), getting all those output mixed with no context at
all would be hard to follow.
I would prefer we retain the information of whether the displayed
packet was caught on Rx/Tx and the queue and port on which it
happened.
As an alternative, there is the possibility of only displaying
received or transmitted packets (if verbose is used as a bitmask with
0x1 and 0x2 controlling rx / tx filtering, and the new modes enhancing
output beauty).
--
David Marchand
More information about the dev
mailing list