This memo defines a list of often called "ID-NITS" that need to be checked before an Internet-Draft will be accepted for IESG consideration.
ID-Checklist Revision 1.9,
B. Wijnen (for the IESG)
May 12, 2009
All Internet Drafts which are offered to an AD or the IESG with a request for publication as RFC must conform to the following requirements or they will be returned to the author(s)/editor(s) for revision.
The WG Chairs are responsible for having this list checked before submission to the ADs.
A handy tool (awk script) to check most of the formatting nits (as in Sections 2.1 and 2.2 below) is available at http://tools.ietf.org/tools/idnits/, courtesy of Henrik Levkowetz.
Another set of handy tools is available at the IETF TOOLS pages.
Checking for content related issues (as in Sections 2.3, 3, and 4 below) needs a human eye.
The content issues have to be checked early in the development of documents, being technically integral. The WG Chairs are responsible for this too.
The ADs will not accept the document and so will not put it on the IESG agenda if this check has not been done.
Responsibility for all checking is with the authors in the case of an individual submission.
This document only talks about "finished" Internet-Drafts. That is those I-Ds for which the IESG gets a request for publication. However, it is strongly RECOMMENDED to follow these rules/guidelines for documents that go to WG Last Call as well.
Guidelines for all Internet-Drafts are in Guidelines to Authors of Internet-Drafts, and are not repeated here.
As a suggestion for productivity improvement, it is strongly RECOMMENDED to use XML2RFC [RFC2629] (Rose, M., “Writing I-Ds and RFCs using XML,” June 1999.) as source files for generating an Internet-Draft. (There is even an online xml2rfc tool to generate the nroff and Internet-Draft .txt files). That tool automatically takes care of most of the formatting, administrative and bureaucratic rules.
There is a rumor that the tool will soon also take care of all the content issues ;-)
In principle, the RFC-Editor can take care of a few small formatting errors. And if there are only a few, then they will do so. However, if many errors exist, the document will be returned to the author(s)/editor(s)/WG for fixes. In any event, please realize that not following the formatting rules will most probably delay publication and does consume time that can be spend on other work.
See "RFC Style Guide" https://tools.ietf.org/html/rfc7322 for details and further rules. Here is a checklist of formatting problems rules that often get neglected:
The following are REQUIRED sections in all Internet-Drafts:
A. Should be meaningful to someone not versed in the technology; most abbreviations must be expanded on first use.
B. No citations
C. See section 4.3 in the RFC Style Guide
D. If your document obsoletes or updates a previous RFC, then:
Network Working Group <yourname> Internet-Draft <your affiliation> Obsoletes: xxxx (if approved) August 29, 2006 Updates: yyyy, zzzz (if approved) Intended status: Best Current Practice Expires: February 21, 2007 ... Abstract This document describes ..... It obsoletes RFC xxxx and updates RFC yyyy and RFC zzzz
2. Security Considerations section
MUST have meaningful exploration of security issues raised by the proposal, SHOULD include both risks and description of solutions or workarounds. See "Guidelines for Writing RFC Text on Security Considerations" [
] (Rescorla, E. and B. Korver, “Guidelines for Writing RFC Text on Security Considerations,” July 2003.) and "Guidelines for Specifying the Use of IPsec Version 2" [
] (Bellovin, S., “Guidelines for Specifying the Use of IPsec Version 2,” February 2009.)
It is also important to use the proper terminology for security terms, as defined in [
] (Shirey, R., “Internet Security Glossary, Version 2,” August 2007.).
For MIB documents, the "Security Guidelines for IETF MIB Modules" should be used as a starting point.
3. If capitalized MUST/SHOULD etc is used, then the terms must be defined (or [
] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.) must be normatively referenced).
Also read RFC 2119 to see what it says about using MUST etc.
4. Specific IPR (e.g., patent claims & terms) must not be in an RFC (or Internet-Draft). Any claims must go to the IETF IPR web page and notice that there is some IPR claim. The mandatory IPR Notice from [
] (Bradner, S., “Intellectual Property Rights in IETF Technology,” March 2005.) section 5 points readers to the IETF IPR web page.
5. Use of formal languages should be in conformance with the IESG statement on the use of formal languages - See:
A. All MIB modules SHOULD have correct SYNTAX, so they should compile cleanly using:
smilint -m -s -l 6 -i namelength-32
An online WEB service is available for syntax checking at: http://www.ibr.cs.tu-bs.de/projects/libsmi/tools/.
It allows you to extract the MIB module from a document for your own local use, but you can also directly run a syntax check. You can also download the libsmi tools for local use.
In most cases there should be no errors or warnings present in the report. Please evaluate all diagnostic messages before assuming that they are OK. If in doubt, feel free to check on the firstname.lastname@example.org mailing list or with the OPS ADs.
B. Besides the SYNTAX checking, a MIB document should also be checked against the "Guidelines for MIB Authors and Reviewers" [RFC4181] (Heard, C., “Guidelines for Authors and Reviewers of MIB Documents,” September 2005.) [RFC4841] (Heard, C., “RFC 4181 Update to Recognize the IETF Trust,” March 2007.)
C. All ABNF must be checked. A tool is available from www.apps.ietf.org See [RFC5234] (Crocker, D. and P. Overell, “Augmented BNF for Syntax Specifications: ABNF,” January 2008.) for information about IETF ABNF. If ABNF is used, you MUST include a normative reference to RFC 5234.
D. Protocol specifications that use XML should always use well-formed XML at a minimum. Sample XML instances included in a specification have to be well-formed, and if the XML is supposed to be valid (according to the current W3C definition of validity), the samples must reference and be validated using an appropriate XML Schema, DTD, or other standard validation mechanism that is structurally and syntactically correct. Links to tools to check XML validity, including a schema checker and a validating parser, can be found at www.apps.ietf.org Other guidelines for the use of XML in IETF protocols can be found in BCP 70 [RFC3470] (Hollenbeck, S., Rose, M., and L. Masinter, “Guidelines for the Use of Extensible Markup Language (XML) within IETF Protocols,” January 2003.).
E. XML provides structures, such as the <any> element information item in XML Schema, to allow element extensions. If these structures are included in a protocol, the protocol specification must include clear guidance on how, when, and where the extension structures, such as versioning, can be used.
F. XML Schemas, Namespaces, and Resource Description Framework (RDF) Schemas should be registered with the IANA using the procedures described in BCP 81 [RFC3688] (Mealling, M., “The IETF XML Registry,” January 2004.).
6. Addresses used in examples SHOULD use fully qualified domain names instead of literal IP addresses, and SHOULD use example fqdn's such as foo.example.com instead of real-world fqdn's. See [RFC2606] (Eastlake, D. and A. Panitz, “Reserved Top Level DNS Names,” June 1999.) for example domain names that can be used.
There is also a range of IP addresses set aside for this purpose:
A. For IPv4 these are 192.0.2.0/24 (see [RFC3330] (IANA, “Special-Use IPv4 Addresses,” September 2002.)).
B. For IPv6 these are 2001:DB8::/32 (see [RFC3849] (Huston, G., Lord, A., and P. Smith, “IPv6 Address Prefix Reserved for Documentation,” July 2004.)).
Private addresses that would be used in the real world SHOULD be avoided in examples.
Similarly, real telephone numbers should not be used. Instead use those numbers that were reserved for examples or fictitious use. Available numbers for use in examples are:
C. UK: +44-<geographic-area-code>-496-<0000-0999> (see http://www.ofcom.org.uk/telecoms/ioi/numbers/num_drama)
D. USA: +1-<area code>-555-<0100-0199> (see http://www.nanpa.com/nas/public/form555MasterReport.do?method=display555MasterReport)
A. All references must be stable and resolvable.
B. A bare HTTP URL is not generally considered a stable reference. For Web-only documents, adding a reference number, title and/or an author will help make the reference more stable.
C. Judgment can be used here; the stability of normative references is even more important than the stability of informative references.
D. In case of references to Internet-Drafts, use the format: author, "title" (I-D file name).
Normative references to I-Ds will cause a standards-track or BCP document to wait in the RFC-Editor queue (see RFC-Editor queue) for the referenced I-Ds to be published as RFCs.
E. Normative and informative references to non-IETF documents are permitted. However, it is best to minimize such normative references, because assessing their status when the IETF document advances on the standards-track is very difficult. It is important to use the exact title, author name(s), organization and publication date.
8. Avoid text that will become outdated after RFC is published.
Examples include non-permanent URLs, mentions of specific mailing lists as places to send comments on a document, or referring to specific WGs as a place to perform specific future actions (e.g., reviewing followup documents). In some cases (like the ORGANIZATION clause in MIB modules), references to working groups are impossible to avoid; however, generally, Internet-Drafts should not assign powers or responsibilities to WGs unless the WG in question will exist as long as the practice documented in the published RFC remains valid. In cases where a specific WG is expected to be a focal point for future action, it is acceptable to give the task to the IESG, giving instructions on how the action is expected to be delegated, e.g., by forwarding to an appropriate WG or other set of experts.
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML).
[RFC2277] Alvestrand, H., “IETF Policy on Character Sets and Languages,” BCP 18, RFC 2277, January 1998 (TXT, HTML, XML).
[RFC2606] Eastlake, D. and A. Panitz, “Reserved Top Level DNS Names,” BCP 32, RFC 2606, June 1999 (TXT).
[RFC2629] Rose, M., “Writing I-Ds and RFCs using XML,” RFC 2629, June 1999 (TXT, HTML, XML).
[RFC2780] Bradner, S. and V. Paxson, “IANA Allocation Guidelines For Values In the Internet Protocol and Related Headers,” BCP 37, RFC 2780, March 2000 (TXT).
[RFC2828] Shirey, R., “ Internet Security Glossary,” RFC 2828, May 2000 (TXT).
[RFC2914] Floyd, S., “Congestion Control Principles,” BCP 41, RFC 2914, September 2000 (TXT).
[RFC3330] IANA, “Special-Use IPv4 Addresses,” RFC 3330, September 2002 (TXT).
[RFC3454] Hoffman, P. and M. Blanchet, “Preparation of Internationalized Strings ("stringprep"),” RFC 3454, December 2002 (TXT).
[RFC3470] Hollenbeck, S., Rose, M., and L. Masinter, “Guidelines for the Use of Extensible Markup Language (XML) within IETF Protocols,” BCP 70, RFC 3470, January 2003 (TXT, HTML, XML).
[RFC3552] Rescorla, E. and B. Korver, “Guidelines for Writing RFC Text on Security Considerations,” BCP 72, RFC 3552, July 2003 (TXT).
[RFC3629] Yergeau, F., “UTF-8, a transformation format of ISO 10646,” STD 63, RFC 3629, November 2003 (TXT).
[RFC3669] Brim, S., “Guidelines for Working Groups on Intellectual Property Issues,” RFC 3669, February 2004 (TXT).
[RFC3688] Mealling, M., “The IETF XML Registry,” BCP 81, RFC 3688, January 2004 (TXT).
[RFC3692] Narten, T., “Assigning Experimental and Testing Numbers Considered Useful,” BCP 82, RFC 3692, January 2004 (TXT).
[RFC3849] Huston, G., Lord, A., and P. Smith, “IPv6 Address Prefix Reserved for Documentation,” RFC 3849, July 2004 (TXT).
[RFC3978] Bradner, S., “IETF Rights in Contributions,” RFC 3978, March 2005 (TXT).
[RFC3979] Bradner, S., “Intellectual Property Rights in IETF Technology,” BCP 79, RFC 3979, March 2005 (TXT).
[RFC4181] Heard, C., “Guidelines for Authors and Reviewers of MIB Documents,” BCP 111, RFC 4181, September 2005 (TXT).
[RFC4748] Bradner, S., “RFC 3978 Update to Recognize the IETF Trust,” RFC 4748, October 2006 (TXT).
[RFC4841] Heard, C., "RFC 4181 Update to Recognize the IETF Trust," BCP 11, RFC 4841, March 2007 (TXT).
[RFC4949] Shirey, R., “Internet Security Glossary, Version 2,” RFC 4949, August 2007 (TXT).
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs," BCP 26, RFC 5226, May 2008 (TXT)
[RFC5234] Crocker, D. and P. Overell, “Augmented BNF for Syntax Specifications: ABNF," STD 68, RFC 5234, January 2008 (TXT).
[RFC5237] Arkko, J. and S. Bradner, “IANA Allocation Guidelines for the Protocol Field,” BCP 37, RFC 5237, February 2008 (TXT).
[RFC5406] Bellovin, S., “Guidelines for Specifying the Use of IPsec Version 2,” BCP 146, RFC 5406, February 2009 (TXT).
Schagen 33 3461 GL Linschoten