Subject: RE: [rohc] SigComp byte copying question

From: "Lajos Zaccomer (IJ/ETH)" <[email-masked]>
Date: Thu, 1 Apr 2004 11:51:33 +0200

Hi Suman,

You're right that the first byte is copied to byte_copy_right, but the next one is copied to byte_copy_right + 1 (unless it is beyond the UDVM). This is because the destination is increased by one before checked against byte_copy_right, so the if condition will never be true in this case. Either you finish the byte copying successfully or reach the end of UDVM with decompression failure.

BR/Zacco

-----Original Message-----
From: [email-masked] [mailto:[email-masked]]On Behalf Of suman
Sent: Thursday, April 01, 2004 6:10 AM
To: Stefan Foeckel; [email-masked]
Subject: Re: [rohc] SigComp byte copying question

hi Stefan,

   If the first address of a byte-copying instruction is byte_copy_right,
then the first byte is copied at byte_copy_right, and the next byte if
copied at byte_copy_left.

thanks
suman

----- Original Message -----
From: "Stefan Foeckel" <[email-masked]>
To: <[email-masked]>
Sent: Thursday, April 01, 2004 3:02 AM
Subject: [rohc] SigComp byte copying question

Hello,

I am looking for some clarification regarding byte copying in SigComp.

Section 8.4 RFC 3320 states:

"... if a byte is copied from/to Address m then the next byte is
copied from/to Address n where n is calculated as follows:

k := m + 1 (modulo 2^16)
If k = byte_copy_right then set n := byte_copy_left, else set n := k
..."

What is the expected destination address, if the first address of a
byte-copying instruction is byte_copy_right ? I would assume it is not
byte_copy_left. Am I right ?

Thanks in advance.
Stefan

--
Mit freundlichen Grüssen         Phone: +49 30 34637141
Stefan Foeckel                   Fax  : +49 30 34638141
http://www.fokus.fraunhofer.de   ICQ  : 46655019

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

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

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

---

From: suman <[email-masked]>
Date: Thu, 01 Apr 2004 17:50:48 +0530

Hi Zacco,
  The existing rule is as follows:

k := m + 1 (modulo 2^16)
If k = byte_copy_right then set n := byte_copy_left, else set n := k
..."
It gives the logic how to calculate the address of where the next byte is to
be copied
under the assumption that a byte is already been copied.

but if we consider the case, where the first byte to be copied is itself at
address byte_copy_right
then the above rule does not hold good...

I think the rule has to be rephrased as follows:
"
... if a byte is copied from/to Address m the actual Address n where n is
calculated as follows:
if (m > byte_copy_right)
    n := byte_copy_left
else
   n:= k..."

I am recommending this rule just to make sure that in all cases, the byte
copy operations should be
within the limits set by the values of byte_copy_left and byte_copy_right.

thanks
suman

----- Original Message -----
From: "Lajos Zaccomer (IJ/ETH)" <[email-masked]>
To: "'suman'" <[email-masked]>; "Stefan Foeckel"
<[email-masked]>; <[email-masked]>
Sent: Thursday, April 01, 2004 3:21 PM
Subject: RE: [rohc] SigComp byte copying question

Hi Suman,

You're right that the first byte is copied to byte_copy_right, but the next
one is copied to byte_copy_right + 1 (unless it is beyond the UDVM). This is
because the destination is increased by one before checked against
byte_copy_right, so the if condition will never be true in this case. Either
you finish the byte copying successfully or reach the end of UDVM with
decompression failure.

BR/Zacco

-----Original Message-----
From: [email-masked] [mailto:[email-masked]]On Behalf Of suman
Sent: Thursday, April 01, 2004 6:10 AM
To: Stefan Foeckel; [email-masked]
Subject: Re: [rohc] SigComp byte copying question

hi Stefan,

thanks
suman

----- Original Message -----
From: "Stefan Foeckel" <[email-masked]>
To: <[email-masked]>
Sent: Thursday, April 01, 2004 3:02 AM
Subject: [rohc] SigComp byte copying question

Hello,

k := m + 1 (modulo 2^16)

Thanks in advance.
Stefan

---

From: Carsten Bormann <[email-masked]>
Date: Thu, 1 Apr 2004 14:40:09 +0200

> I am recommending this rule

Suman,

RFC3320 is an IETF "Proposed Standard", i.e. people are implementing it 
from the specification under the assumption that it is stable.

I agree that there are other ways this could be designed, but since the 
spec seems to be quite clear the way it is, a change seems uncalled for 
unless there is a demonstrated serious interoperability problem caused 
by the current design.

I haven't seen bytecode that would ever cause the pointer to start at 
byte_copy_right, and I assume this is unlikely to occur in practice.
Even if this assumption is false, it *is* easy to work around this 
problem (by spending some more bytes of UDVM code -- which we would 
want to avoid if we were doing this from scratch, but which may be an 
appropriate price to pay for a stable specification).

Gruesse, Carsten