← Back to team overview

rohc team mailing list archive

Re: Bug in compressor for bidirecctional mode

 

Hi Francisco,

> I think I found a bug in the implementation of the compressor state
> logic in bidirectional mode.
> 
> According to RFC3095,  paragraph 5.4.1.1.1, when the compressor is in
> Second Order (SO) state receives a STATIC-NACK it shall go back to IR
> state.
> 
> However in the implementation in the function decide_state() defined
> in c_generic.c the compressor goes back to First Order (FO) state and
> not IR.
> 
> Is my understanding correct?

The feedback logic is not handled by the decide_state() function but by
the c_generic_feedback() function. In the c_generic_feedback() 
function, the following logic is present :

	switch(feedback->acktype)
	{
		...
		case STATIC_NACK:
			rohc_debugf(2, "static nack\n");
			change_state(context, IR);
			break;
		...
	}

The above code is called for a ROHC compressor if the associated ROHC
decompressor decodes some valid feedback bytes sent by the ROHC
compressor at the other side of the link.

Regards,

Didier Barvaux
Viveris Technologies
http://www.tech.viveris.com/opensource/



References