diff options
author | Arnaldo Carvalho de Melo <acme@mandriva.com> | 2005-08-17 02:10:59 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2005-08-29 19:01:50 -0400 |
commit | e92ae93a8aa66aea12935420cb22d4df1c18d023 (patch) | |
tree | 61ffc292a8e437f7d44bbfe00c4e052f7488dd25 /net/dccp/output.c | |
parent | ba602a816132dcc66e875dddf2c62512a9f6f8cb (diff) |
[DCCP]: Send SYNCACK packets in response to SYNC packets
Also fix step 6 when receiving SYNC or SYNCACK packets, i.e. we were not using
the updated swl.
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp/output.c')
-rw-r--r-- | net/dccp/output.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/dccp/output.c b/net/dccp/output.c index dcc061bed924..384fd0920983 100644 --- a/net/dccp/output.c +++ b/net/dccp/output.c | |||
@@ -404,7 +404,8 @@ void dccp_send_delayed_ack(struct sock *sk) | |||
404 | sk_reset_timer(sk, &icsk->icsk_delack_timer, timeout); | 404 | sk_reset_timer(sk, &icsk->icsk_delack_timer, timeout); |
405 | } | 405 | } |
406 | 406 | ||
407 | void dccp_send_sync(struct sock *sk, u64 seq) | 407 | void dccp_send_sync(struct sock *sk, const u64 seq, |
408 | const enum dccp_pkt_type pkt_type) | ||
408 | { | 409 | { |
409 | /* | 410 | /* |
410 | * We are not putting this on the write queue, so | 411 | * We are not putting this on the write queue, so |
@@ -420,7 +421,7 @@ void dccp_send_sync(struct sock *sk, u64 seq) | |||
420 | /* Reserve space for headers and prepare control bits. */ | 421 | /* Reserve space for headers and prepare control bits. */ |
421 | skb_reserve(skb, MAX_DCCP_HEADER); | 422 | skb_reserve(skb, MAX_DCCP_HEADER); |
422 | skb->csum = 0; | 423 | skb->csum = 0; |
423 | DCCP_SKB_CB(skb)->dccpd_type = DCCP_PKT_SYNC; | 424 | DCCP_SKB_CB(skb)->dccpd_type = pkt_type; |
424 | DCCP_SKB_CB(skb)->dccpd_seq = seq; | 425 | DCCP_SKB_CB(skb)->dccpd_seq = seq; |
425 | 426 | ||
426 | skb_set_owner_w(skb, sk); | 427 | skb_set_owner_w(skb, sk); |