net-timestamp: cumulative tcp timestamping fixes
A set of small fixes pointed out just after the merge:
- make tcp_tx_timestamp static
- make tcp_gso_tstamp static
- use before() to compare TCP seqno, instead of cast to u64
- add tstamp to tx_flags in GSO, instead of overwrite tx_flags
- record skb_shinfo(skb)->tskey for all timestamps, also HW.
- optimization in tcp_tx_timestamp:
call sock_tx_timestamp only if a tstamp option is set.
Signed-off-by: Willem de Bruijn <willemb@google.com>
Fixes: 4ed2d765df
("net-timestamp: TCP timestamping")
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
be136ed30a
commit
f066e2b091
@@ -14,12 +14,12 @@
|
||||
#include <net/tcp.h>
|
||||
#include <net/protocol.h>
|
||||
|
||||
void tcp_gso_tstamp(struct sk_buff *skb, unsigned int ts_seq, unsigned int seq,
|
||||
unsigned int mss)
|
||||
static void tcp_gso_tstamp(struct sk_buff *skb, unsigned int ts_seq,
|
||||
unsigned int seq, unsigned int mss)
|
||||
{
|
||||
while (skb) {
|
||||
if (ts_seq < (__u64) seq + mss) {
|
||||
skb_shinfo(skb)->tx_flags = SKBTX_SW_TSTAMP;
|
||||
if (before(ts_seq, seq + mss)) {
|
||||
skb_shinfo(skb)->tx_flags |= SKBTX_SW_TSTAMP;
|
||||
skb_shinfo(skb)->tskey = ts_seq;
|
||||
return;
|
||||
}
|
||||
|
Reference in New Issue
Block a user