While debugging TAP rte_flow discovered that test pmd verbose output was confusing and unhelpful. Instead, made a simple dissector that prints one line per packet like this in test-pmd with verbose level 4
Seq# Time Port:Que Description 1 0.000000000 0:0 :: → ff02::16 ICMP 143 2 0.000000000 0:0 :: → ff02::1:ff98:2b46 ICMP 135 36 0.512762002 0:0 fe80::285f:1fff:fe98:2b46 → ff02::fb UDP 120 5353 → 5353 37 0.512779925 0:0 fe80::285f:1fff:fe98:2b46 → ff02::fb UDP 120 5353 → 5353 v3 - use a string buffer instead of use stdio stream because that can get garbled when dealing with multiple threads. - don't use longjmp unwind, as it can lead to bugs later. Stephen Hemminger (3): net: add new packet dissector test: add test for packet dissector test-pmd: add more packet verbose decode options app/test-pmd/cmdline_flow.c | 3 +- app/test-pmd/config.c | 33 +- app/test-pmd/testpmd.h | 11 + app/test-pmd/util.c | 77 +++- app/test/meson.build | 1 + app/test/test_dissect.c | 241 ++++++++++++ doc/guides/testpmd_app_ug/testpmd_funcs.rst | 5 +- lib/net/meson.build | 2 + lib/net/rte_dissect.c | 407 ++++++++++++++++++++ lib/net/rte_dissect.h | 42 ++ lib/net/version.map | 7 + 11 files changed, 811 insertions(+), 18 deletions(-) create mode 100644 app/test/test_dissect.c create mode 100644 lib/net/rte_dissect.c create mode 100644 lib/net/rte_dissect.h -- 2.43.0