diff options
author | Arnaldo Carvalho de Melo <acme@mandriva.com> | 2005-08-21 04:40:16 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2005-08-29 19:03:52 -0400 |
commit | 24117727b753426d85ba09671c24854834f81b2c (patch) | |
tree | 3a72f0f6e92bec1db7cd4431fc04f454ac1d4569 /net/dccp | |
parent | 03ace394ac9bcad38043a381ae5f4860b9c9fa1c (diff) |
[DCCP]: Fix ackno setting in SYNC/SYNCACK packets
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp')
-rw-r--r-- | net/dccp/output.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/net/dccp/output.c b/net/dccp/output.c index 384fd0920983..708fc3c0a969 100644 --- a/net/dccp/output.c +++ b/net/dccp/output.c | |||
@@ -44,15 +44,8 @@ int dccp_transmit_skb(struct sock *sk, struct sk_buff *skb) | |||
44 | int err, set_ack = 1; | 44 | int err, set_ack = 1; |
45 | u64 ackno = dp->dccps_gsr; | 45 | u64 ackno = dp->dccps_gsr; |
46 | 46 | ||
47 | /* | ||
48 | * FIXME: study DCCP_PKT_SYNC[ACK] to see what is the right | ||
49 | * thing to do here... | ||
50 | */ | ||
51 | dccp_inc_seqno(&dp->dccps_gss); | 47 | dccp_inc_seqno(&dp->dccps_gss); |
52 | 48 | ||
53 | dcb->dccpd_seq = dp->dccps_gss; | ||
54 | dccp_insert_options(sk, skb); | ||
55 | |||
56 | switch (dcb->dccpd_type) { | 49 | switch (dcb->dccpd_type) { |
57 | case DCCP_PKT_DATA: | 50 | case DCCP_PKT_DATA: |
58 | set_ack = 0; | 51 | set_ack = 0; |
@@ -62,6 +55,9 @@ int dccp_transmit_skb(struct sock *sk, struct sk_buff *skb) | |||
62 | ackno = dcb->dccpd_seq; | 55 | ackno = dcb->dccpd_seq; |
63 | break; | 56 | break; |
64 | } | 57 | } |
58 | |||
59 | dcb->dccpd_seq = dp->dccps_gss; | ||
60 | dccp_insert_options(sk, skb); | ||
65 | 61 | ||
66 | skb->h.raw = skb_push(skb, dccp_header_size); | 62 | skb->h.raw = skb_push(skb, dccp_header_size); |
67 | dh = dccp_hdr(skb); | 63 | dh = dccp_hdr(skb); |