Subject: Separate attributes vs context-aware software [RE: RPS WG (was Re: [Rps] Re: Latest RPSLng draft)]

From: Pekka Savola <[email-masked]>
Date: Fri, 2 Jan 2004 10:24:20 +0200 (EET)

Hi,

(I tailed down the Cc: list..)

On Sat, 27 Dec 2003, Randy Bush wrote:
> > OK, I now found that the doc did have an IETF Last Call 
> > in late August/Early Sept.
> 
> and there were technical objections which have not been addressed

Thanks, Randy, for reminding about that.

Based on some off-list discussion, the technical objections being 
referred to are the comments from Mark Prior on the list, one of them 
copied below.

I'll try to summarize the loooo-ong thread somehow.  Mark believes 
that the current RPSLng proposition unnecessarily adds complexity to 
the operators' use of the language, as e.g. IPv4 and IPv6 addresses, 
peerings, etc. could all be facilitated by redefining the current 
attributes etc. -- and whichever would be returned could be evaluated 
based on the context.  As the number of operators using the language 
is extremely high (and we'd like it to be higher :-) compared to the 
registry/tool implementations, Mark argues that optimizing for the 
simplicity to the operators is the most important goal.

Curtis objects to this mainly based on the fact that this would break 
the backward compatibility for the clients which do not expect to 
receive IPv6 data back from their queries.  This could be easily fixed 
e.g. in tools like IRRToolSet, but that there are a probably a number 
of hacks built on top of perl, telnetting to port 43, or whatever, 
which might not be equally fortunate.

Workarounds to this seem to be adding some kind of version negotiation
or inclusion to the whois protocol (in the future, maybe using CRISP),
so that only the clients who signal "yes, I can process IPv6 records!"  
would activate the IPv6 context processing.  This could also be passed
to the whois server with an option, like '--use-rpslng' or '-6'. Or
maybe the client would state which records it wants to get, e.g.  
'-6' for only v6 records, '-4' for only v4 records, nothing (or -N (or
something, for "NEW", otherwise only v4 would be returned :) for
both).  At least RIPE database allows the use of '-Vxxx' verstion
string to tell about the version of the client software.

The exact details of how this method would work out would need to be 
fleshed out.  Any takers?

Personally, when I was trying to form an opinion on this subject, I 
found myself thinking that Mark's proposal addresses only IPv4/IPv6 
case.  It doesn't seem to address how one could specify different 
unicast/multicast policies, or how to specify different v4/v6 
policies.  This is also one goal of RPSLng.. even though the major 
operators who do have multicast or v6 often want their policies to be 
the same.

How would this work out if a "more intelligence" model was adopted?

(I'm personally a bit unsure whether a "more intelligence in the
tools" -model would or would not make sense at this point, but I think
I can see both sides of the argument..)

Could we get some form of discussion and maybe consensus on what would 
seem to be the right way forward? :-)

===========
Date: Tue, 23 Sep 2003 09:00:06 +0930
From: Mark Prior <[email-masked]>
To: [email-masked]
Cc: Pekka Savola <[email-masked]>, [email-masked], [email-masked],
     [email-masked]
Subject: Re: [Rps] Re: Last Call: 'RPSLng' to Proposed Standard

Curtis Villamizar wrote:

> How is RPSLng not a superset of RPSL?  Nothing has been removed from
> RPSL.

Superset is probably not the best word to describe what I want.

> The issue is just how do you make transition easiest, supporting older
> RPSL only clients.  If you just extend import rather than rename it
> mp-import and extend it, then old RPSL only clients will consider you
> autnum broken.  If you include mp-import but forget to reflect you
> IPv4 policy in plain import then the old RPSL client will pick up a
> subset of you policy.
> 
> In either case, extending import, or adding mp-import and putting the
> extensions there, it would make for a smoother transition if the
> server code could recognize old clients and feed them with objects
> translated into plain RPSL.

I think I have been consistent in wanting the smarts to be in the 
software and not the language. I would prefer to overload the syntax 
then create new syntax and let the software work out what is required. 
We don't use different syntax in computer languages when we want to 
operate on integers rather than reals so why make the distinction in 
RPSL? If we have a route object that has a IPv6 address in it surely the 
software can work out if it wants it or not given it's current context?

I know you (and others :-) keep on about the old clients but we have 
left them behind once before in the transition from RIPE 181 to RPSL so 
do it again but this time lets leave some mechanism behind so that when 
we need (RPSLng)ng we don't go through this pain yet again. Saying it's 
not part of the language is a pathetic excuse in my book for not fixing 
it. If we need a "shim" document to describe the interaction between a 
server and a client then lets do it. It would make the client software 
writers life a lot easier if there weren't (at least) 3 server 
interaction languages to deal with.

Mark.
==========

-- 
Pekka Savola                 "You each name yourselves king, yet the
Netcore Oy                    kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings

_______________________________________________
Rps mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rps

---

From: Pekka Savola <[email-masked]>
Date: Fri, 2 Jan 2004 10:24:20 +0200 (EET)

Hi,

===========

Mark.
==========

---

From: Mark Prior <[email-masked]>
Date: Fri, 02 Jan 2004 19:17:25 +1030

> simplicity to the operators is the most important goal.

That pretty much summarises my position.

I will also comment that when we migrated from RIPE-181 to RPSL we also 
had a backward compatibility problem but that didn't seem to be a 
problem back then so I don't see why it's now suddenly a problem.

Mark.

---

From: Mark Prior <[email-masked]>
Date: Fri, 02 Jan 2004 19:17:25 +1030

Mark.

---

From: "Larry J. Blunk" <[email-masked]>
Date: 13 Jan 2004 11:22:09 -0500

> The exact details of how this method would work out would need to be 

  I don't believe this would be particularly productive.  These
are implementation details which are really outside the scope of
the RPSLng work.  I don't see the objections to RPSLng as objective
technical issues, but rather subjective preferences.

> I can see both sides of the argument..)

   It is very difficult to judge the impact of such a model without
having a complete census of the various tools in use by ISP's.  For
example, C&W has an extensive set of in-house developed tools which
interact with IRR's.  Is it fair to ask them to hack up their tools
to fit this model?

> seem to be the right way forward? :-)

    I think we have already reached the point of "rough" consensus.
Again, I view the expressed objections as subjective preferences rather
than solid technical beefs with the specification.

  Regards,
    Larry

---

From: "Larry J. Blunk" <[email-masked]>
Date: 13 Jan 2004 11:22:09 -0500

Regards,
    Larry

---

From: Randy Bush <[email-masked]>
Date: Tue, 13 Jan 2004 08:29:23 -0800

then let me register my support for the issues and approaches
marc raises.  perhaps the system is for the benefit of operations
more than the ease of registries?

randy

---

From: Randy Bush <[email-masked]>
Date: Tue, 13 Jan 2004 08:29:23 -0800

randy

---

From: "Larry J. Blunk" <[email-masked]>
Date: 13 Jan 2004 12:03:24 -0500

> more than the ease of registries?

   There are a number of operators that run their own registries (e.g.
Level3, Verio, C&W, etc.).   Ping Lu (formerly of C&W) was very vocal
about preserving the syntax of existing RPSL attributes.

 -Larry

---

From: Curtis Villamizar <[email-masked]>
Date: Tue, 13 Jan 2004 12:03:12 -0500

In message <[email-masked]>, "Larry J. Blunk" writes
> technical issues, but rather subjective preferences.

I'll agree with that.  So if any comments I made having to do with
transition and backwards compatibility are holding this up, comments
which I beleive I made as suggestions, then please consider those to
be resolved issues.

> than solid technical beefs with the specification.

I agree here too.  Perhaps Mark can tell us whether he has any
specific suggestions for changing the language from what is currently
proposed.

Curtis

---

From: "Larry J. Blunk" <[email-masked]>
Date: 13 Jan 2004 12:03:24 -0500

-Larry

---

From: Curtis Villamizar <[email-masked]>
Date: Tue, 13 Jan 2004 12:03:12 -0500

Curtis

---

From: Randy Bush <[email-masked]>
Date: Tue, 13 Jan 2004 09:17:23 -0800

> about preserving the syntax of existing RPSL attributes.

thanks for representing operations.  but i are one.  and i have a
(small) registry.  i want the operational fix, thanks.

randy

---

From: Randy Bush <[email-masked]>
Date: Tue, 13 Jan 2004 09:17:23 -0800

randy

---

From: Curtis Villamizar <[email-masked]>
Date: Tue, 13 Jan 2004 13:15:46 -0500

> (small) registry.  i want the operational fix, thanks.

Randy,

Exactly what fix is it that you want?

Curtis

---

From: Curtis Villamizar <[email-masked]>
Date: Tue, 13 Jan 2004 13:15:46 -0500

Randy,

Curtis

---

From: David Kessens <[email-masked]>
Date: Tue, 13 Jan 2004 12:25:49 -0800

> more than the ease of registries?

I have always agreed with Marc's comments/views on this. However, it
was also my impression that we were a vocal but small minority.

I rather see progress towards a pusblished standard, although it
doesn't do everything exactly the way I want it, than that we reopen all
the discussions again unless a lot of people changed their minds.

David Kessens
---

---

From: David Kessens <[email-masked]>
Date: Tue, 13 Jan 2004 12:25:49 -0800

David Kessens
---

---

From: "Frank Bohnsack" <[email-masked]>
Date: Tue, 13 Jan 2004 22:41:47 +0100

> about preserving the syntax of existing RPSL attributes.

We doesn't have a own registry, but a lot of own tools which deals with RPSL.
From my point of view I have to change both, my RPSL language parser and the
interpreter. So I could not see a benefit of one solution. Personally, I would
back Marks position but can not really give you a reason.

How about a acclamation at the next RIPE meeting ?

Frank

---

From: "Frank Bohnsack" <[email-masked]>
Date: Tue, 13 Jan 2004 22:41:47 +0100

Frank

---

From: Pekka Savola <[email-masked]>
Date: Wed, 14 Jan 2004 08:18:47 +0200 (EET)

Hi,

> the discussions again unless a lot of people changed their minds.

For what it's worth, I, as an operator, have roughly the same opinion.  

I'd like to see a standardized solution soon (I accept the current
draft proposal if that's the rough consensus), but on the other hand,
I'd like it to be as simple as possible to use.

---

From: Pekka Savola <[email-masked]>
Date: Wed, 14 Jan 2004 08:18:47 +0200 (EET)

Hi,

---

From: Simon Leinen <[email-masked]>
Date: Wed, 14 Jan 2004 17:07:52 +0100

Pekka Savola writes:
>> doesn't do everything exactly the way I want it, than that we
>> reopen all the discussions again unless a lot of people changed
>> their minds.

> For what it's worth, I, as an operator, have roughly the same

Me too.

> draft proposal if that's the rough consensus), but on the other
> hand, I'd like it to be as simple as possible to use.

Exactly.

The mp-import/mp-export stuff personally doesn't bother me at all, but
I heard a fellow operator complain about the expected size increase of
their AS object.

What about the following compromise:

*) Leave both export/import and mp-export/mp-import in RPSLng (same
   for default/mp-default)
*) Add a "mp-default-afs" attribute that defines what "import/export"
   means.  It would default to ipv4.unicast only.

That way, no existing tools break - import/export will still be used
for IPv4 unicast policy like today.  ISPs can add mp-{im,ex}port to
document IPv6 and multicast policies.  As long as "The majority of
providers support IPv4 unicast only" (as Curtis pointed out, and which
is still the case for our set of peers, even though we ARE an
"academic" network), people just add mp- attributes for the minority
of peerings that need it.

Over time, Pekka's vision of congruent unicast/multicast (and/or
IPv4/IPv6 unicast, but that doesn't matter) topologies may come true.

At that point, people can start modifying their "mp-default-afs", and
collapse many mp-{im,ex}port attributes into {im,ex}port attributes.
If their peers still use non-RPSLng-compliant tools, then they will
misinterpret {im,ex}port as IPv4 unicast-only, but that is probably
not very relevant - IPv4 unicast is all those peers' tools can handle.

In some cases it will be necessary to specifically exclude default
address families, but maybe that could be done with AF-specific NOT
ANY policies or something.

Makes sense?
-- 
Simon.

---

From: Simon Leinen <[email-masked]>
Date: Wed, 14 Jan 2004 17:07:52 +0100

Me too.

Exactly.

Makes sense?
-- 
Simon.

---

From: Andrei Robachevsky <[email-masked]>
Date: Wed, 28 Jan 2004 10:41:09 +0100

>>hand, I'd like it to be as simple as possible to use.

If one's policy is simple so will be its documentation in RPSL[ng]. It 
can be as simple as in ripe-181 with the exception of explicit afi 
declaration. But then again, the decision has been consciously made back 
in March 2002 during IETF53 to make the spec more explicit (and 
therefore more readable by humans also) and preserve backwards 
compatibility as much as possible (in people's minds as well as many 
will default to ipv4).

> ANY policies or something.

Not really. I think you are presenting a possible scenario of RPSL - 
RPSLng transition and suggest that we phase out mp- attributes. I'd 
rather phase out import/export attributes, as mp- attributes provide 
more functionality and flexibility.

But in fact, such transition is not necessary. Either import/export will 
  be phased out naturally, or it will be up to a registry to plan such 
transition/cleanup when they see appropriate.

Regards,

Andrei

---

From: Andrei Robachevsky <[email-masked]>
Date: Wed, 28 Jan 2004 10:41:09 +0100

Regards,

Andrei