dccp ccid-3: Simplify and consolidate tx_parse_options
authorGerrit Renker <gerrit@erg.abdn.ac.uk>
Tue, 14 Sep 2010 18:21:29 +0000 (20:21 +0200)
committerGerrit Renker <gerrit@erg.abdn.ac.uk>
Wed, 15 Sep 2010 10:36:02 +0000 (12:36 +0200)
commit37efb03fbd0935f5f85a0538c46b53be5cf40504
treec0335ed0e231bbf081442d380e5dd945d51e0e80
parentd2c726309d88df3c5568486e4b5b9e4c3150903f
dccp ccid-3: Simplify and consolidate tx_parse_options

This simplifies and consolidates the TX option-parsing code:

 1. The Loss Intervals option is not currently used, so dead code related to
    this option is removed. I am aware of no plans to support the option, but
    if someone wants to implement it (e.g. for inter-op tests), it is better
    to start afresh than having to also update currently unused code.

 2. The Loss Event and Receive Rate options have a lot of code in common (both
    are 32 bit, both have same length etc.), so this is consolidated.

 3. The test against GSR is not necessary, because
    - on first loading CCID3, ccid_new() zeroes out all fields in the socket;
    - ccid3_hc_tx_packet_recv() treats 0 and ~0U equivalently, due to

pinv = opt_recv->ccid3or_loss_event_rate;
if (pinv == ~0U || pinv == 0)
hctx->p = 0;

    - as a result, the sequence number field is removed from opt_recv.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
net/dccp/ccids/ccid3.c
net/dccp/ccids/ccid3.h