Subject: [rohc] TCP profile - use of compressed_value

From: "Finking, Robert" <[email-masked]>
Date: Fri, 5 Nov 2004 15:56:02 -0000

Hi Guys,

OK, so I've started looking at the TCP profile now, one thing that's come up
a couple of time is an odd use of compressed_value encoding. It's not wrong
per se, it's just odd (though strictly speaking it's currently ambiguous -
more below). I'm referring to cases where compressed_value is used to
indicate "this field is absent from the uncompressed header". For example:

   optional_checksum (flag_value) ===
   {
           uncompressed_format = value,     % 0 or 16 bits
                                 reserved1; % 0 or 16 bits

           format_cs_present = value,     %[ 16 ]
                               reserved1, %[ 0 ]
           {
              let (flag_value == 1);
              value     ::= irregular (16);
              reserved1 ::= uncompressed_value (16, 0);
           };

           format_not_present = value,     %[ 0 ]
                                reserved1, %[ 0 ]
           {
              let (flag_value == 0);
              value     ::= compressed_value (0, 0);
              reserved1 ::= compressed_value (0, 0);
           };
   };

"format_not_present" states that in the *compressed* header, the field has a
value and length of zero. It says *nothing* explicit about its length or
value in the uncompressed header. If we want to say something about the
length of a field in the uncompressed header, I think we need to make it
clear by sticking to uncompressed_value encoding.

The thing that makes this particularly important at present, is that the FN
draft does not define formally what attributes either of the value encoding
methods bind in terms of the "other" format (i.e. compressed attributes for
"uncompressed_value" encoding and vice versa).

I guess this is only a minor point, but thought I may as well flag it up
seeing as I spotted it. It's a good sign that we're getting down to this
level of detail now!

Cheers

Raffles

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

---

From: Carsten Bormann <[email-masked]>
Date: Sat, 6 Nov 2004 14:00:41 +0100

On Nov 05 2004, at 16:56 Uhr, Finking, Robert wrote:

> value in the uncompressed header.

Actually, a while ago we decided that compressed_value defines the 
uncompressed aspect as zero length and uncompressed_value defines the 
compressed aspect as zero length.
Therefore, the following three lines are exactly equivalent in 
semantics:

foo ::= irregular(0);
foo ::= compressed_value(0,0);
foo ::= uncompressed_value(0,0);

Gruesse, Carsten