Hi:

    We have an implementation in the Linux kernel using the ROHC-lib.
We've found a problem on the decomp side where the dynamic fields of
a packet are changed, but the option list is not updated.   This occurs only
when we push large-size packets (> 1024) as quickly as possible, thus causing
packet drops and retransmits.   So, it seems like a retransmitted packet's 
options
do not match the option list on the decomp side.  My idea of a fix is on the 
comp
side - when I detect a change in the dynamic parts, I should send an IR_DYN to
update the option list.  When I was looking at the d_tcp.c code,  I saw several 
places
ifdef'd out with "TODO's"  that seem to do similar things.  For example, the 
following
snippet from the code:

#ifdef TODO
        if(tcp_context->tmp_variables.send_tcp_dynamic)
        {
                change_state(context, ROHC_COMP_STATE_IR);
        }
        else
        {
                /* generic function used by the IP-only, UDP and UDP-Lite 
profiles */
                decide_state(context);
        }
#endif

Is the purpose of the above code to refresh the decomp side when changes in the 
dynamic fields are detected?
Have these TODO's been completed?  What needs to be done to make it work?

Thanks and kind regards,

TW
_______________________________________________
Mailing list: https://launchpad.net/~rohc
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~rohc
More help   : https://help.launchpad.net/ListHelp

Reply via email to