From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: [PATCH iproute2] ss: add support for delivered and delivered_ce fields Date: Mon, 26 Nov 2018 14:29:53 -0800 Message-ID: <20181126222953.179043-1-edumazet@google.com> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: netdev , Eric Dumazet , Eric Dumazet To: David Ahern , Stephen Hemminger Return-path: Received: from mail-pf1-f175.google.com ([209.85.210.175]:46960 "EHLO mail-pf1-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726296AbeK0JZi (ORCPT ); Tue, 27 Nov 2018 04:25:38 -0500 Received: by mail-pf1-f175.google.com with SMTP id c73so7266762pfe.13 for ; Mon, 26 Nov 2018 14:30:00 -0800 (PST) Sender: netdev-owner@vger.kernel.org List-ID: Kernel support was added in linux-4.18 in commit feb5f2ec6464 ("tcp: export packets delivery info") Tested: ss -ti ... ESTAB 0 2270520 [2607:f8b0:8099:e16::]:47646 [2607:f8b0:8099:e18::]:38953 ts sack cubic wscale:8,8 rto:7 rtt:2.824/0.278 mss:1428 pmtu:1500 rcvmss:536 advmss:1428 cwnd:89 ssthresh:62 bytes_acked:2097871945 segs_out:1469144 segs_in:65221 data_segs_out:1469142 send 360.0Mbps lastsnd:2 lastrcv:99231 lastack:2 pacing_rate 431.9Mbps delivery_rate 246.4Mbps (*) delivered:1469099 delivered_ce:424799 busy:99231ms unacked:44 rcv_space:14280 rcv_ssthresh:65535 notsent:2207688 minrtt:0.228 Signed-off-by: Eric Dumazet --- misc/ss.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/misc/ss.c b/misc/ss.c index e4d6ae489e798419fa6ce6fb0f4b8b0b3232adf6..3aa94f235085512510dca9fd597e8e37aaaf0fd3 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -817,6 +817,8 @@ struct tcpstat { unsigned int fackets; unsigned int reordering; unsigned int not_sent; + unsigned int delivered; + unsigned int delivered_ce; double rcv_rtt; double min_rtt; int rcv_space; @@ -2483,6 +2485,10 @@ static void tcp_stats_print(struct tcpstat *s) if (s->delivery_rate) out(" delivery_rate %sbps", sprint_bw(b1, s->delivery_rate)); + if (s->delivered) + out(" delivered:%u", s->delivered); + if (s->delivered_ce) + out(" delivered_ce:%u", s->delivered_ce); if (s->app_limited) out(" app_limited"); @@ -2829,6 +2835,8 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r, s.busy_time = info->tcpi_busy_time; s.rwnd_limited = info->tcpi_rwnd_limited; s.sndbuf_limited = info->tcpi_sndbuf_limited; + s.delivered = info->tcpi_delivered; + s.delivered_ce = info->tcpi_delivered_ce; tcp_stats_print(&s); free(s.dctcp); free(s.bbr_info); -- 2.20.0.rc0.387.gc7a69e6b6c-goog