70 likes | 213 Views
Reduced Backus-Naur Form (RBNF) A Syntax Used in Various Protocol Specifications draft-farrel-rtg-common-bnf-07.txt. Adrian Farrel adrian@olddog.co.uk. Background. Many Routing Area (and related) documents define messages using Backus-Naur Format (BNF) RSVP (RFC 2205) (Transport Area)
E N D
Reduced Backus-Naur Form (RBNF)A Syntax Used in Various ProtocolSpecificationsdraft-farrel-rtg-common-bnf-07.txt Adrian Farrel adrian@olddog.co.uk
Background • Many Routing Area (and related) documents define messages using Backus-Naur Format (BNF) • RSVP (RFC 2205) (Transport Area) • RSVP-TE (RFC 3209) • RSVP-TE for GMPLS (RFC 3473) • LMP (RFC 4204) • PCEP (draft-ietf-pce-pcep) • They use a common variant of BNF that is not formally documented anywhere
Why Bother? • Protocol extensions require a host of new I-Ds defining extensions to messages • Many Discusses raised during IESG review • “Where is the definition of the formal language you use in this document?” • Attempted answer “…as used in RFC 2205” was rejected • It does make sense to have a standard reference • Help people to write new documents • Enables automatic verification of the BNF • Help people to understand existing documents • Do we really need this document • Maybe, maybe not • It does no harm and it helps the review process
Why Not Use an Existing Reference? • Two existing key definitions • Extended BNF (ISO/IEC 14977) • Augmented BNF (RFC 5234) • It turns out that the syntax used in existing RFCs differs slightly from these definitions • We could have a specification that lists the differences • That would be a bit messy • We actually only need a small subset of the full BNF vocabulary and grammar
What is in the draft? • Rules • Objects • Constructs • Messages • Operators • Assignment • Concatenation • Optional Presence • Alternatives • Repetition • Grouping • Editorial Conventions • White Space • Line Breaks • Ordering • Precedence rules • Examples
Aren’t the examples a bit convoluted? • Some of them are! • But nearly all of them come from real RFCs • So, don’t blame me • The examples give impetus for: • A specification that helps us interpret the RFCs • Recommendations on how to write BNF in future
Document Status • First version submitted early March • Eighth revision submitted early November • Reviews received from a bunch of people • Thanks! • Review requested several times in • CCAMP, MPLS, PCE, RTGWG, RTG Area, TSVWG • Now ready to be an RFC • Standards Track • But only mandatory in documents that cite it as a normative reference