At Tue, 15 Jul 2008 06:49:49 +1000, Geoff Huston wrote:
> 
> In reading draft-ietf-sidr-roa-format-03.txt with the changes to the
> ROA format arising from the last WG meeting, I was wondering if
> there was a "canonical form" for a ROA, or not.
> 
> e.g. If I have a ROA that includes
> 
> 10.0.0.0/8, maxlength=32
> and
> 10.0.0.0/24 maxlength=32
> 
> then obviously the second entry is redundant. 

Yes.

> Also there are more "compressed" formats and less "compressed" formats
> 
> e.g.
> 
> 10.0.0.0/8 maxlength=8
> 10.0.0.0/9 maxlength=9
> 
> could be "compressed" to
> 
> 10.0.0.0/8 maxlength=9

No.  10.0.0.0/8-9 isn't 10.0.0.0/8,10.0.0.0/9.

10.0.0.0/8-9 is 10.0.0.0/8,10.0.0.0/9,10.128.0.0/9.

This stuff is trickier than it looks.

ABNF for those who haven't seen the above text notation before:

  <ROAIPAddress> ::= <address> "/" <prefixlen> [ "-" <maxLength> ]
                        ; Where <maxLength> defaults to the same
                        ; value as <prefixlen>.

  <ROAIPAddressList> ::= <ROAIPAddress> *( "," <ROAIPAddress> )

> My question is: is it of any value to define a "canonical" format
> for a ROA?

Perhaps, but the definition would likely be hard to get right and
harder to implement.  The only real definition I can think of would
involve computing the union of the set of prefixes expressed by each
prefix-maxLength pair, then attempting to compute some kind of minimal
expression of that set.  This also begs the question of whether it's
an error to specify a redundant set of prefix-maxLength pairs.

I suspect that in the vast majority of cases there will not be any
useful canonicalization to be performed, ie, the output of the
canonicalization function will end up being the same as the input.

In the absence of a useful definition of canonicalization, my own
implementation just includes the prefix-maxLength pairs as specified
by the user.
_______________________________________________
Sidr mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/sidr

Reply via email to