Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 203182
b: refs/heads/master
c: 59b8080
h: refs/heads/master
v: v3
  • Loading branch information
Gerrit Renker authored and David S. Miller committed Jun 26, 2010
1 parent 798027a commit dd069f7
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a7d13fbf85375698879d16f118af77fbfcc2de44
refs/heads/master: 59b80802a8a18b64d38b51aa168253684b2649d5
13 changes: 11 additions & 2 deletions trunk/net/dccp/input.c
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,7 @@ static int dccp_rcv_request_sent_state_process(struct sock *sk,
if (dccp_parse_options(sk, NULL, skb))
return 1;

/* Obtain usec RTT sample from SYN exchange (used by CCID 3) */
/* Obtain usec RTT sample from SYN exchange (used by TFRC). */
if (likely(dp->dccps_options_received.dccpor_timestamp_echo))
dp->dccps_syn_rtt = dccp_sample_rtt(sk, 10 * (tstamp -
dp->dccps_options_received.dccpor_timestamp_echo));
Expand Down Expand Up @@ -535,6 +535,8 @@ static int dccp_rcv_respond_partopen_state_process(struct sock *sk,
const struct dccp_hdr *dh,
const unsigned len)
{
struct dccp_sock *dp = dccp_sk(sk);
u32 sample = dp->dccps_options_received.dccpor_timestamp_echo;
int queued = 0;

switch (dh->dccph_type) {
Expand All @@ -559,7 +561,14 @@ static int dccp_rcv_respond_partopen_state_process(struct sock *sk,
if (sk->sk_state == DCCP_PARTOPEN)
inet_csk_clear_xmit_timer(sk, ICSK_TIME_DACK);

dccp_sk(sk)->dccps_osr = DCCP_SKB_CB(skb)->dccpd_seq;
/* Obtain usec RTT sample from SYN exchange (used by TFRC). */
if (likely(sample)) {
long delta = dccp_timestamp() - sample;

dp->dccps_syn_rtt = dccp_sample_rtt(sk, 10 * delta);
}

dp->dccps_osr = DCCP_SKB_CB(skb)->dccpd_seq;
dccp_set_state(sk, DCCP_OPEN);

if (dh->dccph_type == DCCP_PKT_DATAACK ||
Expand Down
6 changes: 5 additions & 1 deletion trunk/net/dccp/options.c
Original file line number Diff line number Diff line change
Expand Up @@ -529,7 +529,7 @@ int dccp_insert_options(struct sock *sk, struct sk_buff *skb)
if (DCCP_SKB_CB(skb)->dccpd_type == DCCP_PKT_REQUEST) {
/*
* Obtain RTT sample from Request/Response exchange.
* This is currently used in CCID 3 initialisation.
* This is currently used for TFRC initialisation.
*/
if (dccp_insert_option_timestamp(skb))
return -1;
Expand Down Expand Up @@ -562,6 +562,10 @@ int dccp_insert_options_rsk(struct dccp_request_sock *dreq, struct sk_buff *skb)
if (dccp_feat_insert_opts(NULL, dreq, skb))
return -1;

/* Obtain RTT sample from Response/Ack exchange (used by TFRC). */
if (dccp_insert_option_timestamp(skb))
return -1;

if (dreq->dreq_timestamp_echo != 0 &&
dccp_insert_option_timestamp_echo(NULL, dreq, skb))
return -1;
Expand Down

0 comments on commit dd069f7

Please sign in to comment.