Skip to main content

GeneRic Autonomic Signaling Protocol (GRASP)
draft-ietf-anima-grasp-15

Revision differences

Document history

Date Rev. By Action
2021-05-06
15 (System) RFC Editor state changed to AUTH48-DONE from AUTH48
2021-04-10
15 (System) RFC Editor state changed to AUTH48
2021-02-22
15 (System) RFC Editor state changed to RFC-EDITOR from REF
2020-11-12
15 (System) RFC Editor state changed to REF from RFC-EDITOR
2020-11-12
15 (System) RFC Editor state changed to RFC-EDITOR from EDIT
2020-11-02
15 (System) RFC Editor state changed to EDIT from MISSREF
2017-07-21
15 (System) IANA Action state changed to RFC-Ed-Ack from Waiting on RFC Editor
2017-07-21
15 (System) IANA Action state changed to Waiting on RFC Editor from Waiting on Authors
2017-07-20
15 (System) IANA Action state changed to Waiting on Authors from In Progress
2017-07-19
15 (System) RFC Editor state changed to MISSREF
2017-07-19
15 (System) IESG state changed to RFC Ed Queue from Approved-announcement sent
2017-07-19
15 (System) Announcement was received by RFC Editor
2017-07-19
15 (System) IANA Action state changed to In Progress
2017-07-19
15 Cindy Morgan IESG state changed to Approved-announcement sent from IESG Evaluation - Defer::AD Followup
2017-07-19
15 Cindy Morgan IESG has approved the document
2017-07-19
15 Cindy Morgan Closed "Approve" ballot
2017-07-19
15 Cindy Morgan Ballot approval text was generated
2017-07-13
15 Cindy Morgan New version available: draft-ietf-anima-grasp-15.txt
2017-07-13
15 (System) Posted submission manually
2017-07-07
14 Mirja Kühlewind
[Ballot comment]
Thanks for addressing my discuss in the upcoming version -15!

-----
Old comments for the record (I didn't check these):

Other mostly editorial …
[Ballot comment]
Thanks for addressing my discuss in the upcoming version -15!

-----
Old comments for the record (I didn't check these):

Other mostly editorial comments:
- ASA needs to be spelled out in the intro.
- I would recommend to move section 2 and 3.3 into the appendix
- section 3.5.4.2: "A neighbor with multiple interfaces will respond with a cached discovery response if any."
  "cached response" is explained in the next section and not clear in this paragraph.
- section 3.5.4.3: "After a GRASP device successfully discovers a locator for a Discovery
  Responder supporting a specific objective, it MUST cache this
  information, including the interface index via which it was
  discovered.  This cache record MAY be used for future negotiation or
  synchronization, and the locator SHOULD be passed on when appropriate
  as a Divert option to another Discovery Initiator."
  Not sure why the first is a MUST and the later is a SHOULD. I guess a SHOULD for caching would be sufficient.
- section 3.8.6 "If a node receives a Request message for an objective for which no
  ASA is currently listening, it MUST immediately close the relevant
  socket to indicate this to the initiator."
  How is that indicated? Should really be further clarified
- Also section 3.8.6: "In case of a clash, it MUST discard the Request message, in
  which case the initiator will detect a timeout."
  Why don't you send an error message instead? How does the initiator know that is should retry (assuming there is a TCP connection underneath that provides reliable transport)?
- Also section 3.8.9: "If not, the initiator MUST abandon or restart the negotiation
  procedure, to avoid an indefinite wait."
  How does the initiator decide for abandoning or restarting instead? Needs clarification!
- Could be useful to include an optional reasoning field in the Invalid Message and make copying the received message up to the maximum message size of this message a SHOULD (section 3.8.12.).
- Not sure I fully understand the purpose of the No Operation Message (section 3.8.13.). If you just want to open a socket for probing, you perform a TCP handshake and send a RST right after. No need for further application layer interactions. And should there also be an optional reasoning phrase?
- Not sure why the objectives flag is needed. I assume that unknown objectives are ignored anyway and if a objective is known the receiver should know if that objective is valid for the respective message type (section 3.10.2).
- section 3.10.4: "An issue requiring particular attention is that GRASP itself is a stateless protocol."
  It's not. It caches information and needs to remember previous messages sent to reply correctly.
- section 5: "Generally speaking, no personal information is expected to be
      involved in the signaling protocol, so there should be no direct impact on personal privacy."
  I don't think this is true because the protocol is so generic that you cannot say anything about the services it is used for.
Please see also further comments from Martin's tsv-art review (Thanks again!)!
2017-07-07
14 Mirja Kühlewind [Ballot Position Update] Position for Mirja Kühlewind has been changed to No Objection from Discuss
2017-07-05
14 Eric Rescorla [Ballot Position Update] Position for Eric Rescorla has been changed to No Objection from Discuss
2017-07-01
14 Brian Carpenter New version available: draft-ietf-anima-grasp-14.txt
2017-07-01
14 (System) New version approved
2017-07-01
14 (System) Request for posting confirmation emailed to previous authors: Carsten Bormann , Bing Liu , Brian Carpenter
2017-07-01
14 Brian Carpenter Uploaded new revision
2017-06-05
13 Alexey Melnikov
[Ballot comment]
Thank you for addressing my DISCUSS and comments.

Martin's ART Review comments seem to be addressed (other than some possible cleanup of text …
[Ballot comment]
Thank you for addressing my DISCUSS and comments.

Martin's ART Review comments seem to be addressed (other than some possible cleanup of text about TLS use).

As a general comment, the document has several SHOULD/MUST level requirements which are sometimes addressed at people deploying the protocol, sometimes at UI designers and sometimes at designers of new objectives. I generally don't mind, but the document doesn't always make it clear what is the intended audience for different requirements.
2017-06-05
13 Alexey Melnikov [Ballot Position Update] Position for Alexey Melnikov has been changed to No Objection from Discuss
2017-06-05
13 (System) Sub state has been changed to AD Followup from Revised ID Needed
2017-06-05
13 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2017-06-05
13 Brian Carpenter New version available: draft-ietf-anima-grasp-13.txt
2017-06-05
13 (System) New version approved
2017-06-05
13 (System) Request for posting confirmation emailed to previous authors: Carsten Bormann , Bing Liu , Brian Carpenter
2017-06-05
13 Brian Carpenter Uploaded new revision
2017-05-25
12 Cindy Morgan IESG state changed to IESG Evaluation - Defer::Revised I-D Needed from IESG Evaluation - Defer
2017-05-25
12 Suresh Krishnan [Ballot Position Update] New position, No Objection, has been recorded for Suresh Krishnan
2017-05-25
12 Alissa Cooper [Ballot Position Update] New position, No Objection, has been recorded for Alissa Cooper
2017-05-24
12 Eric Rescorla
[Ballot discuss]
ISSUE 1
The security situation here is pretty unspecified here, in at least two
respects:

1. In terms of communication security, you seem …
[Ballot discuss]
ISSUE 1
The security situation here is pretty unspecified here, in at least two
respects:

1. In terms of communication security, you seem to have two modes:

  (a) Punt it to ACP
  (b) Use TLS as specified in S 3.5.2.1

I'm not reviewing ACP here (though I have some comments on that too)
but S 3.5.2.1 doesn't (for) instance explain how to do certificate
validation, which it clearly needs to do. Finally, I don't
understand the security story for the multicast packets.
This is especially relevant for Rapid mode, where you are
attaching real work to these multicast packets.


2. I didn't find the security model very clear. As I understand
things, basically anyone on the network who has ACP credentials
is trusted to engage in negotiation with you, so, for instance,
if you want to get parameter X, then you basically just trust
whoever on the network offers you X. is that correct? That seems
like it needs to be very explicitly called out. And if that's not
true, then I don't understand the spec.


ISSUE 2
This document seems like it provides incomplete guidance on how
to actually implement it. For instance:

  discovery messages to a reasonable value, in order to mitigate
  possible denial of service attacks.  It MUST cache the Session ID
  value and initiator address of each relayed Discovery message until

What's "reasonable"?


ISSUE 3.
I don't think I understand how the transition from UDP multicast
to TCP/TLS unicast works. Maybe I'm just misreading the spec,
so could you point me to the section that describes this.

Finally, I don't see a spec for how you map CBOR onto the wire. Do you
just shove them on? Something else?

I see that Martin Thomson raised a number of these issues in his review
in more detail.
2017-05-24
12 Eric Rescorla
[Ballot comment]

S 3.5.4.3.
  After a GRASP device successfully discovers a locator for a Discovery
  Responder supporting a specific objective, it MUST cache …
[Ballot comment]

S 3.5.4.3.
  After a GRASP device successfully discovers a locator for a Discovery
  Responder supporting a specific objective, it MUST cache this
  information, including the interface index via which it was
  discovered.  This cache record MAY be used for future negotiation or
  synchronization, and the locator SHOULD be passed on when appropriate
  as a Divert option to another Discovery Initiator.

What's an "interface index"


S 3.5.4.4.
  Since the relay device is unaware of the timeout set by the original
  initiator it SHOULD set a timeout at least equal to GRASP_DEF_TIMEOUT
  milliseconds.

I'm not sure I'm following here. Does the relay instance retransmit
with its own timeout?


  It MUST cache the Session ID
  value and initiator address of each relayed Discovery message until
  any Discovery Responses have arrived or the discovery process has
  timed out.

How does this behave if the original initiator's timeout is
longer than GRASP_DEF_TIMEOUT?


S 3.5.5.
  A negotiation procedure concerns one objective and one counterpart.
  Both the initiator and the counterpart may take part in simultaneous
  negotiations with various other ASAs, or in simultaneous negotiations
  about different objectives.  Thus, GRASP is expected to be used in a
  multi-threaded mode.  Certain negotiation objectives may have
  restrictions on multi-threading, for example to avoid over-allocating
  resources.

"multi-threaded" is an odd word here. I assume you mean that you
are doing multiple stuff at once, but you might actually write
the system using non-multi-threaded techniques.


S 3.7.
You seem to be going to a lot of trouble to deal wit session
ID collisions. Why don't you just make session IDs 128-bit
random values and then you won't have to worry about
collisions.

  The Session ID SHOULD have a very low collision rate locally.  It
  MUST be generated by a pseudo-random algorithm using a locally
  generated seed which is unlikely to be used by any other device in
  the same network [RFC4086].

Why don't you just require a cryptographically secure PRNG?
That will be required to implement the rest of this protocol


S 3.8.2.
You seem to introduce a normative dependency on CDDL here.
I see that it's in your changelog here, but what are
your intentions about this document, given that CDDL seems
to not even be a WG document


S 3.8.5.
      It MUST contain a time-to-live (ttl) for the validity of the
      response, given as a positive integer value in milliseconds.  Zero
      is treated as the default value GRASP_DEF_TIMEOUT (Section 3.6).

Why do this, rather than just forbidding 0.


S 3.8.6.
  If a node receives a Request message for an objective for which no
  ASA is currently listening, it MUST immediately close the relevant
  socket to indicate this to the initiator.  This is to avoid
  unnecessary timeouts if, for example, an ASA exits prematurely but
  the GRASP core is listening on its behalf.

This is not secure. You need a secure indication of non-knowledge,
not a transport-level close.

S 3.9.5.4.
What are the semantics of a Divert URI? What do I dow ith the
path part?


S 3.10.4.
The semantics of "dry run" seem pretty unclear. Is it just
"tell me if you would be sad about doing this"?
2017-05-24
12 Eric Rescorla [Ballot Position Update] New position, Discuss, has been recorded for Eric Rescorla
2017-05-24
12 Amanda Baber IANA Review state changed to IANA OK - Actions Needed from Version Changed - Review Needed
2017-05-24
12 Alia Atlas [Ballot Position Update] New position, No Objection, has been recorded for Alia Atlas
2017-05-23
12 Deborah Brungard
[Ballot comment]
The comparison text to routing protocols is outdated as ignores TE
which can support any link/node attribute desired (bandwidth,
availability, latency, etc.), discovery, …
[Ballot comment]
The comparison text to routing protocols is outdated as ignores TE
which can support any link/node attribute desired (bandwidth,
availability, latency, etc.), discovery, bidirectional negotiation for use, and
autoconfiguration (e.g. RFC 5340). When first discussing automatic
networks, it may have been useful to compare with routing, as at a
very high level view, it may look similar, but I think it is no longer
relevant, and very confusing for a routing person. Suggest instead of a
"I'm more complex than you" approach, remove these paragraphs.

A few minor edits will fix.

Suggest to remove the first paragraph of Section 2.2. Or edit:
1. links are no longer simple: "consider simple link"/s/"consider link"
2. Delete from "nodes need a consistent, although partial, view of the
network topology in order for the routing algorithm to converge.  Also,
routing is mainly based on simple information synchronization between
peers, rather than on bi-directional negotiation." I think what you want to
infer by "partial" is for a protocol instance/region. But there is support today
for multi-layer and multi-region networks. And convergence scale is
implementation. But none of this is relevant to anima so best is to delete vs.
trying to fix.

Appendix E
Remove the paragraph on routing or preface with "Early routing protocols.."
And the paragraph on RSVP is really not relevant for this comparison. Unless
want to edit, as RSVP-TE does do "discovery".
2017-05-23
12 Deborah Brungard [Ballot Position Update] New position, No Objection, has been recorded for Deborah Brungard
2017-05-23
12 Kathleen Moriarty
[Ballot comment]
Thanks for addressing the SecDir review, as well as Ben's questions on the WG decisions for authentication & encryption and Spencer's on running …
[Ballot comment]
Thanks for addressing the SecDir review, as well as Ben's questions on the WG decisions for authentication & encryption and Spencer's on running in a secure ACP.  Clarifying the text for the latter would be helpful.
2017-05-23
12 Kathleen Moriarty [Ballot Position Update] New position, No Objection, has been recorded for Kathleen Moriarty
2017-05-23
12 Mirja Kühlewind
[Ballot discuss]
1) Use of transport protocols is not sufficiently defined
Especially the following text in section 3.5.3 seems not to reflect later assumptions correctly; …
[Ballot discuss]
1) Use of transport protocols is not sufficiently defined
Especially the following text in section 3.5.3 seems not to reflect later assumptions correctly; it seems to be assumed that TCP is used for all messages other than the discovery and therefore reliable transport is provided for these message (see sections 3.5.5, 3.8.4 and 3.8.5):
"All other GRASP messages are unicast and could in principle run over
  any transport protocol.  An implementation MUST support use of TCP.
  It MAY support use of another transport protocol but the details are
  out of scope for this specification.  However, GRASP itself does not
  provide for error detection or retransmission.  Use of an unreliable
  transport protocol is therefore NOT RECOMMENDED."

In general the usage of the transport protocols is not well enough specified, see also Spencer's comments and this part of Martin's tsv-art review (Thanks!):
"* Usage of UDP: This document is not discussing any of the aspects in RFC 8085. Every usage of UDP is required by IETF consensus to review RFC 8085 and to address at least the applicable subset of issues listed in RFC 8085 (or the predecessor RFC 5405).

* Starting with UDP and switching to TCP for the data transfer looks like the right do. However, UDP should be really only used to discover other devices, but not piggy back further protocol mechanics. However, this document is not really specific on how to make use of TCP, for instance, how long are TCP connections kept open or closed down after a protocol exchange (persistent vs temporary connections). What happens if a TCP connection is shutdown by one end or is forcefully closed, e.g., by a reset?"

I would recommend, as assumed in the rest of the document, to update section 3.5.3 to only use UDP for the initial recovery message and open a TCP connection for the discovery response and require that all other messages to be sent over TCP (also removing any option to use any other reliable transport because TCP seems to be the right choice here.) Further, additional guidance is needed when to open and close a TCP connection (or keep it alive for later use) and what to do if the connection is interrupted.

2) Time-out handling
section 3.5.4.4: "Since the relay device is unaware of the timeout set by the original
  initiator it SHOULD set a timeout at least equal to GRASP_DEF_TIMEOUT
  milliseconds."
Should a relay really maintain an own time-out? Wouldn't it be sufficient to just relay again if another discovery message is received. Otherwise this can lead to an amplification, when the own time-out expires and another relay message is sent when another discovery message is received due to the time-out of the originating peer.

Further in relation to the point about, this should be more specific:
section 3.5.4.4: "Also, it MUST limit the total rate at which it relays
  discovery messages to a reasonable value, in order to mitigate
  possible denial of service attacks. "

3) Version and extensibility:
section 3.5.4.5: "A possible future extension
  is to allow multiple objectives in rapid mode for greater efficiency."
How can this extension be defined if there is no version mechanism?
2017-05-23
12 Mirja Kühlewind
[Ballot comment]
Other mostly editorial comments:
- ASA needs to be spelled out in the intro.
- I would recommend to move section 2 and …
[Ballot comment]
Other mostly editorial comments:
- ASA needs to be spelled out in the intro.
- I would recommend to move section 2 and 3.3 into the appendix
- section 3.5.4.2: "A neighbor with multiple interfaces will respond with a cached discovery response if any."
  "cached response" is explained in the next section and not clear in this paragraph.
- section 3.5.4.3: "After a GRASP device successfully discovers a locator for a Discovery
  Responder supporting a specific objective, it MUST cache this
  information, including the interface index via which it was
  discovered.  This cache record MAY be used for future negotiation or
  synchronization, and the locator SHOULD be passed on when appropriate
  as a Divert option to another Discovery Initiator."
  Not sure why the first is a MUST and the later is a SHOULD. I guess a SHOULD for caching would be sufficient.
- section 3.8.6 "If a node receives a Request message for an objective for which no
  ASA is currently listening, it MUST immediately close the relevant
  socket to indicate this to the initiator."
  How is that indicated? Should really be further clarified
- Also section 3.8.6: "In case of a clash, it MUST discard the Request message, in
  which case the initiator will detect a timeout."
  Why don't you send an error message instead? How does the initiator know that is should retry (assuming there is a TCP connection underneath that provides reliable transport)?
- Also section 3.8.9: "If not, the initiator MUST abandon or restart the negotiation
  procedure, to avoid an indefinite wait."
  How does the initiator decide for abandoning or restarting instead? Needs clarification!
- Could be useful to include an optional reasoning field in the Invalid Message and make copying the received message up to the maximum message size of this message a SHOULD (section 3.8.12.).
- Not sure I fully understand the purpose of the No Operation Message (section 3.8.13.). If you just want to open a socket for probing, you perform a TCP handshake and send a RST right after. No need for further application layer interactions. And should there also be an optional reasoning phrase?
- Not sure why the objectives flag is needed. I assume that unknown objectives are ignored anyway and if a objective is known the receiver should know if that objective is valid for the respective message type (section 3.10.2).
- section 3.10.4: "An issue requiring particular attention is that GRASP itself is a stateless protocol."
  It's not. It caches information and needs to remember previous messages sent to reply correctly.
- section 5: "Generally speaking, no personal information is expected to be
      involved in the signaling protocol, so there should be no direct impact on personal privacy."
  I don't think this is true because the protocol is so generic that you cannot say anything about the services it is used for.
Please see also further comments from Martin's tsv-art review (Thanks again!)!
2017-05-23
12 Mirja Kühlewind Ballot comment and discuss text updated for Mirja Kühlewind
2017-05-23
12 Mirja Kühlewind
[Ballot comment]


Editorial:
- ASA needs to be spelled out in intro.
- I would recomend to move section 2 and 3.3 into the appendix …
[Ballot comment]


Editorial:
- ASA needs to be spelled out in intro.
- I would recomend to move section 2 and 3.3 into the appendix
- section 3.5.4.2: "A neighbor with multiple interfaces will respond with a cached discovery response if any."
  "cached response" is explained in the next section and not clear in this paragraph.
- section 3.5.4.3: "After a GRASP device successfully discovers a locator for a Discovery
  Responder supporting a specific objective, it MUST cache this
  information, including the interface index via which it was
  discovered.  This cache record MAY be used for future negotiation or
  synchronization, and the locator SHOULD be passed on when appropriate
  as a Divert option to another Discovery Initiator."
  Not sure why the first is a MUST and the later is a SHOULD. I guess a SHOULD for caching would be sufficient.
- section 3.8.6 "If a node receives a Request message for an objective for which no
  ASA is currently listening, it MUST immediately close the relevant
  socket to indicate this to the initiator."
  How is that indicated?
- Also section 3.8.6: "In case of a clash, it MUST discard the Request message, in
  which case the initiator will detect a timeout."
  Why do you send an error message instead? How does the initator know that is should retry (assuming there is a TCP connection underneath that provides reliable transport)?
- Also section 3.8.9: "If not, the initiator MUST abandon or restart the negotiation
  procedure, to avoid an indefinite wait."
  How does the initiator decide for abandoning or restarting instead?
- Could be useful to include an optional reasoning field in the Invalid Message and make copying the received message upto the maximum messgae size of this message a SHOULD (section 3.8.12.)
- Not sure I fully understand the purpose of the No Operation Message (section 3.8.13.). If you just want to open a socket for probing, you perform a TCP handshake and send a RST right after. No need for further application layer interactions. Should there also be an option reason phrase?
- Not sure why the objectvives flag is needed. I assume that unknow objectives are ignored anyway and if a objective is know the receiver should know if that objective is valid for the respective message type (section 3.10.2).
2017-05-23
12 Mirja Kühlewind Ballot comment text updated for Mirja Kühlewind
2017-05-23
12 Mirja Kühlewind
[Ballot discuss]
1) Use of transport protocols is not sufficiently defined
Especially the following text in section 3.5.3 seems not to reflect later assumptions correctly; …
[Ballot discuss]
1) Use of transport protocols is not sufficiently defined
Especially the following text in section 3.5.3 seems not to reflect later assumptions correctly; it seems to be assumed that TCP is used for all messages other than the discovery and therefore reliable transport is provided for these message (see sections 3.5.5 and 3.8.5):
"All other GRASP messages are unicast and could in principle run over
  any transport protocol.  An implementation MUST support use of TCP.
  It MAY support use of another transport protocol but the details are
  out of scope for this specification.  However, GRASP itself does not
  provide for error detection or retransmission.  Use of an unreliable
  transport protocol is therefore NOT RECOMMENDED."

section 3.8.4.: " It then listens for unicast TCP responses on a given port..."


2) Time-out handling
section 3.5.4.4: "Since the relay device is unaware of the timeout set by the original
  initiator it SHOULD set a timeout at least equal to GRASP_DEF_TIMEOUT
  milliseconds."
Should a relay really maintain an own time-out? Wouldn't it be suffiecent to just relay again if another discovery message is received. Otherwise this can lead to an amplification, when the own time-out expires and another relay message is sent when another discovery message is received due to the time-out of the orginating peer.

Further in relation to the point about, this should be more specific:
section 3.5.4.4: "Also, it MUST limit the total rate at which it relays
  discovery messages to a reasonable value, in order to mitigate
  possible denial of service attacks. "

3) Version and extensibitity:
section 3.5.4.5: "A possible future extension
  is to allow multiple objectives in rapid mode for greater efficiency."
How can this extension be defined if there is no version mechanism?
2017-05-23
12 Mirja Kühlewind
[Ballot comment]


Editorial:
- ASA needs to be spelled out in intro.
- I would recomend to move section 2 and 3.3 into the appendix …
[Ballot comment]


Editorial:
- ASA needs to be spelled out in intro.
- I would recomend to move section 2 and 3.3 into the appendix
- section 3.5.4.2: "A neighbor with multiple interfaces will respond with a cached discovery response if any."
  "cached response" is explained in the next section and not clear in this paragraph.
- section 3.5.4.3: "After a GRASP device successfully discovers a locator for a Discovery
  Responder supporting a specific objective, it MUST cache this
  information, including the interface index via which it was
  discovered.  This cache record MAY be used for future negotiation or
  synchronization, and the locator SHOULD be passed on when appropriate
  as a Divert option to another Discovery Initiator."
  Not sure why the first is a MUST and the later is a SHOULD. I guess a SHOULD for caching would be sufficient.
- section 3.8.6 "If a node receives a Request message for an objective for which no
  ASA is currently listening, it MUST immediately close the relevant
  socket to indicate this to the initiator."
  How is that indicated?
- Also section 3.8.6: "In case of a clash, it MUST discard the Request message, in
  which case the initiator will detect a timeout."
  Why do you send an error message instead? How does the initator know that is should retry (assuming there is a TCP connection underneath that provides reliable transport)?
- Also section 3.8.9: "If not, the initiator MUST abandon or restart the negotiation
  procedure, to avoid an indefinite wait."
  How does the initiator decide for abandoning or restarting instead?
- Could be useful to include an optional reasoning field in the Invalid Message and make copying the received message upto the maximum messgae size of this message a SHOULD (section 3.8.12.)
- Not sure I fully understand the purpose of the No Operation Message (section 3.8.13.). If you just want to open a socket for probing, you perform a TCP handshake and send a RST right after. No need for further application layer interactions. Should there also be an option reason phrase?
2017-05-23
12 Mirja Kühlewind [Ballot Position Update] Position for Mirja Kühlewind has been changed to Discuss from No Record
2017-05-23
12 Martin Stiemerling Request for Telechat review by TSVART Completed: Not Ready. Reviewer: Martin Stiemerling.
2017-05-22
12 Ben Campbell
[Ballot comment]
Substantive:

-3.5.2.1: "Messages MUST be authenticated and encryption MUST be
  implemented."
Should the latter be "... MUST be used"? It seems odd …
[Ballot comment]
Substantive:

-3.5.2.1: "Messages MUST be authenticated and encryption MUST be
  implemented."
Should the latter be "... MUST be used"? It seems odd for authentication to be MUST use, but crypto to only be MTI.

-3.5.4.3: "An exponential backoff SHOULD be used for subsequent
  repetitions, to limit the load during busy periods."
Why not MUST? Also, is there a retry limit?  (Comment applies to the other sections that mention retries with exponential backoff)

-3.5.6.2: "To ensure that flooding does not result in a loop, the originator of
  the Flood Synchronization message MUST set the loop count in the
  objectives to a suitable value "
I assume this is true for discovery and negotiation as well? I don't think it was mentioned in those sections (although I think I saw a related mention in the message format sections.)

- 3.10.5: "SHOULD NOT be used in
  unmanaged networks such as home networks."
Why not MUST?

-5, Privacy and Confidentiality: Did people consider IP Addresses and other potentially persistent identifiers as impacting privacy?

-7, Grasp Message and Options table: Why "Standards Action"? Would you expect some harm to be done if this were only Spec Required?

Editorial:

- Is section 2 expected to be useful to implementers once this is published as an RFC? Unless there's a reason otherwise, I would suggest moving this to an appendix, or even removing it entirely. As it is, you have to wade through an unusual amount of front material before you get to the meat of the protocol.

- Along the lines of the previous comment, I found the organization a bit hard to follow. I didn't find actual protocol details until around page 21. Procedures are split (and sometimes repeated) between the procedure sections and the message format sections. I think that will make this more difficult and error prone than necessary for implementors to read and reference.  I fear readers will read one section and think they understand the procedures, and miss a requirement in the other.

- 3.5.2.2: First bullet:
Please consider a "MUST NOT construction. "MUST only" can be ambiguous.
It would be helpful to explain why the loop count must not be more than one. I can infer that from the later sections on relays, but it was not obvious when reading this section. And unless I missed something, there's no text that puts the two ideas together.

- 3.5.4.5: This section seems redundant to the similar sections under negotiation . Since those sections have more information, would it make sense to consolidate them there?
2017-05-22
12 Ben Campbell [Ballot Position Update] New position, No Objection, has been recorded for Ben Campbell
2017-05-22
12 Adam Roach
[Ballot comment]
The document includes a couple of instances of "reasonable" in normative statements (e.g., "reasonable timeout"). I would strongly recommend having specific recommendations in …
[Ballot comment]
The document includes a couple of instances of "reasonable" in normative statements (e.g., "reasonable timeout"). I would strongly recommend having specific recommendations in the document where this happens.

The CBOR definition has constants for IP_PROTO_TCP and IP_PROTO_UDP, but no way to register additional values with IANA. This does not seem future-proof.

Section 3.8.4 talks about behavior when a node has a "globally unique address," but provides no guidance for detecting this. Are nodes expected to check for link-local, zeroconf, RFC 1918, and RFC 6598 addresses? Any others?
2017-05-22
12 Adam Roach [Ballot Position Update] New position, No Objection, has been recorded for Adam Roach
2017-05-22
12 Alexey Melnikov
[Ballot comment]
Martin's ART Review comments seem to be addressed (other than some possible cleanup of text about TLS use).

As a general comment, the …
[Ballot comment]
Martin's ART Review comments seem to be addressed (other than some possible cleanup of text about TLS use).

As a general comment, the document has several SHOULD/MUST level requirements which are sometimes addressed at people deploying the protocol, sometimes at UI designers and sometimes at designers of new objectives. I generally don't mind, but the document doesn't always make it clear what is the intended audience for different requirements.

Other smaller things:

"Fully Qualified Domain Name" probably needs a Normative Reference.


3.5.4.3.  Discovery Procedures

In 6th para:

  The cache mechanism MUST include a lifetime for each entry.  The
  lifetime is derived from a time-to-live (ttl) parameter in each
  Discovery Response message.  Cached entries MUST be ignored or
  deleted after their lifetime expires.  In some environments,
  unplanned address renumbering might occur.  In such cases, the
  lifetime SHOULD be short compared to the typical address lifetime and
  a mechanism to flush the discovery cache MUST be implemented.

How can the discovery cache be flushed?


3.9.5.4.  Locator URI option

  In fragmentary CDDL, the URI option follows the pattern:

    uri-locator = [O_URI_LOCATOR, text]

I suggest inclusion of optional transport protocol here to match other locators and to follow best practices for not encoding transport information in URIs.
2017-05-22
12 Alexey Melnikov Ballot comment text updated for Alexey Melnikov
2017-05-22
12 Alexey Melnikov
[Ballot discuss]
I have a small list of issues that I would like to discuss before recommending approval of this document:

1) The first reference …
[Ballot discuss]
I have a small list of issues that I would like to discuss before recommending approval of this document:

1) The first reference to UTF-8 needs a Normative reference to RFC 3629.

2) In Section 3.10.1, you say:

  The names of generic objectives MUST NOT include a colon (":") and
  MUST be registered with IANA (Section 7).

In Section 7 you only say:

  GRASP Objective Names Table.  The values in this table are UTF-8
  strings.  Future values MUST be assigned using the Specification
  Required policy defined by [RFC5226].

IANA is not going to review section 3.10.1 and there is no back reference in Section 7. IANA needs to know that values with ":" are not to be registered.
2017-05-22
12 Alexey Melnikov
[Ballot comment]
As a general comment, the document has several SHOULD/MUST level requirements which are sometimes addressed at people deploying the protocol, sometimes at UI …
[Ballot comment]
As a general comment, the document has several SHOULD/MUST level requirements which are sometimes addressed at people deploying the protocol, sometimes at UI designers and sometimes at designers of new objectives. I generally don't mind, but the document doesn't always make it clear what is the intended audience for different requirements.

Other smaller things:

"Fully Qualified Domain Name" probably needs a Normative Reference.


3.5.4.3.  Discovery Procedures

In 6th para:

  The cache mechanism MUST include a lifetime for each entry.  The
  lifetime is derived from a time-to-live (ttl) parameter in each
  Discovery Response message.  Cached entries MUST be ignored or
  deleted after their lifetime expires.  In some environments,
  unplanned address renumbering might occur.  In such cases, the
  lifetime SHOULD be short compared to the typical address lifetime and
  a mechanism to flush the discovery cache MUST be implemented.

How can the discovery cache be flushed?


3.9.5.4.  Locator URI option

  In fragmentary CDDL, the URI option follows the pattern:

    uri-locator = [O_URI_LOCATOR, text]

I suggest inclusion of optional transport protocol here to match other locators and to follow best practices for not encoding transport information in URIs.
2017-05-22
12 Alexey Melnikov [Ballot Position Update] New position, Discuss, has been recorded for Alexey Melnikov
2017-05-22
12 Warren Kumari
[Ballot comment]
Firstly, thank you for addressing Joel's OpsDir review.
As others have noted, this is a long document :-) I think that, in spite …
[Ballot comment]
Firstly, thank you for addressing Joel's OpsDir review.
As others have noted, this is a long document :-) I think that, in spite of this, it is very well written....

These comments were written against v-11, but I think are still applicable to -12.


Section 2.1, D1:
"... the protocol can represent and discover any kind of
  technical objective ..." While the document *does* say that readers should be familiar with RFC7575, RFC7576, and I-D.ietf-anima-reference-model, I think it would still be helpful to (briefly) describe an objective here, or simply mention that "technical objective" is a term of art and point to the Terminology section (or Sec. 3.10). When I initially read this it sounded incredibly broad, once I found the Terminology section it all made more sense...


S2.2.  Requirements for Synchronization and Negotiation Capability

  "SN5.
  ...
  It follows that the protocol’s resource requirements must be appropriate for any device that would otherwise need human intervention."

I found this sentence confusing / hard to parse. I *think* that you are saying that the protocol should not require so many resources that it cannot be deployed on devices (and so humans would still need to manually manage them)?
If so, I think that this could be clearer, but, unfortunately I cannot provide better text...

3.2.  High Level Deployment Model
"A more common model is expected to be a multi-purpose device capable of containing several ASAs."
I'm sure you are right... but for a reader new to the topic this is not obvious (nor clear) - would it be possible to provide some sort of examples of such devices (or brief description of why a more common model would have several ASAs?) E.g: "multi-purpose device capable of containing several ASAs (such as a router or large switch)" (or whatever...)


"..it is essential that every implementation is as robust as possible."
--  this sounds suspiciously like "Don't write bad code...".  What is the purpose if this statement? Do you think that it will somehow make people write better / more robust code? If so, shouldn't this be in our standard boilerplate? This whole paragraph feels like it is not actionable / is something that all code for all implementations of everything should follow... (I have a horrible feeling that I'm heading off on a soapbox rant / that this is a pet-peeve...)
2017-05-22
12 Warren Kumari [Ballot Position Update] New position, No Objection, has been recorded for Warren Kumari
2017-05-22
12 Gunter Van de Velde Request for Last Call review by OPSDIR Completed: Has Issues. Reviewer: Joel Jaeggli.
2017-05-22
12 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Joel Jaeggli
2017-05-22
12 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Joel Jaeggli
2017-05-19
12 Joel Halpern Request for Telechat review by GENART Completed: Ready. Reviewer: Joel Halpern. Sent review to list.
2017-05-19
12 Jean Mahoney Request for Telechat review by GENART is assigned to Joel Halpern
2017-05-19
12 Jean Mahoney Request for Telechat review by GENART is assigned to Joel Halpern
2017-05-18
12 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2017-05-18
12 Brian Carpenter New version available: draft-ietf-anima-grasp-12.txt
2017-05-18
12 (System) New version approved
2017-05-18
12 (System) Request for posting confirmation emailed to previous authors: Carsten Bormann , Bing Liu , Brian Carpenter
2017-05-18
12 Brian Carpenter Uploaded new revision
2017-05-08
11 Mirja Kühlewind [Ballot Position Update] Position for Mirja Kühlewind has been changed to No Record from No Objection
2017-05-08
11 Mirja Kühlewind Telechat date has been changed to 2017-05-25 from 2017-05-11
2017-05-08
11 Mirja Kühlewind IESG state changed to IESG Evaluation - Defer from IESG Evaluation
2017-05-08
11 Mirja Kühlewind [Ballot Position Update] New position, No Objection, has been recorded for Mirja Kühlewind
2017-05-07
11 Spencer Dawkins
[Ballot comment]
In this text,

  T6.  The protocol must be capable of supporting multiple simultaneous
  operations with one or more peers, especially when …
[Ballot comment]
In this text,

  T6.  The protocol must be capable of supporting multiple simultaneous
  operations with one or more peers, especially when wait states occur.

I understand every word, but I'm not sure what this requires the protocol to do. Are you asking that the protocol be non-blocking? But that's a guess.

In this text,

  A GRASP implementation will be part of the Autonomic Networking
  Infrastructure in an autonomic node, which must also provide an
  appropriate security environment.  In accordance with
  [I-D.ietf-anima-reference-model], this SHOULD be the Autonomic
  Control Plane (ACP) [I-D.ietf-anima-autonomic-control-plane]. 

I wonder what happens if the security environment isn't the ACP. Is that obvious?

In this text,

  An implementation MUST support use of TCP.
  It MAY support use of another transport protocol.  However, GRASP
  itself does not provide for error detection or retransmission.  Use
  of an unreliable transport protocol is therefore NOT RECOMMENDED.

just to educate me, is the strategy here, that (for instance) if synchronization fails over an unreliable transport protocol, that eventually it will be attempted again, just because the two ACAs know they aren't synchronized?

I'm really confused by this text.

  Nevertheless, when running within a secure ACP on reliable
  infrastructure, UDP MAY be used for unicast messages not exceeding
  the minimum IPv6 path MTU; however, TCP MUST be used for longer
  messages.  In other words, IPv6 fragmentation is avoided.  If a node
  receives a UDP message but the reply is too long, it MUST open a TCP
  connection to the peer for the reply.  Note that when the network is
  under heavy load or in a fault condition, UDP might become
  unreliable.  Since this is when autonomic functions are most
  necessary, automatic fallback to TCP MUST be implemented.  The
  simplest implementation is therefore to use only TCP.

We've been having quite the discussion about how well Path MTU Discovery works, even in IPv6. Because GRASP could be running over virtual interfaces, I suspect there's a chance that you'll be running in a tunnel that will give you a Path MTU that's smaller than the IPv6 minimum. But ignoring that for now ...

IIRC, we've had poor experiences with protocols that are expected to switch from UDP transport to TCP transport in the middle of a request/response pair. But, setting THAT aside for now ...

This text correctly points out that UDP transport is most likely to fail under heavy network load or in a fault condition, when autonomic functions are most necessary. If TCP is mandatory to implement, and implementations will need to switch from UDP to TCP at the most awkward times, and that's been a problem area for other protocols in the past, why not just require TCP in the first place?

I see that the UDP/TCP question was listed as an open issue before it was closed, so I'm not balloting Discuss, because I assume I'm missing something that people will help me understand, but I thought about it for a while ...

Thanks for this text,

  If no discovery response is received within a reasonable timeout
  (default GRASP_DEF_TIMEOUT milliseconds, Section 3.6), the Discovery
  message MAY be repeated, with a newly generated Session ID
  (Section 3.7).  An exponential backoff SHOULD be used for subsequent
  repetitions, to limit the load during busy periods.  Frequent
  repetition might be symptomatic of a denial of service attack.

and especially for the warning about DoS attacks.

I found Appendix D and E useful. Thanks for including both of them.
2017-05-07
11 Spencer Dawkins Ballot comment text updated for Spencer Dawkins
2017-05-07
11 Spencer Dawkins
[Ballot comment]
In this text,

  T6.  The protocol must be capable of supporting multiple simultaneous
  operations with one or more peers, especially when …
[Ballot comment]
In this text,

  T6.  The protocol must be capable of supporting multiple simultaneous
  operations with one or more peers, especially when wait states occur.

I understand every word, but I'm not sure what this requires the protocol to do. Are you asking that the protocol be non-blocking? But that's a guess.

In this text,

  A GRASP implementation will be part of the Autonomic Networking
  Infrastructure in an autonomic node, which must also provide an
  appropriate security environment.  In accordance with
  [I-D.ietf-anima-reference-model], this SHOULD be the Autonomic
  Control Plane (ACP) [I-D.ietf-anima-autonomic-control-plane]. 

I wonder what happens if the security environment isn't the ACP. Is that obvious?

In this text,

  An implementation MUST support use of TCP.
  It MAY support use of another transport protocol.  However, GRASP
  itself does not provide for error detection or retransmission.  Use
  of an unreliable transport protocol is therefore NOT RECOMMENDED.

just to educate me, is the strategy here, that (for instance) if synchronization fails over an unreliable transport protocol, that eventually it will be attempted again, just because the two ACAs know they aren't synchronized?

I'm really confused by this text.

  Nevertheless, when running within a secure ACP on reliable
  infrastructure, UDP MAY be used for unicast messages not exceeding
  the minimum IPv6 path MTU; however, TCP MUST be used for longer
  messages.  In other words, IPv6 fragmentation is avoided.  If a node
  receives a UDP message but the reply is too long, it MUST open a TCP
  connection to the peer for the reply.  Note that when the network is
  under heavy load or in a fault condition, UDP might become
  unreliable.  Since this is when autonomic functions are most
  necessary, automatic fallback to TCP MUST be implemented.  The
  simplest implementation is therefore to use only TCP.

We've been having quite the discussion about how well Path MTU Discovery works, even in IPv6. Because GRASP could be running over virtual interfaces, I suspect there's a chance that you'll be running in a tunnel that will give you a Path MTU that's smaller than the IPv6 minimum. But ignoring that for now ...

IIRC, we've had poor experiences with protocols that are expected to switch from UDP transport to TCP transport in the middle of a request/response pair. But, setting THAT aside for now ...

This text correctly points out that UDP transport is most likely to fail under heavy network load or in a fault condition, when most autonomic functions are most necessary. If TCP is mandatory to implement, and implementations will need to switch from UDP to TCP at the most awkward times, and that's been a problem area for other protocols in the past, why not just require TCP in the first place?

I see that the UDP/TCP question was listed as an open issue before it was closed, so I'm not balloting Discuss, because I assume I'm missing something that people will help me understand, but I thought about it for a while ...

Thanks for this text,

  If no discovery response is received within a reasonable timeout
  (default GRASP_DEF_TIMEOUT milliseconds, Section 3.6), the Discovery
  message MAY be repeated, with a newly generated Session ID
  (Section 3.7).  An exponential backoff SHOULD be used for subsequent
  repetitions, to limit the load during busy periods.  Frequent
  repetition might be symptomatic of a denial of service attack.

and especially for the warning about DoS attacks.

I found Appendix D and E useful. Thanks for including both of them.
2017-05-07
11 Spencer Dawkins [Ballot Position Update] New position, No Objection, has been recorded for Spencer Dawkins
2017-05-04
11 Amanda Baber IANA Review state changed to IANA OK - Actions Needed from IANA OK - No Actions Needed
2017-05-04
11 Amanda Baber IANA Review state changed to IANA OK - No Actions Needed from IANA - Not OK
2017-05-01
11 Martin Thomson Request for Telechat review by ARTART Completed: Not Ready. Reviewer: Martin Thomson. Sent review to list.
2017-05-01
11 Alexey Melnikov Request for Telechat review by ARTART is assigned to Martin Thomson
2017-05-01
11 Alexey Melnikov Request for Telechat review by ARTART is assigned to Martin Thomson
2017-04-30
11 Joel Halpern Request for Telechat review by GENART Completed: Ready. Reviewer: Joel Halpern. Sent review to list.
2017-04-28
11 Barry Leiba Request for Telechat review by SECDIR Completed: Ready. Reviewer: Barry Leiba. Sent review to list.
2017-04-27
11 Jean Mahoney Request for Telechat review by GENART is assigned to Joel Halpern
2017-04-27
11 Jean Mahoney Request for Telechat review by GENART is assigned to Joel Halpern
2017-04-27
11 Tero Kivinen Request for Telechat review by SECDIR is assigned to Barry Leiba
2017-04-27
11 Tero Kivinen Request for Telechat review by SECDIR is assigned to Barry Leiba
2017-04-27
11 Martin Stiemerling Request for Telechat review by TSVART is assigned to Martin Stiemerling
2017-04-27
11 Martin Stiemerling Request for Telechat review by TSVART is assigned to Martin Stiemerling
2017-04-24
11 (System) IANA Review state changed to IANA - Not OK from Version Changed - Review Needed
2017-04-23
11 Terry Manderson IESG state changed to IESG Evaluation from Waiting for Writeup
2017-04-23
11 Terry Manderson Ballot has been issued
2017-04-23
11 Terry Manderson [Ballot Position Update] New position, Yes, has been recorded for Terry Manderson
2017-04-23
11 Terry Manderson Created "Approve" ballot
2017-04-23
11 Terry Manderson Placed on agenda for telechat - 2017-05-11
2017-04-23
11 Terry Manderson Ballot writeup was changed
2017-04-19
11 Martin Stiemerling Closed request for Last Call review by TSVART with state 'No Response'
2017-03-30
11 Brian Carpenter New version available: draft-ietf-anima-grasp-11.txt
2017-03-30
11 (System) New version approved
2017-03-30
11 (System) Request for posting confirmation emailed to previous authors: Carsten Bormann , Bing Liu , Brian Carpenter
2017-03-30
11 Brian Carpenter Uploaded new revision
2017-03-09
10 (System) IANA Review state changed to Version Changed - Review Needed from IANA - Not OK
2017-03-09
10 Brian Carpenter New version available: draft-ietf-anima-grasp-10.txt
2017-03-09
10 (System) New version approved
2017-03-09
10 (System) Request for posting confirmation emailed to previous authors: Carsten Bormann , Bing Liu , Brian Carpenter
2017-03-09
10 Brian Carpenter Uploaded new revision
2017-03-07
09 Barry Leiba Request for Last Call review by SECDIR Completed: Has Issues. Reviewer: Barry Leiba.
2017-03-02
09 (System) IESG state changed to Waiting for Writeup from In Last Call
2017-03-01
09 (System) IANA Review state changed to IANA - Not OK from IANA - Review Needed
2017-03-01
09 Sabrina Tanamal
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Services Operator has completed its review of draft-ietf-anima-grasp-09.txt. If any part of this review is inaccurate, please let …
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Services Operator has completed its review of draft-ietf-anima-grasp-09.txt. If any part of this review is inaccurate, please let us know.

The IANA Services Operator has a question about one of the actions requested in the IANA Considerations section of this document.

We understand that, upon approval of this document, there are six actions which we must complete.

First, in the Link-Local Scope Multicast Addresses subregistry of the IPv6 Multicast Address Space Registry located at:

https://www.iana.org/assignments/ipv6-multicast-addresses/

a new registration will be made as follows:

Address: [ TBD-at-registration ]
Description: ALL_GRASP_NEIGHBOR
Reference: [ RFC-to-be ]
Date registered: [ ]
Last reviewed: [ ]

Because this registry requires Expert Review [RFC5226] for registration, we've contacted the IESG-designated expert in a separate ticket to request approval. Expert review should be completed before your document can be approved for publication as an RFC.

Second, in the Local Network Control Block (224.0.0.0 - 224.0.0.255 (224.0.0/24)) subregistry of the IPv4 Multicast Address Space Registry located at:

https://www.iana.org/assignments/multicast-addresses/

a new registration will be made as follows:

Address: [ TBD-at-registration ]
Description: ALL_GRASP_NEIGHBOR
Reference: [ RFC-to-be ]
Date registered: [ ]
Last reviewed: [ ]

Third, we understand that the authors request a user port number for GRASP as follows:

GRASP_LISTEN_PORT: (TBD3)
Service Name: Generic Autonomic Signaling Protocol (GRASP)
Transport Protocols: UDP, TCP
Reference: [ RFC-to-be ]

The authors are requested to submit a template for early allocation and put the I-D as a reference according to RFC6335 as stated in section 8.1.1:

We may accept early assignment [RFC4020 ] requests (known as "early allocation" therein) from IETF working groups that reference a sufficiently stable Internet-Draft instead of a published Standards-Track RFC.

Fourth, a new registry is to be created on the list of all IANA maintained protocol parameter registries at:

https://www.iana.org/protocols

called the GRASP Parameter Registry.

Fifth, in the new GRASP Parameter Registry created in the fourth task above, a new registry is to be created called the GRASP Messages and Options registry. The new registry will be maintained via Standards Action as defined in RFC 5226. There are initial entries in the new registry as follows:

Value Message/Option Reference
-------+-------------------------------+------------------
0 M_NOOP [ RFC-to-be ]
1 M_DISCOVERY [ RFC-to-be ]
2 M_RESPONSE [ RFC-to-be ]
3 M_REQ_NEG [ RFC-to-be ]
4 M_REQ_SYN [ RFC-to-be ]
5 M_NEGOTIATE [ RFC-to-be ]
6 M_END [ RFC-to-be ]
7 M_WAIT [ RFC-to-be ]
8 M_SYNCH [ RFC-to-be ]
9 M_FLOOD [ RFC-to-be ]
10-98 Unassigned
99 M_INVALID [ RFC-to-be ]
100 O_DIVERT [ RFC-to-be ]
101 O_ACCEPT [ RFC-to-be ]
102 O_DECLINE [ RFC-to-be ]
103 O_IPv6_LOCATOR [ RFC-to-be ]
104 O_IPv4_LOCATOR [ RFC-to-be ]
105 O_FQDN_LOCATOR [ RFC-to-be ]
106 O_URI_LOCATOR [ RFC-to-be ]

Sixth, also in the new GRASP Parameter Registry created in the fourth task above, a new registry is to be created called the GRASP Objective Names Table registry. The new registry will be maintained via Specification Required as defined in RFC 5226. There are initial entries in the new registry as follows:

Objective Name Reference
---------------+-------------
EX0 [ RFC-to-be ]
EX1 [ RFC-to-be ]
EX2 [ RFC-to-be ]
EX3 [ RFC-to-be ]
EX4 [ RFC-to-be ]
EX5 [ RFC-to-be ]
EX6 [ RFC-to-be ]
EX7 [ RFC-to-be ]
EX8 [ RFC-to-be ]
EX9 [ RFC-to-be ]

The IANA Services Operator understands that these six actions are the only ones required to be completed upon approval of this document.

Note:  The actions requested in this document will not be completed until the document has been approved for publication as an RFC. This message is only to confirm what actions will be performed.

Thank you,

Sabrina Tanamal
IANA Services Specialist
PTI
2017-02-27
09 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Stefan Winter
2017-02-27
09 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Stefan Winter
2017-02-25
09 Joel Halpern Request for Last Call review by GENART Completed: Ready with Nits. Reviewer: Joel Halpern. Sent review to list.
2017-02-23
09 Jean Mahoney Request for Last Call review by GENART is assigned to Joel Halpern
2017-02-23
09 Jean Mahoney Request for Last Call review by GENART is assigned to Joel Halpern
2017-02-23
09 Tero Kivinen Request for Last Call review by SECDIR is assigned to Barry Leiba
2017-02-23
09 Tero Kivinen Request for Last Call review by SECDIR is assigned to Barry Leiba
2017-02-20
09 Jürgen Schönwälder Assignment of request for Last Call review by OPSDIR to Jürgen Schönwälder was rejected
2017-02-20
09 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Jürgen Schönwälder
2017-02-20
09 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Jürgen Schönwälder
2017-02-19
09 Martin Stiemerling Request for Last Call review by TSVART is assigned to Lou Berger
2017-02-19
09 Martin Stiemerling Request for Last Call review by TSVART is assigned to Lou Berger
2017-02-16
09 Cindy Morgan IANA Review state changed to IANA - Review Needed
2017-02-16
09 Cindy Morgan
The following Last Call announcement was sent out:

From: The IESG
To: "IETF-Announce"
CC: draft-ietf-anima-grasp@ietf.org, anima-chairs@ietf.org, "Sheng Jiang" , terry.manderson@icann.org, anima@ietf.org, …
The following Last Call announcement was sent out:

From: The IESG
To: "IETF-Announce"
CC: draft-ietf-anima-grasp@ietf.org, anima-chairs@ietf.org, "Sheng Jiang" , terry.manderson@icann.org, anima@ietf.org, jiangsheng@huawei.com
Reply-To: ietf@ietf.org
Sender:
Subject: Last Call:  (A Generic Autonomic Signaling Protocol (GRASP)) to Proposed Standard


The IESG has received a request from the Autonomic Networking Integrated
Model and Approach WG (anima) to consider the following document:
- 'A Generic Autonomic Signaling Protocol (GRASP)'
  as Proposed Standard

The IESG plans to make a decision in the next few weeks, and solicits
final comments on this action. Please send substantive comments to the
ietf@ietf.org mailing lists by 2017-03-02. Exceptionally, comments may be
sent to iesg@ietf.org instead. In either case, please retain the
beginning of the Subject line to allow automated sorting.

Abstract


  This document establishes requirements for a signaling protocol that
  enables autonomic devices and autonomic service agents to dynamically
  discover peers, to synchronize state with them, and to negotiate
  parameter settings mutually with them.  The document then defines a
  general protocol for discovery, synchronization and negotiation,
  while the technical objectives for specific scenarios are to be
  described in separate documents.  An Appendix briefly discusses
  existing protocols with comparable features.




The file can be obtained via
https://datatracker.ietf.org/doc/draft-ietf-anima-grasp/

IESG discussion can be tracked via
https://datatracker.ietf.org/doc/draft-ietf-anima-grasp/ballot/


No IPR declarations have been submitted directly on this I-D.


The document contains these normative downward references.
See RFC 3967 for additional information:
    draft-greevenbosch-appsawg-cbor-cddl: CBOR data definition language (CDDL): a notational convention to express CBOR data structures (None - IETF stream)
Note that some of these references may already be listed in the acceptable Downref Registry.


2017-02-16
09 Cindy Morgan IESG state changed to In Last Call from Last Call Requested
2017-02-16
09 Terry Manderson Last call was requested
2017-02-16
09 Terry Manderson Ballot approval text was generated
2017-02-16
09 Terry Manderson Ballot writeup was generated
2017-02-16
09 Terry Manderson IESG state changed to Last Call Requested from AD Evaluation
2017-02-16
09 Terry Manderson Last call announcement was generated
2017-02-13
09 Charles Perkins Request for Early review by INTDIR Completed: On the Right Track. Reviewer: Charles Perkins. Sent review to list.
2017-01-26
09 Carlos Jesús Bernardos Request for Early review by INTDIR is assigned to Charles Perkins
2017-01-26
09 Carlos Jesús Bernardos Request for Early review by INTDIR is assigned to Charles Perkins
2017-01-20
09 Carlos Jesús Bernardos Request for Early review by INTDIR is assigned to David Lamparter
2017-01-20
09 Carlos Jesús Bernardos Request for Early review by INTDIR is assigned to David Lamparter
2017-01-19
09 Terry Manderson IESG state changed to AD Evaluation from Publication Requested
2017-01-19
09 Terry Manderson Requested Early review by INTDIR
2017-01-19
09 Sheng Jiang
Document Writeup, template from IESG area on ietf.org, dated January 11, 2017.

draft-ietf-anima-grasp-09 write-up

(1) What type of RFC is being requested (BCP, Proposed …
Document Writeup, template from IESG area on ietf.org, dated January 11, 2017.

draft-ietf-anima-grasp-09 write-up

(1) What type of RFC is being requested (BCP, Proposed Standard, Internet
Standard, Informational, Experimental, or Historic)? Why is this the proper type
of RFC? Is this type of RFC indicated in the title page header?

  Proposed standard.  The document then defines a general protocol
  for discovery, synchronization and negotiation for the Autonomic
  Network. The type of RFC is clearly indicated in the title page
  header.
 
(2) The IESG approval announcement includes a Document Announcement
Write-Up. Please provide such a Document Announcement Write-Up. Recent examples
can be found in the "Action" announcements for approved documents. The approval
announcement contains the following sections:

Technical Summary:
Relevant content can frequently be found in the abstract
and/or introduction of the document. If not, this may be
an indication that there are deficiencies in the abstract
or introduction.

  This document describes the requirements for a signaling
  protocol that enables autonomic devices and autonomic service
  agents to dynamically discover peers, to synchronize state with
  them, and to negotiate parameter settings mutually with them.
  The document then defines a general protocol for discovery,
  synchronization and negotiation, which can be suitable for variable
  technical objectives. The technical objectives for specific scenarios
  out of scope.

Working Group Summary:
Was there anything in WG process that is worth noting? For example,
was there controversy about particular points or were there decisions
where the consensus was particularly rough?

  This document was called draft-carpenter-anima-gdn-protocol
  prior to its adoption. There was unanimous support for it in favor of
  adoption and none against), so this document was adopted in August
  2015. There was interest in this work posts since its adoption.
  There was never any opposition for this work.
 
  This document went through a relevant long document development
  period (10 months for individual document period, 17 month for WG
  document period). It has been reviewed well.

Document Quality:
Are there existing implementations of the protocol? Have a significant
number of vendors indicated their plan to implement the specification?
Are there any reviewers that merit special mention as having done a
thorough review, e.g., one that resulted in important changes or a
conclusion that the document had no substantive issues? If there was
a MIB Doctor, Media Type or other expert review, what was its course
(briefly)? In the case of a Media Type review, on what date was the
request posted?

  This document went through multiple reviews by multiple WG
  participants.  There are at least two existing implementations.
  Both Cisco and Huawei showed interests to implement the specification

Personnel:

Who is the Document Shepherd? Who is the Responsible Area Director?

  Sheng Jiang is the document shepherd.
  Terry Manderson is the responsible AD.
 
(3) Briefly describe the review of this document that was performed by the
Document Shepherd. If this version of the document is not ready for publication,
please explain why the document is being forwarded to the IESG.

  I reviewed this document thorough once for -05 versions (and had
  other minor comments from time to time):
 
  https://www.ietf.org/mail-archive/web/anima/current/msg02045.html 
 
  The issues raised in my reviews were promptly addressed by authors
  in -06 version along with the comments from other ANIMA WG members. 
  This document -09 version is ready for publication in my opinion.
 
(4) Does the document Shepherd have any concerns about the depth or breadth of
the reviews that have been performed?

  No.
 
(5) Do portions of the document need review from a particular or from broader
perspective, e.g., security, operational complexity, AAA, DNS, DHCP, XML, or
internationalization? If so, describe the review that took place.

  No.
 
(6) Describe any specific concerns or issues that the Document Shepherd has with
this document that the Responsible Area Director and/or the IESG should be aware
of? For example, perhaps he or she is uncomfortable with certain parts of the
document, or has concerns whether there really is a need for it. In any event,
if the WG has discussed those issues and has indicated that it still wishes to
advance the document, detail those concerns here.

  There are no outstanding issues.

(7) Has each author confirmed that any and all appropriate IPR disclosures
required for full conformance with the provisions of BCP 78 and BCP 79 have
already been filed. If not, explain why?

  Yes. The authors, Brian Carpenter, Carsten Bormann, and Bing Liu have
  confirmed in writing that they are not aware of any IPR, and that any
  and all appropriate IPR disclosures required for full conformance with
  the provisions of BCP 78 and BCP 79 have already been filed.
 
(8) Has an IPR disclosure been filed that references this document? If so,
summarize any WG discussion and conclusion regarding the IPR disclosures.

  No.
 
(9) How solid is the WG consensus behind this document? Does it represent the
strong concurrence of a few individuals, with others being silent, or does the
WG as a whole understand and agree with it?

  There was broad support for this document. It was reviewed by active WG
  participants. All changes were mostly minor.
 
(10) Has anyone threatened an appeal or otherwise indicated extreme discontent?
If so, please summarise the areas of conflict in separate email messages to the
Responsible Area Director. (It should be in a separate email because this
questionnaire is publicly available.)

  No. There was unanimous support for this work and nobody raised any objections.
 
(11) Identify any ID nits the Document Shepherd has found in this document. (See
http://www.ietf.org/tools/idnits/ and the Internet-Drafts
Checklist). Boilerplate checks are not enough; this check needs to be thorough.

  This document is now ID nits clean.
 
(12) Describe how the document meets any required formal review criteria, such
as the MIB Doctor, media type, and URI type reviews.

  No MIB Doctor, media type, URI type or similar apply to this
  document.
 
(13) Have all references within this document been identified as either
normative or informative?

  Yes.

(14) Are there normative references to documents that are not ready for
advancement or are otherwise in an unclear state? If such normative references
exist, what is the plan for their completion?

  No. All normative references are published RFCs.
 
(15) Are there downward normative references references (see RFC 3967)? If so,
list these downward references to support the Area Director in the Last Call
procedure.

  Yes. There are one no downard normative references.
  draft-greevenbosch-appsawg-cbor-cddl. It is intended to be adopted by
  the new CBOR WG and it is a chartered WG item with a milestone of October
  2017. Alternatively, this GRASP draft could add an Appendix that defines
  the specific GRASPS subset of CDDL formally in ABNF, and reduce
  the CDDL draft reference to Informational.

(16) Will publication of this document change the status of any existing RFCs?
Are those RFCs listed on the title page header, listed in the abstract, and
discussed in the introduction? If the RFCs are not listed in the Abstract and
Introduction, explain why, and point to the part of the document where the
relationship of this document to the other RFCs is discussed. If this
information is not in the document, explain why the WG considers it unnecessary.

  No. This document does not update any existing RFCs.

(17) Describe the Document Shepherd's review of the IANA considerations section,
especially with regard to its consistency with the body of the document. Confirm
that all protocol extensions that the document makes are associated with the
appropriate reservations in IANA registries. Confirm that any referenced IANA
registries have been clearly identified. Confirm that newly created IANA
registries include a detailed specification of the initial contents for the
registry, that allocations procedures for future registrations are defined, and
a reasonable name for the new registry has been suggested (see RFC 5226).

  IANA is asked to assign 2 multicast addresses for ALL_GRASP_NEIGHBOR
  multicast address (IPv6) and ALL_GRASP_NEIGHBOR multicast address (IPv4);
  1 port for both UDP and TCP: GRASP_LISTEN_PORT.

  IANA is requested to create a GRASP Parameter Registry including
  two registry tables: the GRASP Messages and Options Table and the
  GRASP Objective Names Table. In the the GRASP Messages and Options
  Table, 18 intial values are assigned for M_NOOP, M_DISCOVERY,
  M_RESPONSE, M_REQ_NEG, M_REQ_SYN, M_NEGOTIATE, M_END, M_WAIT,
  M_SYNCH, M_FLOOD, M_INVALID, O_DIVERT, O_ACCEPT, O_DECLINE,
  O_IPv6_LOCATOR, O_IPv4_LOCATOR, O_FQDN_LOCATOR and O_URI_LOCATO. There is
  no initial value assigned in the GRASP Objective Names Table.
 
  All the necessary information is in the IANA considerations document. It is
  clear enough that the IANA will be able to implement it.
 
(18) List any new IANA registries that require Expert Review for future
allocations. Provide any public guidance that the IESG would find useful in
selecting the IANA Experts for these new registries.

  No such registry is requested in this document.
 
(19) Describe reviews and automated checks performed by the Document Shepherd to
validate sections of the document written in a formal language, such as XML
code, BNF rules, MIB definitions, etc.

  There are no such parts to the document.
2017-01-19
09 Sheng Jiang Responsible AD changed to Terry Manderson
2017-01-19
09 Sheng Jiang IETF WG state changed to Submitted to IESG for Publication from WG Document
2017-01-19
09 Sheng Jiang IESG state changed to Publication Requested
2017-01-19
09 Sheng Jiang IESG process started in state Publication Requested
2017-01-17
09 Sheng Jiang Changed consensus to Yes from Unknown
2017-01-17
09 Sheng Jiang Intended Status changed to Proposed Standard from None
2017-01-17
09 Sheng Jiang Changed document writeup
2016-12-16
09 Brian Carpenter New version available: draft-ietf-anima-grasp-09.txt
2016-12-16
09 (System) New version approved
2016-12-16
09 (System) Request for posting confirmation emailed to previous authors: "Carsten Bormann" , "Brian Carpenter" , "Bing Liu"
2016-12-16
09 Brian Carpenter Uploaded new revision
2016-11-15
08 Sheng Jiang Removed from session: IETF-97: anima  Fri-0930
2016-11-15
08 Sheng Jiang Added to session: IETF-97: anima  Wed-0930
2016-11-15
08 Sheng Jiang Added to session: IETF-97: anima  Fri-0930
2016-10-29
08 Brian Carpenter New version available: draft-ietf-anima-grasp-08.txt
2016-10-29
08 (System) New version approved
2016-10-29
08 (System) Request for posting confirmation emailed to previous authors: "Carsten Bormann" , "Brian Carpenter" , "Bing Liu"
2016-10-29
08 Brian Carpenter Uploaded new revision
2016-09-29
07 Sheng Jiang Notification list changed to "Sheng Jiang" <jiangsheng@huawei.com>
2016-09-29
07 Sheng Jiang Document shepherd changed to Sheng Jiang
2016-09-12
07 Brian Carpenter New version available: draft-ietf-anima-grasp-07.txt
2016-09-12
07 Brian Carpenter New version approved
2016-09-12
07 Brian Carpenter Request for posting confirmation emailed to previous authors: anima-chairs@ietf.org, "Carsten Bormann" , "Brian E. Carpenter" , "Bing Liu"
2016-09-12
07 (System) Uploaded new revision
2016-06-26
06 Brian Carpenter New version available: draft-ietf-anima-grasp-06.txt
2016-05-12
05 Brian Carpenter New version available: draft-ietf-anima-grasp-05.txt
2016-03-10
04 Brian Carpenter New version available: draft-ietf-anima-grasp-04.txt
2016-02-23
03 Brian Carpenter New version available: draft-ietf-anima-grasp-03.txt
2016-01-12
02 Brian Carpenter New version available: draft-ietf-anima-grasp-02.txt
2015-10-08
01 Brian Carpenter New version available: draft-ietf-anima-grasp-01.txt
2015-08-16
00 Toerless Eckert This document now replaces draft-carpenter-anima-gdn-protocol instead of None
2015-08-16
00 Brian Carpenter New version available: draft-ietf-anima-grasp-00.txt