summaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp.c
diff options
context:
space:
mode:
authorDavid S. Miller2016-04-28 22:06:11 +0200
committerDavid S. Miller2016-04-28 22:06:11 +0200
commit2a9e8438a29c00432ae14eaceb088b965f8ac290 (patch)
tree8ac718cd55a6ec72241c647e38856d904797a078 /net/ipv4/tcp.c
parentnet: snmp: fix 64bit stats on 32bit arches (diff)
parenttcp: remove SKBTX_ACK_TSTAMP since it is redundant (diff)
downloadkernel-qcow2-linux-2a9e8438a29c00432ae14eaceb088b965f8ac290.tar.gz
kernel-qcow2-linux-2a9e8438a29c00432ae14eaceb088b965f8ac290.tar.xz
kernel-qcow2-linux-2a9e8438a29c00432ae14eaceb088b965f8ac290.zip
Merge branch 'tcp-redundant-checks'
Soheil Hassas Yeganeh says: ==================== tcp: simplify ack tx timestamps v2: - Fully remove SKBTX_ACK_TSTAMP, as suggested by Willem de Bruijn. This patch series aims at removing redundant checks and fields for ack timestamps for TCP. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp.c')
-rw-r--r--net/ipv4/tcp.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 040f35e7efe0..91993782a947 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -430,14 +430,15 @@ EXPORT_SYMBOL(tcp_init_sock);
static void tcp_tx_timestamp(struct sock *sk, u16 tsflags, struct sk_buff *skb)
{
- if (sk->sk_tsflags || tsflags) {
+ if (tsflags) {
struct skb_shared_info *shinfo = skb_shinfo(skb);
struct tcp_skb_cb *tcb = TCP_SKB_CB(skb);
sock_tx_timestamp(sk, tsflags, &shinfo->tx_flags);
- if (shinfo->tx_flags & SKBTX_ANY_TSTAMP)
+ if (tsflags & SOF_TIMESTAMPING_TX_ACK)
+ tcb->txstamp_ack = 1;
+ if (tsflags & SOF_TIMESTAMPING_TX_RECORD_MASK)
shinfo->tskey = TCP_SKB_CB(skb)->seq + skb->len - 1;
- tcb->txstamp_ack = !!(shinfo->tx_flags & SKBTX_ACK_TSTAMP);
}
}