<?xml version="1.0" encoding="utf-8"?>
<!-- name="GENERATOR" content="github.com/mmarkdown/mmark Mmark Markdown Processor - mmark.miek.nl" -->
<rfc version="3" ipr="trust200902" docName="draft-ietf-sidrops-aspa-notation-02" submissionType="IETF" category="info" xml:lang="en" xmlns:xi="http://www.w3.org/2001/XInclude" indexInclude="true" consensus="true">

<front>
<title abbrev="ASPA Notation">Human Readable ASPA Notation</title><seriesInfo value="draft-ietf-sidrops-aspa-notation-02" status="informational" name="Internet-Draft"></seriesInfo>
<author initials="T." surname="Bruijnzeels" fullname="Tim Bruijnzeels"><organization>RIPE NCC</organization><address><postal><street></street>
</postal><email>tbruijnzeels@ripe.net</email>
</address></author><author initials="O." surname="Borchert" fullname="Oliver Borchert"><organization>NIST</organization><address><postal><street></street>
</postal><email>oliver.borchert@nist.gov</email>
</address></author><author initials="D." surname="Ma" fullname="Di Ma"><organization>ZDNS</organization><address><postal><street></street>
</postal><email>madi@zdns.cn</email>
</address></author><author initials="T." surname="de Kock" fullname="Ties de Kock"><organization>RIPE NCC</organization><address><postal><street></street>
</postal><email>tdekock@ripe.net</email>
</address></author><date/>
<area>Internet</area>
<workgroup></workgroup>

<abstract>
<t>This document defines a human readable notation for Validated ASPA
Payloads (VAP, see ID-aspa-profile) for use with RPKI tooling based on
ABNF (RFC 5234).</t>
</abstract>

</front>

<middle>

<section anchor="requirements-notation"><name>Requirements notation</name>
<t>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;, &quot;SHOULD&quot;,
&quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;NOT RECOMMENDED&quot;, &quot;MAY&quot;, and &quot;OPTIONAL&quot; in
this document are to be interpreted as described in BCP 14 <xref target="RFC2119"></xref>
<xref target="RFC8174"></xref> when, and only when, they appear in all capitals, as shown here.</t>
</section>

<section anchor="introduction"><name>Introduction</name>
<t>This informational document defines a human readable ASPA notation for
Validated ASPA Payloads (VAPs) <xref target="I-D.ietf-sidrops-aspa-profile"></xref>.</t>
<t>The main motivations for providing this notations style are:
* This can help to create consistency between RPKI Relying Party
  software output, making it easier for operators to compare results.
* This can be used by RPKI Certificate Authorities (CA) command line
  interfaces and/or configuration. E.g. allowing a CA to provide a
  listing of intended VAPs which can be easily compared to RP output.
* This can be used for documentation.</t>
<t>That said, this definition is informational. Implementations can choose
to use their own notation styles instead of, or in addition to this.</t>
</section>

<section anchor="aspa-notation-definition"><name>ASPA Notation Definition</name>
<t>This specification uses ABNF syntax specified in <xref target="RFC5234"></xref>.</t>

<artwork>notation            = customer-asid separator providers

customer-asid       = asn
separator           = &quot; =&gt; &quot;

providers           = providers-one-line / providers-multiline
providers-one-line  = asn *(*wsp &quot;,&quot; *wsp asn)
providers-multiline = &quot;[&quot; *wspml asn *(*wspml &quot;,&quot; *wspml asn) *wsp &quot;]&quot;

asn                 = &quot;AS&quot; uint32
uint32              = %d0-4294967295

wsp                 = space / tab

wspml               = space / tab / cr / lf

cr                  = %d13
lf                  = %d10

space               = %d32
tab                 = %d8
</artwork>

<section anchor="customer-asid"><name>customer-asid</name>
<t>This field represents the customerASID defined in section 3.2 of
<xref target="I-D.ietf-sidrops-aspa-profile"></xref></t>
</section>

<section anchor="providers"><name>providers</name>
<t>This field represents the providers defined in section 3.3 of
<xref target="I-D.ietf-sidrops-aspa-profile"></xref>. Note that the normative constraints
which are defined in that section mean that following :</t>

<ul spacing="compact">
<li>There must be at least one provider-as.</li>
<li>The customer-asid &quot;asn&quot; value must not appear in any provider-as.</li>
<li>The elements of providers must be ordered in ascending numerical order
by the &quot;asn&quot; value of the provider-as field.</li>
<li>Each &quot;asn&quot; value for used for a provider-as must be unique.</li>
</ul>

<section anchor="provider-as"><name>provider-as</name>
<t>This field represents a Provider AS as defined in section 3.3 of
<xref target="I-D.ietf-sidrops-aspa-profile"></xref>.</t>
</section>
</section>

<section anchor="asn"><name>asn</name>
<t>This field consists of the string &quot;AS&quot; followed by a decimal value of a 32-bit
Autonomous System Number using the asplain presentation as specified in
<xref target="RFC5396"></xref>. Decimal values MUST represent a 32 bit value, and therefore MUST
be part of the range 0-4294967295.</t>
</section>
</section>

<section anchor="example-notations"><name>Example Notations</name>
<t>Some example notations are listed below. The last example is not advised for
readability but is technically allowed by this specification.</t>

<artwork>AS65000 =&gt; AS65001
65000 =&gt; AS65001
65000 =&gt; AS65002
AS65000 =&gt; AS65001, AS65002,AS65003

AS65000 =&gt; [ AS65001, AS65002, AS65003 ]

AS65000 =&gt; [
    AS65001,
    AS65002,
    AS65003
]

AS65000 =&gt; [AS65001,
                     65002
,AS65003
    ]
</artwork>
</section>

<section anchor="iana-considerations"><name>IANA Considerations</name>
<t>This document has no IANA actions.</t>
</section>

<section anchor="security-considerations"><name>Security Considerations</name>
<t>TBD</t>
</section>

<section anchor="acknowledgements"><name>Acknowledgements</name>
<t>Thanks to Randy Bush for suggesting to allow only one possible notation for AS
numbers.</t>
</section>

</middle>

<back>
<references><name>Normative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml-ids/reference.I-D.ietf-sidrops-aspa-profile.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5234.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5396.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
</references>

</back>

</rfc>
