History

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.

Wei Wang committed 8 years ago

Commit 7ec65371 parent 7e10b655 files · +11 −4Browse files

Showing the changes to include/uapi/linux (1 of 5 files). Show all

Unified · Split

include/uapi/linux/tcp.h+2−0
@@ -239,6 +239,7 @@ struct tcp_info { · 238 unmodified lines
239 __u64 tcpi_bytes_sent; /* RFC4898 tcpEStatsPerfHCDataOctetsOut */239 __u64 tcpi_bytes_sent; /* RFC4898 tcpEStatsPerfHCDataOctetsOut */
240 __u64 tcpi_bytes_retrans; /* RFC4898 tcpEStatsPerfOctetsRetrans */240 __u64 tcpi_bytes_retrans; /* RFC4898 tcpEStatsPerfOctetsRetrans */
241 __u32 tcpi_dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups */241 __u32 tcpi_dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups */
242 __u32 tcpi_reord_seen; /* reordering events seen */
242};243};
243 244
244/* netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */245/* netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */
@@ -264,6 +265,7 @@ enum { · 19 unmodified lines
264 TCP_NLA_BYTES_SENT, /* Data bytes sent including retransmission */265 TCP_NLA_BYTES_SENT, /* Data bytes sent including retransmission */
265 TCP_NLA_BYTES_RETRANS, /* Data bytes retransmitted */266 TCP_NLA_BYTES_RETRANS, /* Data bytes retransmitted */
266 TCP_NLA_DSACK_DUPS, /* DSACK blocks received */267 TCP_NLA_DSACK_DUPS, /* DSACK blocks received */
268 TCP_NLA_REORD_SEEN, /* reordering events seen */
267};269};
268 270
269/* for TCP_MD5SIG socket option */271/* for TCP_MD5SIG socket option */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t