dccp: Allow to distinguish original and retransmitted packets

Previous thread: net: missing bits of net-namespace / sysctl by Linux Kernel Mailing List on Monday, July 28, 2008 - 9:59 am. (1 message)

Next thread: ACPI/CPUIDLE: prevent setting pm_idle to NULL by Linux Kernel Mailing List on Monday, July 28, 2008 - 9:59 am. (1 message)
From: Linux Kernel Mailing List
Date: Monday, July 28, 2008 - 9:59 am

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=594354...
Commit:     59435444a13ed52d3444c5df26b73d3086bcd57b
Parent:     cdec7e50a4896c5197d5575d9ca635eea6825149
Author:     Gerrit Renker <gerrit@erg.abdn.ac.uk>
AuthorDate: Sat Jul 26 11:59:09 2008 +0100
Committer:  Gerrit Renker <gerrit@erg.abdn.ac.uk>
CommitDate: Sat Jul 26 11:59:09 2008 +0100

    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>
---
 net/dccp/dccp.h   |    2 +-
 net/dccp/output.c |   20 ++++++++++++++++----
 net/dccp/timer.c  |   20 ++++----------------
 3 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/net/dccp/dccp.h b/net/dccp/dccp.h
index 743d85f..1c2e3ec 100644
--- a/net/dccp/dccp.h
+++ ...
Previous thread: net: missing bits of net-namespace / sysctl by Linux Kernel Mailing List on Monday, July 28, 2008 - 9:59 am. (1 message)

Next thread: ACPI/CPUIDLE: prevent setting pm_idle to NULL by Linux Kernel Mailing List on Monday, July 28, 2008 - 9:59 am. (1 message)