Skip to main content

Routing Policy Specification Language next generation (RPSLng)
RFC 4012

Revision differences

Document history

Date Rev. By Action
2015-10-14
08 (System) Notify list changed from ,,, to (None)
2012-08-22
08 (System) post-migration administrative database adjustment to the No Objection position for Steven Bellovin
2005-03-18
08 Amy Vezza State Changes to RFC Published from RFC Ed Queue by Amy Vezza
2005-03-18
08 Amy Vezza [Note]: 'RFC 4012' added by Amy Vezza
2005-03-15
08 (System) RFC published
2004-08-10
08 Amy Vezza State Changes to RFC Ed Queue from Approved-announcement sent by Amy Vezza
2004-08-10
08 Amy Vezza IESG state changed to Approved-announcement sent
2004-08-10
08 Amy Vezza IESG has approved the document
2004-08-10
08 Amy Vezza Closed "Approve" ballot
2004-08-10
08 Bert Wijnen State Changes to Approved-announcement to be sent from IESG Evaluation::AD Followup by Bert Wijnen
2004-08-10
08 Steven Bellovin [Ballot Position Update] Position for Steve Bellovin has been changed to No Objection from Discuss by Steve Bellovin
2004-08-10
08 Bert Wijnen Checking with Steve to clear his discuss.
Revision 8 does solve the issue raised (or so I bleieve).
2004-08-10
08 Bert Wijnen Status date has been changed to 2004-08-10 from 2004-04-08
2004-08-09
08 (System) New version available: draft-blunk-rpslng-08.txt
2004-07-19
07 (System) New version available: draft-blunk-rpslng-07.txt
2004-07-02
06 (System) New version available: draft-blunk-rpslng-06.txt
2004-06-25
08 (System) Removed from agenda for telechat - 2004-06-24
2004-06-24
08 Amy Vezza State Changes to IESG Evaluation::AD Followup from IESG Evaluation by Amy Vezza
2004-06-24
08 Amy Vezza [Ballot Position Update] New position, No Objection, has been recorded for Alex Zinin by Amy Vezza
2004-06-24
08 Amy Vezza [Ballot Position Update] New position, Abstain, has been recorded for Allison Mankin by Amy Vezza
2004-06-24
08 Thomas Narten [Ballot Position Update] New position, No Objection, has been recorded for Thomas Narten by Thomas Narten
2004-06-24
08 Bill Fenner [Ballot Position Update] New position, No Objection, has been recorded for Bill Fenner by Bill Fenner
2004-06-24
08 Jon Peterson [Ballot Position Update] New position, No Objection, has been recorded for Jon Peterson by Jon Peterson
2004-06-24
08 Margaret Cullen [Ballot Position Update] New position, No Objection, has been recorded for Margaret Wasserman by Margaret Wasserman
2004-06-23
08 David Kessens [Ballot Position Update] Position for David Kessens has been changed to Recuse from Yes by David Kessens
2004-06-23
08 Russ Housley [Ballot Position Update] New position, No Objection, has been recorded for Russ Housley by Russ Housley
2004-06-23
08 Harald Alvestrand [Ballot comment]
Reviewed by Joel Halpern, Gen-ART
2004-06-23
08 Harald Alvestrand [Ballot Position Update] New position, No Objection, has been recorded for Harald Alvestrand by Harald Alvestrand
2004-06-21
08 Steven Bellovin [Ballot discuss]
The IP addresses used in examples should be taken from RFC 3330 and I-D.huston-ipv6-documentation-prefix.
2004-06-21
08 Steven Bellovin [Ballot Position Update] New position, Discuss, has been recorded for Steve Bellovin by Steve Bellovin
2004-06-18
08 Ted Hardie [Ballot Position Update] New position, No Objection, has been recorded for Ted Hardie by Ted Hardie
2004-06-18
08 Scott Hollenbeck [Ballot Position Update] New position, No Objection, has been recorded for Scott Hollenbeck by Scott Hollenbeck
2004-06-18
08 Bert Wijnen [Ballot Position Update] New position, Yes, has been recorded for Bert Wijnen by Bert Wijnen
2004-06-17
08 David Kessens [Ballot Position Update] New position, Yes, has been recorded for David Kessens
2004-06-17
08 David Kessens Ballot has been issued by David Kessens
2004-06-17
08 David Kessens Created "Approve" ballot
2004-06-17
08 David Kessens Placed on agenda for telechat - 2004-06-24 by David Kessens
2004-06-17
08 David Kessens State Changes to IESG Evaluation from In Last Call by David Kessens
2004-06-08
08 Michelle Cotton IANA Last Call Comments:
We understand there to be no IANA Actions for this document.
2004-06-03
08 Amy Vezza Last call sent
2004-06-03
08 Amy Vezza State Changes to In Last Call from Last Call Requested by Amy Vezza
2004-06-03
08 Bert Wijnen Last Call was requested by Bert Wijnen
2004-06-03
08 (System) Ballot writeup text was added
2004-06-03
08 (System) Last call text was added
2004-06-03
08 (System) Ballot approval text was added
2004-06-03
08 Bert Wijnen State Changes to Last Call Requested from AD Evaluation::AD Followup by Bert Wijnen
2004-05-13
08 (System) Sub state has been changed to AD Follow up from New Id Needed
2004-05-13
05 (System) New version available: draft-blunk-rpslng-05.txt
2004-04-27
04 (System) New version available: draft-blunk-rpslng-04.txt
2004-04-08
08 Bert Wijnen State Changes to AD Evaluation::Revised ID Needed from AD Evaluation::Point Raised - writeup needed by Bert Wijnen
2004-04-08
08 Bert Wijnen Author found another issue and wants to do a new rev
2004-04-08
08 Bert Wijnen Status date has been changed to 2004-04-08 from 2004-01-02
2004-04-01
08 David Kessens Shepherding AD has been changed to Bert Wijnen from David Kessens
2004-03-08
03 (System) New version available: draft-blunk-rpslng-03.txt
2004-01-27
08 David Kessens Shepherding AD has been changed to David Kessens from Bert Wijnen
2004-01-02
08 Bert Wijnen State Changes to AD Evaluation::Point Raised - writeup needed from AD Evaluation by Bert Wijnen
2004-01-02
08 Bert Wijnen
Not all Last Call comments (Mark Prior's comments specifically) were yet addressed.

And there seems to be extra burdon on operators.
Discussion continues on rps@ietf.org …
Not all Last Call comments (Mark Prior's comments specifically) were yet addressed.

And there seems to be extra burdon on operators.
Discussion continues on rps@ietf.org mailing list
2004-01-02
08 Bert Wijnen Status date has been changed to 2004-01-02 from 2003-12-22
2003-12-22
08 Bert Wijnen State Changes to AD Evaluation from Publication Requested::Revised ID Needed by Bert Wijnen
2003-12-22
08 Bert Wijnen New revision arrived.
Bert to take AD review and see if comments have been addressed properly.
2003-12-22
08 Bert Wijnen Shepherding AD has been changed to Bert Wijnen from Randy Bush
2003-12-22
08 Bert Wijnen Status date has been changed to 2003-12-22 from
2003-12-04
02 (System) New version available: draft-blunk-rpslng-02.txt
2003-10-18
08 Randy Bush [Note]: 'FOUR WEEK LAST CALL NEEDED' has been cleared by Randy Bush
2003-10-18
08 Randy Bush State Changes to Publication Requested::Revised ID Needed from Waiting for Writeup by Randy Bush
2003-10-18
08 Randy Bush There was considerable technical comment during the IETF last call.
I have changed the status of this document to Publication-Requested /
Revised I-D needed.
2003-09-23
08 (System) State has been changed to Waiting for Writeup from Revised ID Needed by system
2003-09-11
08 Randy Bush State Changes to In Last Call::Revised ID Needed from In Last Call by Randy Bush
2003-09-11
08 Randy Bush
Date: Wed, 10 Sep 2003 13:14:27 +0300 (EEST)
From: Pekka Savola
To: iesg@ietf.org
cc: rpslng@ripe.net,
Subject: Re: Last Call: 'RPSLng' to Proposed Standard

On …
Date: Wed, 10 Sep 2003 13:14:27 +0300 (EEST)
From: Pekka Savola
To: iesg@ietf.org
cc: rpslng@ripe.net,
Subject: Re: Last Call: 'RPSLng' to Proposed Standard

On Tue, 26 Aug 2003, The IESG wrote:
> The IESG has received a request from an individual submitter to consider
> 'RPSLng'  as a Proposed Standard. This document
> has been reviewed in the IETF but is not the product of an IETF Working
> Group.
[...]
> File(s) can be obtained via
> http://www.ietf.org/internet-drafts/draft-blunk-rpslng-01.txt

If I'd use the "sirs (or airs)" classification of this document review,
I'd say:

    *    This draft is on the right track but has open issues,
          described in the review.

Below are my comments to the draft.  Overall, I think the document is
pretty good, and a very relevant piece of work; it's needed by IPv6 ops
folks.

However, there seem to be a number of (more or less) textual inaccuracies
and confusion in the document, which should be settled prior to
publication.

I think there are the three most important issues here are:

* issue 2) -- how to co-exist from RPSL: if RPSL and RPSL give you
conflicting information about IPv4 unicast, then what?

* issue 3) -- whether ipvX should imply only unicast or both unicast and
multicast?

* issue 5) and others-- whether the document needs to specify all the
relevant modifications explicitly, or not.  IMHO, Stds Track document
should describe every change, not just say something like "other
attributes are modified in a similar fashion" (or something to that
effect)

substantial
-----------

1) would it be useful to have the RPSLng document have "Updates: 2622, 2725", or
something like that -- if for no other reason than to have a forward
references in the RFC index to this document?

2) one important aspect to consider is interaction with old specification,
that is:

  Keeping this in mind, the "import:", "export:", and "default:"
  attributes implicitly specify IPv4 unicast policy and remain as
  defined previously in RPSL, and new multi-protocol (prefixed with the
  string "mp-") attributes are introduced. These will be described
  below.

==> so, should one get information from both the RPSLng multiprotocol
attributes and the old ones?  What if they conflict?  Maybe some words would
be useful on how to effectively transition/co-exist with both RPSL and
RPSLng?

3) I note that there is no way to specify "these attributes affect both
multicast and unicast", you have to always include the both, in:

  The possible values for  are:
                                                                                                     
      ipv4
      ipv4.unicast (equivalent to ipv4)
      ipv4.multicast
      ipv6
      ipv6.unicast (equivalent to ipv6)
      ipv6.multicast

==> is this intended?  Is there a particular reason why we couldn't just
assume that "ipv4" includes both unicast and multicast?  Where multicast is
deployed, it's typically mostly congruent with unicast infrastructure, and
where it isn't, I guess it wouldn't hurt to have "ipv4 = ipv4.{both}"
implication?  Or should there be a separate value which would imply the
both?

4) it seems that ipv6_address dictionary attribute (though trivial) has not
been defined:

  In order to support IPv6 addresses specified with the next-hop
  rp-attribute, a new predefined dictionary type entitled ipv6_address
  is added to the RPSL dictionary.

==> this should probably be something like:

    An IPv6 address is represented as [blah blah blah]

5) As the document is Standards Track (and not e.g. Informational, which
would also be a possibility), I'm not sure whether it's appropriate to wave
away some, possibly important, pieces of the specification, with like:

2.3.2
                                                                                                     
  The  expression is an extension of the RPSL
  expression [section 5.4 of RFC 2622 [1]], with the inclusion of the
  ability to specify IPv6 address prefixes in Address-Prefix sets.  For
  the sake of brevity, we do not include the full definition of
    here and refer the reader to RFC 2622 [1].

and:

4.5 inet-rtr Class

  The "mp-peer:" attribute is defined below.  The difference between
  this attribute and the "peer:" attribute is the inclusion of support
  for IPv6 addresses.

6) there seem to be a case or two where it is not clear whether including
the discussion in this specification is appropriate (and just not
implementation-specific issues, or issues relating to the user's RPSL user
interface); in below, the last sentence seems a bit dubious:

  The evaluation of an  is done by evaluating all of
  its components. Evaluation of peering-sets and filter-sets is
  constrained by the address family. Such constraints may result in a
  {NOT ANY}  or invalid  depending on implicit
  or explicit definitions of the address family in the set. In the
  latter case an error is returned. {NOT ANY}  may issue a
  warning.

7) related to point 4), it may not be apparent what's the intent of the
specification, unless done explicitly; for example:

  Conflicts with explicit or implicit declarations are resolved at
  runtime, that is during evaluation of a policy expression. For
  example, when evaluating the following import policy:
                                                                                                     
  aut-num: AS2
  mp-import: afi ipv6 from AS1 accept {193.0.0.0/22}
                                                                                                     
  the mp-filter should be evaluated as {NOT ANY}.

==> what if the mp-import would be "afi ipv6 from AS1 accept {0/0}" ?
Note that that's very valid for IPv6 too, except perhaps due to the way it's
written (should be {::/0}).  I.e., I think it's very important to specify
the grammar for properly so that the IPv4 and IPv6 addresses can be
distinguished properly in all cases.

8) related to point 5), it is not clear whether the document is intended to
be include conclusive lists of class attributes or just modified ones; for
example:

3. New route6 Class
  member-of    list of          optional, multi-valued
    aggr-bndry                      optional, single-valued
  aggr-mtd      inbound or outbound              optional, single-valued
                []
    mnt-lower    list of              optional, multi-valued

==> note that there are multiple attributes which do not seem to be referred
to in this document.  Is the list in the document intended as a conclusive
list of attributes or just examples?  Based on that, one may have to decide
whether to remove non-modified ones, or whether to ensure that everything is
always present [where's route-set-name or as-expression, for example?]
(and possibly separate new and classic attributes).

==> similar in section 5, at least.

9) there seem to be some mismatches or missing specification; for example,
in section 4.2, mp-members: refers to "ipv6-address-prefix-range" and the
like, but the only similar thing in the document so far as been
"":

  mp-members  list of (  optional, multi-valued
              or
              or
              or )

and:

  In RPSLng, these attributes are extended to the route6 and inet6num
  (described below) classes.  Further, the syntax of the existing
  mnt-routes attribute is modified to allow the optional specification
  of IPv6 prefix range lists when present in inet6num, route6, and
  aut-num class objects.

==> it seems the document may be trying to take too many shortcuts by
leaving the values undefined and to be intuitively filled in by the
implementors.

10) remote-endpoint-address specifies some some encapsulations:

    indicates the IPv4 or IPv6 address of the
  remote endpoint of the tunnel. The address family must match that of
  the local endpoint.  denotes the encapsulation used in
  the tunnel and is one of {GRE,IPv6inIPv4,IPinIP,DVMRP}.  Routing
  policies for these routers should be described in the appropriate
  classes (eg. aut-num).

==> I believe DVMRP is probably very much obsolete in this interdomain,
RPSLng context and could be removed.

==> similarly, I do not see the use of IPv6inIPv4.  Doesn't IPinIP already
cover that, *assuming* that one looks at the  and
to figure out what it is.  Including both in here seems
redundant to me; but if that's the path, also include IPv6inIPv6 and
IPv4inIPv6, please!

11) split the references to normative and informative; the first two are
probably normative, and the last one informative.


editorial
---------

==> the document requires Table of Contents, as it's more than 15 pages
long.

                                RPSLng
                      draft-blunk-rpslng-01.txt

==> spell out RPSLng in the title.

Abstract
                                                                                                     
  This memo presents a new set of simple extensions to the RPSL
  language enabling the language to document routing policies for the
  IPv6 and multicast address families currently used in the Internet.

==> similarly, spell out RPSL here.

Blunk, et al.          Expires January 23, 2004                [Page 1]
                                                                                                     
Internet-Draft                  RPSLng                        July 2003

==> I note that the document does not have page breaks (^L) , so it's more
difficult to read and does not print correctly.

  This document proposes to extend RPSL according to the following
  goals and requirements:
                                                                                                     
      Provide RPSL extensibility in the dimension of address families.
      Specifically, to allow users to document routing policy for IPv6
      and multicast.

==> add bullets, dashes, or whatever to the list of four goals/requirements.

      Clarity and non-ambiguity: RPSL information is used by humans in
      addition to software tools.

==> s/Clarity/Maintain clarity/

  Address Family Identifier, , is a RPSL list of address families

==> s/a RPSL/an RPSL/ (everywhere where applicable) ?

  mp-import ::=
          [protocol ] [into ]

==> these should probably be protocol-1 and protocol-2, to be in line with
the rest of the document conventions?

  The  expression is an extension of the RPSL
  expression [section 5.4 of RFC 2622 [1]]

s/[section 5.4 of RFC 2622 [1]]/(section 5.4 of RFC 2622 [1])/ (similar in a
few other places)

  mp-import: afi ipv6.unicast,ipv4 from AS1 action pref = 1; accept as-foo
              except { afi ipv6.unicast,ipv4
              from AS2 action pref = 2; accept AS226
                  except { afi ipv6.unicast
                  from AS3 action pref = 3; accept {3FFE:FFFF::/35}
                        }
                      }

==> should probably use a some more bogus AS number in the example
==> should probably use the /32 prefix length in the example, the same in
some exampler later on.

  Conflicts with explicit or implicit declarations are resolved at
  runtime, that is during evaluation of a policy expression. For
  example, when evaluating the following import policy:

==> s/evaluation/the evaluation/
==> s/that is/that is,/

  to a particular address family using the traditional filtering
  mechanism in use in IRR systems today.

==> spell out IRR.

  mp-peer      or    optional,
                or    multi-valued

==> in here, and many other places, one uses "ipv4_address" and the like.
Note tha lower dash, not dash in the middle; in many other places it's
"ipv4-address" and the like.  Pick one approach and stick to it, please :-)

In the aut-num class,
  the IPv6 prefix ranges may be mixed with IPv4 prefix ranges.  They
  keyword "ANY" is also allowed which means all more specifics.  The
  default when no additional set items are specified is "ANY".

==> s/They/The/.
==> s/all more specifics/any route/?  (why would keyword "ANY" refer to more
specifics only?  that would be highly confusing)

  The  must be a valid two-letter ISO 3166 country code
  identifier.  is a symbolic name for the specified IPv6
  address space.

==> the country code specification is, at least, outside of the scope of
this document, I guess :-)
2003-08-26
08 Michael Lee State Changes to In Last Call from Last Call Requested by Michael Lee
2003-08-26
08 Randy Bush
From: Randy Bush
Date: Tue, 26 Aug 2003 20:07:13 +0900
To: IESG Secretary
Cc: joao@psg.com,
    ljb@merit.edu,
    andrei@ripe.net,
  …
From: Randy Bush
Date: Tue, 26 Aug 2003 20:07:13 +0900
To: IESG Secretary
Cc: joao@psg.com,
    ljb@merit.edu,
    andrei@ripe.net,
    Florent.Parent@viagenie.qc.ca,
    Bert Wijnen
Subject: LAST CALL REQUEST - draft-blunk-rpslng-01.txt

secretariat,

i am assuming, by piecing together other email as joao did
not specify, he means draft-blunk-rpslng-01.txt.

please issue a FOUR WEEK last call for it.  it needs a four
week last call because it is an individual submission going
for proposed.

i also am assuming, by piecing together other email as joao
did not specify, that the relevant mailing list is

  rpslng@ripe.net

please cc: it, as well as

  rps@ietf.org

thanks.

joao, please tell us if my assumptions are off.

randy
2003-08-26
08 Randy Bush State Changes to Last Call Requested from AD is watching by Randy Bush
2003-08-26
08 Randy Bush
Date: Tue, 26 Aug 2003 12:48:39 +0200
Subject: RPSL ng - next steps
Cc: rpslng@ripe.net
To: randy@psg.com
From: Joao Damas

Randy, all,

I have been …
Date: Tue, 26 Aug 2003 12:48:39 +0200
Subject: RPSL ng - next steps
Cc: rpslng@ripe.net
To: randy@psg.com
From: Joao Damas

Randy, all,

I have been in touch with Andrei and Larry (co-authors) recently to
discuss the status of  the -01 draft.
I think we are agreed that this is ready to move forward.
There have been no further comments on the latest draft as sent to the
list by Larry last month, which incorporated the discussions from
earlier in the year.

The RIPE NCC has announced their implementation and I believe Merit is
also doing one.

We would like to request that this draft is published as a proposed
standard.

The only other list I can think of where there might be people who
could provide input on this is the rps@ietf.org list, though I believe
everyone that had an interest is subscribed to the rpslng list.

Regards,
Joao
2003-08-26
08 Randy Bush State Change Notice email list have been change to ,,, from
2003-08-26
08 Randy Bush waiting formal request to publish
2003-08-26
08 Randy Bush Draft Added by Randy Bush
2003-07-28
01 (System) New version available: draft-blunk-rpslng-01.txt
2003-05-08
00 (System) New version available: draft-blunk-rpslng-00.txt