Issue143

Issue Title GIST Hop Count processing rules
Document: GIST Protocol Specification v11 Section: 4.3.1, 4.3.2, 4.3.3, 4.3.4, 5.1, 5.2.1, A.1, A.4.4.2
Category: Technical Priority: Must Fix
Status: Text Proposed

Created on 2006-10-25.15:23:26 by reh, last changed 2006-11-06.19:37:33.

Messages
msg451 Author: reh Date: 2006-11-06.19:37:33
The hop count processing rules have been clarified in multiple places, to follow
the rules on validation and decrementing through the processing chain; some text
has just been moved, but there are also protocol differences.

In 4.3.1 (receive):

   Immediately after reception, the GIST hop count is checked.  Any
   message with a GIST hop count of zero MUST be rejected with a "Hop
   Limit Exceeded" error message (Appendix A.4.4.2), following which the
   GIST hop count MUST be decremented by one.

In 4.3.2 (process):

   In the case of a Query, there is an interaction with the signalling
   application to determine which of two courses to follow.  The first
   option (peering) MUST be chosen if the node is the endpoint of the
   flow being signalled for, or if the GIST hop count has reached zero.

(and some old text deleted)

In 4.3.3 (transmission):

   Signalling applications may specify a value to be used for the GIST
   hop count; otherwise, GIST selects a value itself.  GIST MUST reject
   messages for which the signalling application has specified a value
   of zero.  Although the GIST hop count is only intended to control
   message looping at the GIST level, the GIST API (Appendix B) provides
   the incoming hop count to the NSLPs, which can preserve it on
   outgoing messages as they are forwarded further along the path.  This
   provides a lightweight loop-control mechanism for NSLPs which do not
   define anything more sophisticated.  Note that the count will be
   decremented on forwarding through every GIST-aware node.  Initial
   values for the GIST hop count are an implementation matter; one
   suitable approach is to use the same algorithm as for IP TTL setting
   [1].

In 4.3.4 (forward):

some text deleted.

In other sections, some minor changes to fix semantics about what the GHC means
and how it is interpreted.
msg406 Author: reh Date: 2006-10-25.15:23:26
The rules for hop count processing are incorrect, in that the implication is
that sending a message with GHC=1 is valid, but this will be decremented to 0 on
receipt and an error message generated (A.4.4.2). 

4.3.4 mixes the question of when to send an error message with the implication
that a node can detect if a loop has been formed (it cannot). We can only be
certain about sending the message.

No guidance is given on how to set the GHC on transmission.

Finally, note that the GHC does not actually prevent looping; it controls
looping (prevents infinite looping).
History
Date User Action Args
2006-11-06 19:37:34rehsetstatus: No Discussion -> Text Proposed
messages: + msg451
2006-10-25 15:45:22adminsetsection: 4.3.1, 4.3.2, 4.3.4, 5.1, 5.2.1, A.1, A.4.4.2 -> 4.3.1, 4.3.2, 4.3.3, 4.3.4, 5.1, 5.2.1, A.1, A.4.4.2
2006-10-25 15:33:44adminsetsection: 4.3.2, 4.3.4, 5.1, 5.2.1, A.1, A.4.4.2 -> 4.3.1, 4.3.2, 4.3.4, 5.1, 5.2.1, A.1, A.4.4.2
2006-10-25 15:33:19adminsetsection: 4.3.1, 4.3.2, 4.3.4, 5.1, 5.2.1, A.1, A.4.4.2 -> 4.3.2, 4.3.4, 5.1, 5.2.1, A.1, A.4.4.2
2006-10-25 15:32:07adminsetsection: 4.3.2, 4.3.4, 5.1, 5.2.1, A.1, A.4.4.2 -> 4.3.1, 4.3.2, 4.3.4, 5.1, 5.2.1, A.1, A.4.4.2
2006-10-25 15:23:26rehcreate