Subject: [6lo] Compression Reference and Coalescence

From: Tengfei Chang <[email-masked]>
Date: Mon, 25 Jan 2016 12:00:21 +0100

Dear all,

I have some concern on the compression Reference and Coalescence.

In the 6lorh draft, all the hops in RH3 are compressed according to the
compression reference (the source address, root usually). And when doing
Coalescence, the process is kind of like taking the first address in first
RH3 as the reference. The inconsistency between compression reference and
Coalescense may waste some bytes in some cases.

For example:
A packet is issued by root with a compressed RH3 along an A->B->C->D
source route path.

The nodes address are:
root:      bbbb::0000:0000:0000:0001
node A: bbbb::1111:2222:3333:0001
node B: bbbb::1111:2222:3333:0002
node C: bbbb::1111:2222:3333:0003
node D: bbbb::1111:2222:3333:0004

According to the 6lorh draft: all hops in RH3 will be compressed according
to reference, which is the root. The  Packet received by node A is:
----------------------------

Type 3 RH3-6LoRH Size = 2  1111 2222 3333 0001
                                           1111 2222 3333 0002
                                           1111 2222 3333 0003

And which maybe more reasonable packet would be like :
----------------------------

Type 3 RH3-6LoRH Size = 0  1111 2222 3333 0001
Type 0 RH3-6LoRH Size = 1  02
                                            03

Which means the first hop in first RH3 entry is compressed according to the
reference(which is the root in this case) and the rest hops are compressed
according to the first hop in first RH3 entry. For me, this compression way
is more consistent  with the way when doing coalescence.

What do you think?
Tengfei

---

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Tue, 26 Jan 2016 16:23:23 +0000

Hello Tengfei:

The draft is meant to express exactly what your reasonable case shows.
There is an example of that in appendix.
What exactly did I write improperly that it can be understood otherwise?

Take care ;

Pascal

From: 6lo [mailto:[email-masked]] On Behalf Of Tengfei Chang
Sent: lundi 25 janvier 2016 12:00
To: [email-masked]; [email-masked]
Subject: [6lo] Compression Reference and Coalescence

Dear all,

In the 6lorh draft, all the hops in RH3 are compressed according to the compression reference (the source address, root usually). And when doing Coalescence, the process is kind of like taking the first address in first RH3 as the reference. The inconsistency between compression reference and Coalescense may waste some bytes in some cases.

For example:
A packet is issued by root with a compressed RH3 along an A->B->C->D source route path.

The nodes address are:

According to the 6lorh draft: all hops in RH3 will be compressed according to reference, which is the root. The  Packet received by node A is:
----------------------------
Type 3 RH3-6LoRH Size = 2  1111 2222 3333 0001
                                           1111 2222 3333 0002
                                           1111 2222 3333 0003

Which means the first hop in first RH3 entry is compressed according to the reference(which is the root in this case) and the rest hops are compressed according to the first hop in first RH3 entry. For me, this compression way is more consistent  with the way when doing coalescence.

What do you think?
Tengfei

---

From: Tengfei Chang <[email-masked]>
Date: Tue, 26 Jan 2016 17:56:25 +0100

Nice to hear that's what you intended to do!

In  the beginning of section 4.3:
...

   Once the address of the source of the packet is determined, it
   becomes the reference for the compression of the addresses that are
   located in compressed RH3 headers that are present inside the IP-in-
   IP encapsulation in the uncompressed form.

...

When I am understanding the sentence, I am feeling like all the compression
of addresses in RH3 will be compressed according to source address in
IPinIP, which only the first 8 bytes can be elided.

If agree with the reasonable one, it should be the first address in first
RH3 is compressed according to the source address in IPinIP.
Then, all rest address in RH3 will be compressed according to the first
address in RH3.

Make sense?
Tengfei

On Tue, Jan 26, 2016 at 5:23 PM, Pascal Thubert (pthubert) <
[email-masked]> wrote:

> *From:* 6lo [mailto:[email-masked]] *On Behalf Of *Tengfei Chang
> *Sent:* lundi 25 janvier 2016 12:00
> *To:* [email-masked]; [email-masked]
> *Subject:* [6lo] Compression Reference and Coalescence
>
>
>
> Dear all,
>
>
>
> Which means the first hop in first RH3 entry is compressed according to
> the reference(which is the root in this case) and the rest hops are
> compressed according to the first hop in first RH3 entry. For me, this
> compression way is more consistent  with the way when doing coalescence.
>
>
>
> What do you think?
>
> Tengfei
>

---

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Tue, 26 Jan 2016 17:06:29 +0000

I see, and yes, that is misleading.

I need to change that to say the reference to the first is the source of the packet and then the reference for each entry is the previous one when uncompressed (not the first as you suggest but, the one just before it).
So you uncompress an address and it becomes reference to the next that you uncompress, etc… I will raise an ticket. . You’ll find that the algorithm in “5.4.  Popping Headers” decodes exactly that (well hopefully).

Do we agree?

Pascal

From: Tengfei Chang [mailto:[email-masked]]
Sent: mardi 26 janvier 2016 17:56
To: Pascal Thubert (pthubert) <[email-masked]>
Cc: [email-masked]; [email-masked]
Subject: Re: [6lo] Compression Reference and Coalescence

...

When I am understanding the sentence, I am feeling like all the compression of addresses in RH3 will be compressed according to source address in IPinIP, which only the first 8 bytes can be elided.

If agree with the reasonable one, it should be the first address in first RH3 is compressed according to the source address in IPinIP.
Then, all rest address in RH3 will be compressed according to the first address in RH3.

Make sense?
Tengfei

On Tue, Jan 26, 2016 at 5:23 PM, Pascal Thubert (pthubert) <[email-masked]<mailto:[email-masked]>> wrote:
Hello Tengfei:

Take care ;

Pascal

From: 6lo [mailto:[email-masked]<mailto:[email-masked]>] On Behalf Of Tengfei Chang
Sent: lundi 25 janvier 2016 12:00
To: [email-masked]<mailto:[email-masked]>; [email-masked]<mailto:[email-masked]>
Subject: [6lo] Compression Reference and Coalescence

Dear all,

For example:

The nodes address are:

What do you think?
Tengfei

---

From: Tengfei Chang <[email-masked]>
Date: Tue, 26 Jan 2016 18:09:56 +0100

Yes, Pascal. What you are going to say is correct!

I agree +1

Tengfei

On Tue, Jan 26, 2016 at 6:06 PM, Pascal Thubert (pthubert) <
[email-masked]> wrote:

> I need to change that to say the reference to the first is the source of
> the packet and then the reference for each entry is the previous one when
> uncompressed (not the first as you suggest but, the one just before it).
>
> So you uncompress an address and it becomes reference to the next that you
> uncompress, etc… I will raise an ticket. . You’ll find that the algorithm
> in “5.4.  Popping Headers” decodes exactly that (well hopefully).
>
>
>
> Do we agree?
>
>
>
> Pascal
>
>
>
> *From:* Tengfei Chang [mailto:[email-masked]]
> *Sent:* mardi 26 janvier 2016 17:56
> *To:* Pascal Thubert (pthubert) <[email-masked]>
> *Cc:* [email-masked]; [email-masked]
> *Subject:* Re: [6lo] Compression Reference and Coalescence
>
>
>
> When I am understanding the sentence, I am feeling like all the
> compression of addresses in RH3 will be compressed according to source
> address in IPinIP, which only the first 8 bytes can be elided.
>
>
>

---

From: Michael Richardson <[email-masked]>
Date: Tue, 26 Jan 2016 12:47:06 -0500

Pascal Thubert (pthubert) <[email-masked]> wrote:
    > I need to change that to say the reference to the first is the source of the
    > packet and then the reference for each entry is the previous one when

The above paragraph is pretty clear. Use it.

--
Michael Richardson <[email-masked]>, Sandelman Software Works
 -= IPv6 IoT consulting =-

---

From: Tengfei Chang <[email-masked]>
Date: Tue, 26 Jan 2016 19:08:18 +0100

Yes, what I mean this:

    > uncompressed (not the first as you suggest but, the one just before

which you are going to say on the draft is correct. Thanks for correcting!

Tengfei

---

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Tue, 26 Jan 2016 18:17:13 +0000

Does this work then (I added just a few words in between)?

"
   With this specification, the Compression Reference for the first
   address found in an RH3 header is the source of the IPv6 packet, and
   then the reference for each subsequent entry is the address of its
   predecessor once it is uncompressed.
"

Pascal

> -----Original Message-----
> From: Michael Richardson [mailto:[email-masked]]
> Sent: mardi 26 janvier 2016 18:47
> Cc: Tengfei Chang <[email-masked]>; [email-masked]; [email-masked]

---

From: Tengfei Chang <[email-masked]>
Date: Tue, 26 Jan 2016 21:33:04 +0100

Works for me:-)