Subject: Re: [6lo] GHC: Comments regarding the initial dictionary.

From: Carsten Bormann <[email-masked]>
Date: Thu, 19 Jun 2014 08:05:55 +0200

Hi Thomas,

these are very good comments, and I apologize for only getting to them now.

> In my opinion the Upper-Layer Packet Length shall not be a part of the
> initial dictionary.

I agree that this might complicate the decompressor beyond what is acceptable for a very constrained device.

It turns out that both DTLS and PANA benefit from the embedded length as defined now, so taking this out makes the compression slightly worse for these formats.  But having a perfect compression ratio never was the intention of GHC.

In other cases, reducing the length of the predefined dictionary actually is a boon, as it allows shorter references to the juicy material in there.

> […] Since sequences of zeros can be efficiently compressed
> using the 1000nnnn code byte my gut feeling is that a carefully chosen
> initial dictionary with fewer zeros could result in higher compression
> efficiency.

Indeed.  I would not zero out that part, but simply remove it (see above).
So GHC would no longer reference the pseudo-header concept from RFC 2460, but would simply say the IP source and destination addresses of the encapsulating header are used as the initial 32 bytes of the predefined dictionary, followed by the static part.

> [..]. In RFC 6282 the
> term "encapsulating header" is used 

Aligning the terminology is good!

I’ll play a bit more with the static part of the predefined dictionary (the change to the dynamic part may throw off something there) and then submit an updated version.

Grüße, Carsten

---

From: Ulrich Herberg <[email-masked]>
Date: Thu, 19 Jun 2014 10:03:40 -0700

Thanks Carsten for submitting this new revision, addressing Thomas'
review and my editorial suggestions. Thomas, could you please review
this new update?

Minor nits: When you submit an updated version, change

OLD
       The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
       NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and
       "OPTIONAL" in this document are to be interpreted as described in
       RFC 2119.
NEW
       The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
       NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
       RECOMMENDED",  "MAY", and "OPTIONAL" in this document are to
       be interpreted as described in RFC 2119.

(as per the RFC2119 errata)

Also, please update the following reference:
draft-bormann-6lowpan-roadmap-04 -->
draft-bormann-6lo-6lowpan-roadmap-00  (replaced-by)

Regards
Ulrich

On Wed, Jun 18, 2014 at 11:05 PM, Carsten Bormann <[email-masked]> wrote:
> _______________________________________________
> 6lo mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/6lo

---

From: Carsten Bormann <[email-masked]>
Date: Thu, 19 Jun 2014 21:49:44 +0200

On 19 Jun 2014, at 19:03, Ulrich Herberg <[email-masked]> wrote:

> Minor nits

Thanks.
Done in SVN*), will submit with next respin.

Grüße, Carsten

*) http://svn.tools.ietf.org/svn/wg/6lo/ghc/draft-ietf-6lo-ghc-xx.xml

---

From: Thomas Björklund <[email-masked]>
Date: Fri, 27 Jun 2014 14:06:58 +0200

> review and my editorial suggestions. Thomas, could you please review

I have reviewed the changes introduced in draft-ietf-6lo-ghc-01.txt and I think they make sense. As
I, and also Carsten, have mentioned before one could spend some time trying to improve the static
dictionary, however since I have no ideas right now how to improve it I think it should be left as
it is for now. I have no further technical or editorial comments.

/Thomas, Effnet AB.