csperkins.org

Improving protocol standards at IETF 106

As part of our work on improving protocol standards, Stephen McQuistin and I are at the IETF 106 meeting in Singapore this week. We have an update to our draft on Describing Protocol Data Units with Augmented Packet Header Diagrams, and will be joining the hackathon to work on tools for extracting structured information from protocol specifications.

Our draft recognises that protocol designers in the IETF often make use of simple block diagrams to describe packet formats. These are easy for people to read and understand, but inconsistent enough that it's hard to write tools that can extract and work with the formats. Structured protocol description languages exist, and are easy for machines to work with, but are less intuitive for human readers, and so haven't been too widely adopted in the IETF. We describe some simple conventions for formatting packet diagrams that make them consistently machine readable. The intent is to make a minimal change to the way specifications are written in the IETF, to enable automated processing of the specifications.

In the hackathon, we're working on a prototype tool that can process drafts containing such packet diagrams, and generate Rust code to parse the packets. The goal is to showcase the ideas, and demonstrate proof of concept.

If you're at the IETF in Singapore, come talk to use to learn more: in the hackathon, after the HotRFC session where Stephen will give a lightning talk about the project, or later in the week.