[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [rohc] sigcomp - state_identifier matching an existing one at a STATE-CREATE



Hi Cristian,

The behaviour of the STATE-CREATE instruction is dependent only in part
on whether or not the state is in the same compartment.

If the full 20 bytes of state identifier match another identifier (in
any compartment) but the state itself does not match, then the state
creation fails.

If the full 20 bytes match and the state itself matches then the
behaviour is dependent on the compartment.  If they are not in the same
compartment, a new piece of state is created; if they are in the same
compartment, then the old state is moved so that it is as if it has just
been newly created.

Otherwise the state is created in the compartment in which the request
has been made.

So the answer to your question (assuming that not all 20 bytes match) is
option 1 - create a new state.

The issue for the clash when minimum_access_length bytes are checked
does not arise until state is accessed (at which point the compartment
is unknown).

When the state is accessed, the number of pieces of state with the same
first n bytes of identifier is checked.  If this is greater than 1, then
the STATE-ACCESS fails.  Due to the fact that state is accessed from a
global list (because at the time of access the compartment identifier is
not known), the likelihood of this happening on a server with thousands
of pieces of state is actually greater than one might imagine and is
discussed in detail in section 7 of the implementer's guide
<http://www.ietf.org/internet-drafts/draft-ietf-rohc-sigcomp-impl-guide-
04.txt>.  

I hope this clarifies the situation.

Best regards,

Abbie

> -----Original Message-----
> From: cristian CONSTANTIN [mailto:constantin at fokus.fraunhofer.de] 
> Sent: Saturday, May 14, 2005 11:43 PM
> To: rohc at ietf.org
> Subject: [rohc] sigcomp - state_identifier matching an 
> existing one at a STATE-CREATE
> 
hi!

suppose that a STATE-CREATE tries to create a state with a
state_identifier that matches (taking into account the
minimum_access_length) another state which already exists in the same
compartment.

what should happen?

1. create a new state (even though the state_identifiers will overlap)
2. drop the old one?
3. drop the new one?

bye now!
cristian
-- 
 _          | There are many people who use UNIX or Linux  
(_'_        | who IMHO do not understand UNIX.
  (_'rist   |              --David Korn  
GPG public key at wwwkeys.de.pgp.net
 

_______________________________________________
Rohc mailing list
Rohc at ietf.org
https://www1.ietf.org/mailman/listinfo/rohc