tcp: add stat of data packet reordering events
Introduce a new TCP stats to record the number of reordering events seen and expose it in both tcp_info (TCP_INFO) and opt_stats (SOF_TIMESTAMPING_OPT_STATS). Application can use this stats to track the frequency of the reordering events in addition to the existing reordering stats which tracks the magnitude of the latest reordering event. Note: this new stats tracks reordering events triggered by ACKs, which could often be fewer than the actual number of packets being delivered out-of-order. Signed-off-by: Wei Wang <weiwan@google.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Acked-by: Neal Cardwell <ncardwell@google.com> Acked-by: Soheil Hassas Yeganeh <soheil@google.com> Acked-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
7e10b6554f
commit
7ec65372ca
@@ -220,8 +220,7 @@ struct tcp_sock {
|
||||
#define TCP_RACK_RECOVERY_THRESH 16
|
||||
u8 reo_wnd_persist:5, /* No. of recovery since last adj */
|
||||
dsack_seen:1, /* Whether DSACK seen after last adj */
|
||||
advanced:1, /* mstamp advanced since last lost marking */
|
||||
reord:1; /* reordering detected */
|
||||
advanced:1; /* mstamp advanced since last lost marking */
|
||||
} rack;
|
||||
u16 advmss; /* Advertised MSS */
|
||||
u8 compressed_ack;
|
||||
@@ -267,6 +266,7 @@ struct tcp_sock {
|
||||
u8 ecn_flags; /* ECN status bits. */
|
||||
u8 keepalive_probes; /* num of allowed keep alive probes */
|
||||
u32 reordering; /* Packet reordering metric. */
|
||||
u32 reord_seen; /* number of data packet reordering events */
|
||||
u32 snd_up; /* Urgent pointer */
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user