Subject: [rohc] RoHC-FN List encoding question

From: "Finking, Robert" <[email-masked]>
Date: Tue, 9 Nov 2004 11:46:52 -0000

I was just reading through the slides Carsten posted (thanks Carsten, and
also those who prepared them), and a little flag came up in my mind about an
unanswered question I had on type 0 list encoding, but don't think I ever
got to ask about it before I got dragged off onto other things.

In the XI list, you have a list of either four or eight bit fields, the most
significant bit of which is a flag, X. I had previously been under the
impression that this flag gave an indication of whether or not this item was
  1. either a new table item or an update to an existing item, and so had no
context available, or
  2. already present in the table and so did have context available

The description of list encoding in the current FN draft is based on the
above understanding, which I recall is incorrect. So my question is this:
what does the X bit mean?

I have a vague recollection that it indicates whether or not an item is
present in the list, but that can't be right. What would be the difference
between this XI list:

   X   Index
   1   001
   1   010
   1   100
   1   101

...and this one:

   X   Index
   1   001
   1   010
   0   011
   1   100
   1   101
   0   110

What I'm saying is, what is the point of having a bit to indicate that an
item is present or absent, when you can already indicate presence or absence
by having the item in the list (or not)?

I'm sure there is something basic I have misunderstood here. Can somebody
help me out? I'm hoping to be able to produce a revised list section as a
result of this.

Hope you're all enjoying IETF61!

Thanks in advance

Raffles

_______________________________________________
Rohc mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rohc

---

From: Kristofer Sandlund <[email-masked]>
Date: Tue, 09 Nov 2004 16:06:28 +0100

Hi Robert,

we reworked parts of the list compression yesterday evening, so hold off 
on updating things for now. We'll send you the results when we have 
something a bit more stable.

For your questions, see inline.

>   2. already present in the table and so did have context available

X=1 simply means that this index is being sent in the item field of this 
  list. It does not mean that this is present in the table or not. A 
compressor could choose to send all items with X=1 even if the items 
never change (it would not be very smart, but...)

X=0 the means that the item is not sent in this list packet, but it is 
still present in the decompressed list. Sending X=0 is only allowed if 
the compressor has confidence that the decompressor has this item in its 
table.

> present in the list, but that can't be right. What would be the difference

This would say that the item field of the type 0 list would contain 
items [1, 2, 4, 5], and the decompressed list would contain [1, 2, 4, 5] 
(identical)

>    X   Index

Here, the item field would be [1, 2, 4, 5] and the decompressed list 
would contain [1, 2, 3, 4, 5, 6].

So, the item field of the type 0 list would be identical, but not the 
decompressed list. You're confusing the compressed and uncomrpessed parts.

Hope that explains it.

/Kristofer