Subject: Re: [mobile-ip] MIPv6 Clarification to Type 0 & 2 Routing Headerinterop

From: [email-masked]
Date: Fri, 17 Jan 2003 11:06:43 +0530

Hi,

sorry for bringing this up again

In the new text  "If both a Type 0 and a type 2 routing header are present,
the type 2
routing header should be constructed first and placed after the other
routing header.",
is it necessary to mention the order, even logical order, of constructing
routing headers?
I mean, let the implementation decide on the order, the draft can be more
explicit
on how the transmitted packet should look like if both RH0 and RH2 are
present.

regards
suvidh

                      gabriel montenegro                                                                                                      
                      <[email-masked]>                   To:       Ville Nuorvala <[email-masked]>                                 
                      Sent by:                        cc:       [email-masked]                                                 
                      owner-mobile-ip@sunroof.        Subject:  Re: [mobile-ip] MIPv6 Clarification to Type 0 & 2 Routing Headerinterop       
                      eng.sun.com                                                                                                             

                      16/01/2003 05:41 PM                                                                                                     
                      Please respond to gab                                                                                                   

Ville Nuorvala wrote:
> Good if this has been self evident to all other implementors, but
> the thing could be made even clearer by changing the sentence in
> section 6.4.1:
>
> "If both a Type 0 and a type 2 routing header are present, the type 2
> routing header should follow the other routing header."
>
> to
>
> "If both a Type 0 and a type 2 routing header are present, the type 2
> routing header should be constructed first and placed after the other
> routing header."
>
> This would force the right logical ordering of the headers.

I propose a slightly different (more explicit) wording for this
clarification. I have run this past Ville and he agrees with it:

"If both a type 0 and a type 2 routing header are present,
the type 2 routing header should follow the other routing header.
In such a nested encapsulation the inner (type 2) routing header
is constructed first and then treated as an original packet by
the outer (type 0) routing header construction process."

I'll assume this closes this (unnumbered) issue unless we hear
otherwise.

Remember we will close all remaining issues today at
3pm GMT.

thanks,

-gabriel

---

From: Pekka Savola <[email-masked]>
Date: Fri, 17 Jan 2003 09:01:52 +0200 (EET)

I haven't participated in the discussion but IMO the _only_ sane method 
when processing received packets seem to have no special cases.  That is, 
if type 0 RH is first in the packet, it is processed first; if type 2 RH 
is first in the packet, it's processed first.  Simple as that.

I see no reason to make special cases about the ordering.  The sending
host should put them in the right order for the receiver to parse as
required!

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

---

From: Jari Arkko <[email-masked]>
Date: Sat, 18 Jan 2003 12:41:16 +0200

> is first in the packet, it's processed first.  Simple as that.

Right. That is the case for the receiver. But here we are talking
about what order the sender should use.

> on how the transmitted packet should look like if both RH0 and RH2 are

The text that was agreed on the list was

This has two parts, the first part is about the order of the
headers. I assume this is fine. The second part is about the
order of processing. I assume your complaint is on this (even
if the text is different from what you quoted).

The reason the second part is there is that otherwise it
would be unclear whose address ends up in the IP header.
But we don't really care about the actual processing order
as long as the results are the same. I have changed the
text as follows to make it clearer:

   "... A packet containing such nested encapsulation should
    be created as if the inner (type 2) routing header was
    constructed first and then treated as an original packet
    by the outer (type 2) routing header construction process."

Jari

---

From: Pekka Savola <[email-masked]>
Date: Sat, 18 Jan 2003 15:55:49 +0200 (EET)

>     by the outer (type 2) routing header construction process."

To me, the most logical order would seem to be "outer header processed 
first".  That is, this seems equivalent to IPv6 header chaining -- the 
first ones are always processed first.  Why not the same with routing 
headers?

---

From: gabriel montenegro <[email-masked]>
Date: Sat, 18 Jan 2003 15:08:37 +0100

>    by the outer (type 2) routing header construction process."

Right. The old "as if" trick. One would think it's implied
but no harm in making it explicit.

-gabriel

---

From: gabriel montenegro <[email-masked]>
Date: Sat, 18 Jan 2003 15:52:22 +0100

> first ones are always processed first.  Why not the same with routing 

Because our scenario is more akin to the nested encapsulation scenario?
Because what you suggest is known to cause confusion (like what
started this whole thread: "Starting from the IPv6 header things
go wrong, ending with the header things go right!")?

But really, with the "as if" in place you're welcome to implement
as you wish.

-gabriel