Hi Jari,

Could you tell us if you think that we have addressed your concerns, and we 
will post the new revision ?

Many Thanks,

JP and Jonathan.

On Sep 16, 2011, at 5:08 PM, Jonathan Hui wrote:

> 
> Hi Jari,
> 
> I think we are converging here as well.  If there are no other comments, we 
> will update the draft based on your review.  See below:
> 
> On Sep 2, 2011, at 2:40 PM, Jari Arkko wrote:
> 
> > Jonathan,
> >
> > Please see below. I think we are converging. The main remaining discussion 
> > item below is the description of what the border router does.
> >
> >>> > Here are my comments in more detail:
> >>> >
> >>> >> Datagrams being forwarded within a RPL domain MUST include a RPL
> >>> >> Option.  For datagrams sourced within a RPL domain, the RPL Option
> >>> >> MAHui,Y be included in the datagram itself.
> >>> >
> >>> > I'm not sure I understand the difference or its motivation. Do you 
> >>> > really mean that a packet might not have the option until it hits the 
> >>> > first router? Or are you just talking about something that happens 
> >>> > internally on a host, but on the wire all packets would still have the 
> >>> > option? Also, since the tunnel (or something else) is used to include 
> >>> > the option for datagrams sourced outside the RPL domain, wouldn't it be 
> >>> > easier to just say this:
> >>> >
> >>> > "Datagrams sent between nodes within an RPL domain MUST include an RPL 
> >>> > Option."
> >>>
> >>> Agree.
> >>>
> >
> > OK
> 
> I spoke too quickly on the comment above.  In fact, the RPL Option is not 
> required when a RPL Source Route Header exists.  With SRH, there is no 
> potential for loops, so the RPL Option is not required.  How about the 
> following text?
> 
> "Datagrams sent between nodes within a RPL domain MUST include a RPL Option 
> or RPL Source Route Header.  Datagrams MAY include both a RPL Option and a 
> RPL Source Route Header."
> 
> >>> >>  For datagrams sourced
> >>> >>   outside a RPL domain, IPv6-in-IPv6 tunneling, as specified in
> >>> >>   [RFC2473 <http://tools.ietf.org/html/rfc2473>] SHOULD be used to 
> >>> >> include a RPL Option.
> >>> >
> >>> > This text should be aligned with whatever conclusion we will have for 
> >>> > the issue that I raised with the other document.
> >>>
> >>> Agree.  See my response to your other review.
> >>>
> >
> > OK
> >
> >>>
> >>> >> To help avoid IP-layer fragmentation, the RPL Option has a maximum
> >>> >> size of RPL_OPTION_MAX_SIZE octets and links within a RPL domain
> >>> >> SHOULD have a MTU of at least 1280 + 44 (outer IP header, Hop-by-Hop
> >>> >> Option header, Option header) + RPL_OPTION_MAX_SIZE + (additional
> >>> >> extension headers or options needed within RPL domain).
> >>> >>
> >>> >
> >>> > There's a same MTU issue here as in the other document.
> >>>
> >>> Agree.  See my response to your other review.
> >>>
> >
> > I have a text suggestion on the other thread now.,
> 
> We will add the suggested text in the next revision.
> 
> >>> >> The action taken by using the RPL Option and the potential set of
> >>> >> sub-TLVs carried within the RPL Option MUST be specified by the RFC
> >>> >> of the protocol that use that option.  No TLVs are defined in this
> >>> >> document.
> >>> >>
> >>> >
> >>> > I think you should define the behavior when a node encounters a sub-TLV 
> >>> > that it does not recognize. E.g., ignore and move on to the next 
> >>> > sub-TLV. Or do you want a stricter policy? In any case, for future 
> >>> > extensions it will be necessary to know how they are treated by legacy 
> >>> > RPL nodes.
> >>>
> >>> Yes, we need to define the behavior.  I'm comfortable with specifying an 
> >>> skip-over-and-continue policy for unknown sub-TLVs.
> >>>
> >
> > OK
> >
> >>> >> In very specific cases, IPv6-in-IPv6 tunneling may be undesirable due
> >>> >> to the added cost and complexity required to process and carry a
> >>> >> datagram with two IPv6 headers.  [I-D.hui-6man-rpl-headers 
> >>> >> <http://tools.ietf.org/html/draft-ietf-6man-rpl-option-03#ref-I-D.hui-6man-rpl-headers>]
> >>> >>  describes
> >>> >> how to avoid using IPv6-in-IPv6 tunneling in such specific cases and
> >>> >> the risks involved.
> >>> >>
> >>> >
> >>> > Again, the same comments as in the other draft. Please delete this 
> >>> > paragraph.
> >>>
> >>> Agree.
> >>>
> >
> > OK
> >
> >
> >>>
> >>> >> For datagrams exiting the RPL domain, RPL Border Routers MUST remove
> >>> >> the RPL Option from the datagram.  If the RPL Option was included
> >>> >> using tunneled mode and the RPL Border Router serves as the tunnel
> >>> >> end-point, removing the outer IPv6 header serves to remove the RPL
> >>> >> Option as well.  Otherwise, the RPL Border Router assumes that the
> >>> >> RPL Option was included using transport mode and MUST remove the RPL
> >>> >> Option from the IPv6 Hop-by-Hop Option header.
> >>> >>
> >>> >
> >>> > The part about removing the RPL option even in a non-tunneled case 
> >>> > relates to the issue of supporting that particular mode of operation.
> >>> >
> >>> > But in addition, I wonder if you should write the above text not in 
> >>> > terms of packet modification operations but rather in terms of 
> >>> > forwarding decision outcomes. Like this, for instance:
> >>> >
> >>> > "For datagrams destined to the RPL Border Router the router processes 
> >>> > the packet in the usual way. For instance, if the RPL Option was 
> >>> > included using tunneled mode and the RPL Border Router serves as the 
> >>> > tunnel end-point, the router removes the outer IPv6 header, at the same 
> >>> > removing the RPL Option as well. Datagrams destined elsewhere within 
> >>> > the same RPL domain are forwarded to the right interface. Datagrams 
> >>> > destined outside the RPL domain are dropped."
> >>>
> >>> The intent was to allow operation where a device within the RPL domain 
> >>> could source a packet destined outside the RPL domain and not use 
> >>> tunneling.  In this case, we would like to simply remove the option at 
> >>> the border router rather than drop the packet.  Do you see cases where 
> >>> removing the option is unacceptable?
> >>>
> >
> > I don't know.
> >
> > But maybe it doesn't matter. If we don't have other alternative 
> > encapsulations than tunneling, the point is moot. And I'm not sure we do. 
> > The two drafts really only describe the tunneling case. Even if you source 
> > a packet from an RPL domain and want to send it to an outside destination, 
> > you'll still have to use both the routing header and the option, no?
> 
> I agree.  As mentioned above, if the packet already includes a RPL routing 
> header, it does not also need to include the RPL option.
> 
> >>> >> 6. Usage of the RPL Option
> >>> >>
> >>> >>   The RPL Option is only for use within a RPL domain.  RPL routers MUST
> >>> >>   process and include the RPL Option when forwarding datagrams to other
> >>> >>   nodes within the RPL domain.  Routers on the edge of a RPL domain
> >>> >>   MUST remove the RPL Option when forwarding datagrams to nodes outside
> >>> >>   the RPL domain.
> >>> >
> >>> > What is it that this section says that is not already covered by 
> >>> > sections 2 and 5:
> >>> >
> >>> > Sect 2: Datagrams being forwarded within a RPL domain MUST include a 
> >>> > RPL Option.
> >>> >
> >>> > Sect 5: ... serves as the tunnel end-point, removing the outer IPv6 
> >>> > header serves to remove the RPL Option as well.  Otherwise, the RPL 
> >>> > Border Router assumes that the RPL Option was included using transport 
> >>> > mode and MUST remove the RPL Option from the IPv6 Hop-by-Hop Option 
> >>> > header.
> >>>
> >>> Agree.  Will remove the redundant text.
> >>>
> >
> > OK
> >
> >>>
> >>> >> This option may be used to mount several potential attacks since
> >>> >> routers may be flooded by bogus datagram containing the RPL option.
> >>> >> It is thus RECOMMENDED for routers to implement a rate limiter for
> >>> >>   datagrams using the RPL Option.
> >>> >
> >>> > Please open this up a bit. What specific danger does flooding by bogus 
> >>> > datagrams and RPL options cause? What would be the default settings for 
> >>> > the rate limiter?
> >>>
> >>> The option contains information that can affect the operation of RPL.  
> >>> For example, an inconsistent Rank value can cause a RPL router to reset 
> >>> its trickle timer.
> >>>
> >>> After some careful thought, I'm not sure specifying a default setting for 
> >>> a rate limiter is the best approach.  Determining what is acceptable vs. 
> >>> unacceptable can vary greatly between different deployments and 
> >>> environments.  But rather than rate limiting, how about the following:
> >>>
> >>>  This option may be used to mount several potential attacks since
> >>>  routers may be flooded by bogus datagrams containing the RPL
> >>>  option.  In particular, an inconsistent Rank value can cause a RPL
> >>>  router to reset its DIO Trickle timer.  Thus, it is RECOMMENDED
> >>>  that a RPL router monitor triggers caused by receiving a RPL
> >>>  option and log conditions when the average rate is higher than
> >>>  expected.
> >>>
> >
> > I like your description of the problem. But given the possibility of some 
> > DIO timer issues, wouldn't it be prudent to actually have some kind of rate 
> > limiting? Maybe not rate limiting of packets with this option, but rate 
> > limiting of packets  causing a trigger to happen?
> 
> How about the following text?
> 
> "In order to avoid any unacceptable impact on network operations, an 
> implementation MAY allow a limit to be placed on the number of triggers 
> caused by receiving a RPL  option, and MAY allow a limit to be placed on the 
> rate of messages sent by a specific neighbor.  It MAY also allow logging an 
> error or sending a notification when a rate threshold is reached."
> 
> >>>
> >>> >>   Opt Data Len:  8-bit field indicating the length of the option, in
> >>> >>         octets, excluding the Option Type and Opt Data Len fields.
> >>> >>
> >>> >>   Down 'O':  1-bit flag as defined in Section 11 of
> >>> >>         [I-D.ietf-roll-rpl 
> >>> >> <http://tools.ietf.org/html/draft-ietf-6man-rpl-option-03#ref-I-D.ietf-roll-rpl>].
> >>> >>
> >>> >>   Rank-Error 'R':  1-bit flag as defined in Section 11 of
> >>> >>         [I-D.ietf-roll-rpl 
> >>> >> <http://tools.ietf.org/html/draft-ietf-6man-rpl-option-03#ref-I-D.ietf-roll-rpl>].
> >>> >>
> >>> >>   Forwarding-Error 'F':  1-bit flag as defined in Section 11 of
> >>> >>         [I-D.ietf-roll-rpl 
> >>> >> <http://tools.ietf.org/html/draft-ietf-6man-rpl-option-03#ref-I-D.ietf-roll-rpl>].
> >>> >>
> >>> >>   RPLInstanceID:  8-bit field as defined in Section 11 of
> >>> >>         [I-D.ietf-roll-rpl 
> >>> >> <http://tools.ietf.org/html/draft-ietf-6man-rpl-option-03#ref-I-D.ietf-roll-rpl>].
> >>> >>
> >>> >>   SenderRank:  16-bit field as defined in Section 11 of
> >>> >>         [I-D.ietf-roll-rpl 
> >>> >> <http://tools.ietf.org/html/draft-ietf-6man-rpl-option-03#ref-I-D.ietf-roll-rpl>].
> >>> >>
> >>> >>   Values within the RPL Option are expected to change en-route.
> >>> >
> >>> > This specification needs to describe what the behavior of a router is 
> >>> > with the content of the option. I think this is easy, you should just 
> >>> > add to the end: "The processing shall follow the rules described in 
> >>> > Section 11.2 of [roll-rpl].
> >>>
> >>> Agree.
> >>>
> >>> > As an aside, the entire Section 11 is marked in roll-rpl as 
> >>> > non-normative. I don't think that's actually right as far as 11.2 goes, 
> >>> > because it contains tons of MUSTs and SHOULDs. Perhaps you want to fix 
> >>> > that in AUTH48...
> >>>
> >>> Right.
> >>>
> > OK
> 
> Thanks.
> 
> --
> Jonathan Hui
> 
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------
> 

--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to