Skip to content

Incorrect code generation for a specific parser graph #17

@rajkiranjoshi

Description

@rajkiranjoshi

The generated Wireshark plugin code is incorrect for the perc1 header. Also, possible issues with generated Scapy code for the guess_payload_class() function of the perc1 header. The expected next hop is based on the ACK field and later on the BOS field. This is sort of a multi-field transition but not expressed so by the P4 programmer. Common programmer expectation is to base the transitions between the PERC header based only on the BOS field. The ACK field check is only for other dataplane processing purposes.

Result: Wireshark doesn't parse the packet beyond perc1 header.

Attachments in zip:

  1. perc.p4: source P4 program
  2. perc_parser.pdf: parser graph for the P4 program
  3. perc_sample.pcap: sample pcap file contain PERC packets

perc_issue.zip

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions