alistair23-linux/net/dccp
Gerrit Renker 59435444a1 dccp: Allow to distinguish original and retransmitted packets
This patch allows the sender to distinguish original and retransmitted packets,
which is in particular needed for the retransmission of DCCP-Requests:
 * the first Request uses ISS (generated in net/dccp/ip*.c), and sets GSS = ISS;
 * all retransmitted Requests use GSS' = GSS + 1, so that the n-th retransmitted
   Request has sequence number ISS + n (mod 48).

To add generic support, the patch reorganises existing code so that:
 * icsk_retransmits == 0     for the original packet and
 * icsk_retransmits = n > 0  for the n-th retransmitted packet
at the time dccp_transmit_skb() is called, via dccp_retransmit_skb().
 
Thanks to Wei Yongjun for pointing this problem out.

Further changes:
----------------
 * removed the `skb' argument from dccp_retransmit_skb(), since sk_send_head
   is used for all retransmissions (the exception is client-Acks in PARTOPEN
   state, but these do not use sk_send_head);
 * since sk_send_head always contains the original skb (via dccp_entail()),
   skb_cloned() never evaluated to true and thus pskb_copy() was never used.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
2008-07-26 11:59:09 +01:00
..
ccids dccp ccid-3: Length of loss intervals 2008-07-13 11:51:40 +01:00
ackvec.c dccp: Fix sparse warnings 2008-06-11 11:19:09 +01:00
ackvec.h
ccid.c
ccid.h
dccp.h dccp: Allow to distinguish original and retransmitted packets 2008-07-26 11:59:09 +01:00
diag.c
feat.c dccp: return -EINVAL on invalid feature length 2008-05-05 13:50:24 -07:00
feat.h
input.c net: convert BUG_TRAP to generic WARN_ON 2008-07-25 21:43:18 -07:00
ipv4.c net: convert BUG_TRAP to generic WARN_ON 2008-07-25 21:43:18 -07:00
ipv6.c net: convert BUG_TRAP to generic WARN_ON 2008-07-25 21:43:18 -07:00
ipv6.h
Kconfig
Makefile
minisocks.c dccp: Bug in initial acknowledgment number assignment 2008-06-11 11:19:10 +01:00
options.c dccp: Upgrade NDP count from 3 to 6 bytes 2008-07-13 11:51:40 +01:00
output.c dccp: Allow to distinguish original and retransmitted packets 2008-07-26 11:59:09 +01:00
probe.c dccp: Fix sparse warnings 2008-06-11 11:19:09 +01:00
proto.c net: convert BUG_TRAP to generic WARN_ON 2008-07-25 21:43:18 -07:00
sysctl.c
timer.c dccp: Allow to distinguish original and retransmitted packets 2008-07-26 11:59:09 +01:00