← Back to team overview

rohc team mailing list archive

Re: ROHC TCP dynamic field changes

 

Didier:

In a previous email I sent you the packet that I captured that caused my problems and the option list
associated with the packet:


        Incoming ROHC packet (supposed to be a SACK):

	0xfa 0x8f 0xf4 0x00 0xb2 0x6f 0x83 0x56
	0x4a 0x27 0xd8 0x29 0x1d 0x19 0xed 0x85
	0x28 0x49 0xc5 0xba 0x4a 0xc5 0xba 0x4a
	0x01 0x0b 0x50 0x05 0xa8

      After decompression:

	doff = 8  len = 41

	0x13 0x88 0xd9 0x03 0x6f 0x83 0x56 0x4a
	0x27 0xd8 0x1d 0xcd 0x80 0x10 0x1a 0x19
	 0x28 0x51 0x00 0x00 0x01 0x01 0x08 0x0a
	 0x00 0x05 0xba 0x4a 0x00 0x05 0xba 0x4a
	 0x02 0x1c 0x48 0x05 0xa8 0x0b 0x50 0x05
	 0xa8

	There are 9 additional bytes at the end 
	that are not decompressed, because the
	option list stops at the timestamp.
	
     The option list:

	0x01 0x01 0x08 0xff 0xff 0xff 0xff 0xff
	0xff 0xff 0xff  0xff 0xff  0xff  0xff  0xff

You have mentioned that the timestamp option field seems to be malformed.  So,
I disabled the timestamp option and re-ran the test.  The problem still occurs at the
same place in tcp_decode_irregular_tcp.  The option list and the decompressed code
look like this now:

	0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
               0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff

    But the decompressed packet still shows some extra bytes:

      	0x13 0x88 0xd9 0x03 0x21 0x44 0xc1 0xa1
	0x40 0xc3 0x8d 0xb0 0x50 0x10 0x08 0xea
	0x28 0x3d 0x00 0x00 0x01 0xff  0xff  0xff
	0xd2 0x60 0x05 0xb4

When I disable the sack alone, I get the failure
to decompress TCP/rnd_6 errors.

When I disable both the timestamp and sack, then
my test runs flawlessly over 5 nodes.

Should I be looking at the compressor's process on
the timestamp and sack?

Thanks,

TW



Follow ups

References