The packet regex in extract_verbose_output could not match verbose output from tunnel protocols like VXLAN because it did not allow commas. VXLAN verbose lines contain comma-separated fields, which caused the regex to fail before reaching the final field. This silently dropped the entire packet from the parsed output. Added comma and dot to the allowed characters in the regex.
Signed-off-by: Dean Marx <[email protected]> --- dts/api/testpmd/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dts/api/testpmd/__init__.py b/dts/api/testpmd/__init__.py index 703cae487e..bbcec7f969 100644 --- a/dts/api/testpmd/__init__.py +++ b/dts/api/testpmd/__init__.py @@ -817,7 +817,7 @@ def extract_verbose_output(output: str) -> list[TestPmdVerbosePacket]: prev_header: str = "" iter = re.finditer( r"(?P<HEADER>(?:port \d+/queue \d+: (?:received|sent) \d+ packets)?)\s*" - r"(?P<PACKET>src=[\w\s=:-]+?ol_flags: [\w ]+)", + r"(?P<PACKET>src=[\w\s=:,.-]+?ol_flags: [\w ]+)", output, ) for match in iter: -- 2.52.0

