summaryrefslogtreecommitdiffstats
path: root/include/linux/skbuff.h
diff options
context:
space:
mode:
authorIlpo Järvinen2007-06-16 00:08:43 +0200
committerDavid S. Miller2007-06-16 00:08:43 +0200
commitb9ce204f0a265f819d10c943a607746abb62f245 (patch)
tree45078d076bcd952d8820c590653939b312d06ac2 /include/linux/skbuff.h
parentMerge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fix (diff)
downloadkernel-qcow2-linux-b9ce204f0a265f819d10c943a607746abb62f245.tar.gz
kernel-qcow2-linux-b9ce204f0a265f819d10c943a607746abb62f245.tar.xz
kernel-qcow2-linux-b9ce204f0a265f819d10c943a607746abb62f245.zip
[TCP]: Congestion control API RTT sampling fix
Commit 164891aadf1721fca4dce473bb0e0998181537c6 broke RTT sampling of congestion control modules. Inaccurate timestamps could be fed to them without providing any way for them to identify such cases. Previously RTT sampler was called only if FLAG_RETRANS_DATA_ACKED was not set filtering inaccurate timestamps nicely. In addition, the new behavior could give an invalid timestamp (zero) to RTT sampler if only skbs with TCPCB_RETRANS were ACKed. This solves both problems. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/skbuff.h')
-rw-r--r--include/linux/skbuff.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index e7367c74e1bb..6f0b2f7d0010 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -1579,6 +1579,10 @@ static inline ktime_t net_timedelta(ktime_t t)
return ktime_sub(ktime_get_real(), t);
}
+static inline ktime_t net_invalid_timestamp(void)
+{
+ return ktime_set(0, 0);
+}
extern __sum16 __skb_checksum_complete_head(struct sk_buff *skb, int len);
extern __sum16 __skb_checksum_complete(struct sk_buff *skb);