On 2/10/14, 3:19 PM, [email protected] wrote:

In going through the -01/-02 draft, I have a few comments.

In section 1.1, the first paragraph states:

...Second is the access to structured information and state that is frequently not directly configurable...

Then in paragraph four:

...I2RS will only permit modification of state that would be safe, conceptually, to modify via local configuration...

While you do use the word "conceptually," it's hard to conceive of something that is at the same time safe to modify via the configuration but is not exposed via the configuration. That is, how would one know what is safe? This might benefit from an early example to clarify what is meant and perhaps it is good enough to drop the bit about modifiable via local configuration and just say that modification of protocol internal state is out of scope.

===

In section 1.2, the new text helps to show how App, Client, and Agent fit together, but I wonder if this same new text wouldn't benefit from a statement that App to Client communication is out of scope. That is, you state that the Client and Agent communicate via an asynchronous protocol, but nothing is said about, for example, how apps C, D, E communicate with Client P. You do mention this further down in the doc, so it's a minor thing, but perhaps worth a sentence here.

===

Section 2, in the I2RS Client paragraph, I can't get my head around this text:

Based on the information and the policy oriented interactions, the I2RS client may also interact with I2RS agents to modify the state
of the routing system the client interacts with to achieve      
operational goals.

The first part makes sense, but then it starts to sound muddled, at least to me. Maybe you want to say:

Based on the information and the policy oriented interactions, the I2RS client may also interact with I2RS agents to modify the state
of the routing system in order to achieve operational goals.

===

Section 4. While streaming OSPF prefix announcements MAY NOT require confidentiality, some users may want it. Paragraph 4 starts out, Other communications via I2RS will not... I think this should say may not just to make it clear that this can be optional based on specific environmental requirements.

===

Section 6.2.1.  Minor nit:

OLD text:

...that an I2RS Agent has unexpected failed...

NEW text:

...that an I2RS Agent has unexpectedly failed...

===

Section 6.2.1. I don't know if this needs to be said in the document or left to an implementor, but if the I2RS Agent can ensure state is preserved until the routing element reboots, then a cache of state may need to be kept by the Agent. If it dies and restarts, then it can read that cache and restore state. I bring this up because if you think of something like OSPF as an I2RS Agent, if the OSPF process dies, you wouldn't expect its routes to stick around. However, when it restarts, it could restore the last known set of routes back into the routing element.

In this manner it might be safer if the Agent dies and cannot restart for whatever reason. That would prevent a potentially bad route from getting stuck in the routing element until a reboot.

Just a thought. I think the new text is good in that you account for the case where an Agent failure will cause ephemeral state to disappear, but the "should" case is for this state to remain. Clarifying how that could work might be a nice thing.

===

Section 6.4.5.1.3.1 (ASN.1 anyone?).  Minor nit:

OLD text:

...The simplest relationship is that one object instances is initialized...

NEW text:

...The simplest relationship is that one object instance is initialized...

===

Section 7.1. This is mainly an editorial, but in looking back at things like NETCONF over BEEP, one goal might be to make sure the transport chosen is both operator and implementor friendly in terms of ease of adoption.

===

Section 7.5. Would a supervisory application work in this case? I suppose it could if it shared the same ID, but that wouldn't work for multiple applications. Likely a better approach would be to allow the Client to accept some meta-instructions at the beginning of a session as to what to do if the app goes away (as you state in paragraph 4).

Joe


A New Internet-Draft is available from the on-line Internet-Drafts directories.
  This draft is a work item of the Interface to the Routing System Working 
Group of the IETF.

         Title           : An Architecture for the Interface to the Routing 
System
         Authors         : Alia Atlas
                           Joel Halpern
                           Susan Hares
                           Dave Ward
                           Thomas D. Nadeau
        Filename        : draft-ietf-i2rs-architecture-01.txt
        Pages           : 29
        Date            : 2014-02-10

Abstract:
    This document describes an architecture for a standard, programmatic
    interface for state transfer in and out of the Internet's routing
    system.  It describes the basic architecture, the components, and
    their interfaces with particular focus on those to be standardized as
    part of I2RS.


The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-i2rs-architecture/

There's also a htmlized version available at:
http://tools.ietf.org/html/draft-ietf-i2rs-architecture-01

A diff from the previous version is available at:
http://www.ietf.org/rfcdiff?url2=draft-ietf-i2rs-architecture-01


Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

_______________________________________________
i2rs mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/i2rs


_______________________________________________
i2rs mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/i2rs

Reply via email to