On Mon, Nov 26, 2018 at 2:29 PM, Eric Dumazet <eduma...@google.com> wrote:
> 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 <eduma...@google.com>
Acked-by: Yuchung Cheng <ych...@google.com>

Thank you Eric!
> ---
>  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
>

Reply via email to