aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@mandriva.com>2005-08-13 20:34:23 -0300
committerDavid S. Miller <davem@sunset.davemloft.net>2005-08-29 15:59:17 -0700
commitc173437669967301facff151bfeb7bae67354e4c (patch)
tree87f041617855039182e3c1e6bb0d22945f218415
parent[NETFILTER]: Remove tasklist_lock abuse in ipt{,6}owner (diff)
downloadlinux-dev-c173437669967301facff151bfeb7bae67354e4c.tar.xz
linux-dev-c173437669967301facff151bfeb7bae67354e4c.zip
[PACKET_HISTORY]: Add dccphtx_rtt and rename the win_count fields
As requested by Ian. Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com> Signed-off-by: Ian McDonald <iam4@cs.waikato.ac.nz> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/dccp/ccids/ccid3.c22
-rw-r--r--net/dccp/packet_history.h13
2 files changed, 18 insertions, 17 deletions
diff --git a/net/dccp/ccids/ccid3.c b/net/dccp/ccids/ccid3.c
index 80f12c990c00..edf9740d8d82 100644
--- a/net/dccp/ccids/ccid3.c
+++ b/net/dccp/ccids/ccid3.c
@@ -1004,7 +1004,7 @@ static int ccid3_hc_tx_send_packet(struct sock *sk,
/* Can we send? if so add options and add to packet history */
if (rc == 0)
- new_packet->dccphtx_win_count =
+ new_packet->dccphtx_ccval =
DCCP_SKB_CB(skb)->dccpd_ccval =
hctx->ccid3hctx_last_win_count;
out:
@@ -1060,7 +1060,7 @@ static void ccid3_hc_tx_packet_sent(struct sock *sk, int more, int len)
min_t(unsigned long, quarter_rtt, 5)) % 16;
ccid3_pr_debug("%s, sk=%p, window changed from %u to %u!\n",
dccp_role(sk), sk,
- packet->dccphtx_win_count,
+ packet->dccphtx_ccval,
hctx->ccid3hctx_last_win_count);
}
/* COMPLIANCE_END */
@@ -1068,9 +1068,10 @@ static void ccid3_hc_tx_packet_sent(struct sock *sk, int more, int len)
ccid3_pr_debug("%s, sk=%p, packet sent (%llu,%u)\n",
dccp_role(sk), sk,
packet->dccphtx_seqno,
- packet->dccphtx_win_count);
+ packet->dccphtx_ccval);
#endif
hctx->ccid3hctx_idle = 0;
+ packet->dccphtx_rtt = hctx->ccid3hctx_rtt;
packet->dccphtx_sent = 1;
} else
ccid3_pr_debug("%s, sk=%p, seqno=%llu NOT inserted!\n",
@@ -1489,11 +1490,10 @@ trim_history:
step = 2;
/* OK, find next data packet */
num_later = 1;
- win_count = entry->dccphrx_win_count;
+ win_count = entry->dccphrx_ccval;
break;
case 2:
- tmp = (win_count -
- entry->dccphrx_win_count);
+ tmp = win_count - entry->dccphrx_ccval;
if (tmp < 0)
tmp += TFRC_WIN_COUNT_LIMIT;
if (tmp > TFRC_WIN_COUNT_PER_RTT + 1) {
@@ -1553,7 +1553,7 @@ static void ccid3_hc_rx_send_feedback(struct sock *sk)
}
do_gettimeofday(&(hcrx->ccid3hcrx_tstamp_last_feedback));
- hcrx->ccid3hcrx_last_counter = packet->dccphrx_win_count;
+ hcrx->ccid3hcrx_last_counter = packet->dccphrx_ccval;
hcrx->ccid3hcrx_seqno_last_counter = packet->dccphrx_seqno;
hcrx->ccid3hcrx_bytes_recv = 0;
@@ -1645,11 +1645,11 @@ static u32 ccid3_hc_rx_calc_first_li(struct sock *sk)
switch (step) {
case 0:
tstamp = entry->dccphrx_tstamp;
- win_count = entry->dccphrx_win_count;
+ win_count = entry->dccphrx_ccval;
step = 1;
break;
case 1:
- interval = win_count - entry->dccphrx_win_count;
+ interval = win_count - entry->dccphrx_ccval;
if (interval < 0)
interval += TFRC_WIN_COUNT_LIMIT;
if (interval > 4)
@@ -1816,7 +1816,7 @@ static void ccid3_hc_rx_detect_loss(struct sock *sk)
}
if (seq_loss != DCCP_MAX_SEQNO + 1)
- win_loss = a_loss->dccphrx_win_count;
+ win_loss = a_loss->dccphrx_ccval;
out_update_li:
ccid3_hc_rx_update_li(sk, seq_loss, win_loss);
@@ -1918,7 +1918,7 @@ static void ccid3_hc_rx_packet_recv(struct sock *sk, struct sk_buff *skb)
return;
}
- win_count = packet->dccphrx_win_count;
+ win_count = packet->dccphrx_ccval;
ins = ccid3_hc_rx_add_hist(sk, packet);
diff --git a/net/dccp/packet_history.h b/net/dccp/packet_history.h
index 565dc96506e9..0056525a656c 100644
--- a/net/dccp/packet_history.h
+++ b/net/dccp/packet_history.h
@@ -47,15 +47,16 @@
struct dccp_tx_hist_entry {
struct list_head dccphtx_node;
u64 dccphtx_seqno:48,
- dccphtx_win_count:8,
+ dccphtx_ccval:4,
dccphtx_sent:1;
+ u32 dccphtx_rtt;
struct timeval dccphtx_tstamp;
};
struct dccp_rx_hist_entry {
struct list_head dccphrx_node;
u64 dccphrx_seqno:48,
- dccphrx_win_count:4,
+ dccphrx_ccval:4,
dccphrx_type:4;
u32 dccphrx_ndp; /* In fact it is from 8 to 24 bits */
struct timeval dccphrx_tstamp;
@@ -136,10 +137,10 @@ static inline struct dccp_rx_hist_entry *
if (entry != NULL) {
const struct dccp_hdr *dh = dccp_hdr(skb);
- entry->dccphrx_seqno = DCCP_SKB_CB(skb)->dccpd_seq;
- entry->dccphrx_win_count = dh->dccph_ccval;
- entry->dccphrx_type = dh->dccph_type;
- entry->dccphrx_ndp = ndp;
+ entry->dccphrx_seqno = DCCP_SKB_CB(skb)->dccpd_seq;
+ entry->dccphrx_ccval = dh->dccph_ccval;
+ entry->dccphrx_type = dh->dccph_type;
+ entry->dccphrx_ndp = ndp;
do_gettimeofday(&(entry->dccphrx_tstamp));
}