diff mbox series

[iproute2-next,v2] ss: display advertised TCP receive window and out-of-order counter

Message ID 01806a230fab4a6122f407fe96486cee2f6318dd.1646317132.git.dcaratti@redhat.com (mailing list archive)
State Accepted
Commit 5e17b715295f76709f4088ae5374ae1cadcc2029
Delegated to: David Ahern
Headers show
Series [iproute2-next,v2] ss: display advertised TCP receive window and out-of-order counter | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Davide Caratti March 3, 2022, 3:19 p.m. UTC
these members of TCP_INFO have been included in v5.4.

tested with:
 # ss -nti

Signed-off-by: Davide Caratti <dcaratti@redhat.com>
---
 misc/ss.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Neal Cardwell March 3, 2022, 3:33 p.m. UTC | #1
On Thu, Mar 3, 2022 at 10:19 AM Davide Caratti <dcaratti@redhat.com> wrote:
>
> these members of TCP_INFO have been included in v5.4.
>
> tested with:
>  # ss -nti
>
> Signed-off-by: Davide Caratti <dcaratti@redhat.com>
> ---
>  misc/ss.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/misc/ss.c b/misc/ss.c
> index f7d369142d93..5e7e84ee819e 100644
> --- a/misc/ss.c
> +++ b/misc/ss.c
> @@ -854,6 +854,8 @@ struct tcpstat {
>         unsigned int        reord_seen;
>         double              rcv_rtt;
>         double              min_rtt;
> +       unsigned int        rcv_ooopack;
> +       unsigned int        snd_wnd;
>         int                 rcv_space;
>         unsigned int        rcv_ssthresh;
>         unsigned long long  busy_time;
> @@ -2654,6 +2656,10 @@ static void tcp_stats_print(struct tcpstat *s)
>                 out(" notsent:%u", s->not_sent);
>         if (s->min_rtt)
>                 out(" minrtt:%g", s->min_rtt);
> +       if (s->rcv_ooopack)
> +               out(" rcv_ooopack:%u", s->rcv_ooopack);
> +       if (s->snd_wnd)
> +               out(" snd_wnd:%u", s->snd_wnd);
>  }
>
>  static void tcp_timer_print(struct tcpstat *s)
> @@ -3088,6 +3094,8 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r,
>                 s.reord_seen = info->tcpi_reord_seen;
>                 s.bytes_sent = info->tcpi_bytes_sent;
>                 s.bytes_retrans = info->tcpi_bytes_retrans;
> +               s.rcv_ooopack = info->tcpi_rcv_ooopack;
> +               s.snd_wnd = info->tcpi_snd_wnd;
>                 tcp_stats_print(&s);
>                 free(s.dctcp);
>                 free(s.bbr_info);
> --

Acked-by: Neal Cardwell <ncardwell@google.com>

Thanks for adding these!

neal
patchwork-bot+netdevbpf@kernel.org March 4, 2022, 4:50 p.m. UTC | #2
Hello:

This patch was applied to iproute2/iproute2-next.git (main)
by David Ahern <dsahern@kernel.org>:

On Thu,  3 Mar 2022 16:19:32 +0100 you wrote:
> these members of TCP_INFO have been included in v5.4.
> 
> tested with:
>  # ss -nti
> 
> Signed-off-by: Davide Caratti <dcaratti@redhat.com>
> 
> [...]

Here is the summary with links:
  - [iproute2-next,v2] ss: display advertised TCP receive window and out-of-order counter
    https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/commit/?id=5e17b715295f

You are awesome, thank you!
diff mbox series

Patch

diff --git a/misc/ss.c b/misc/ss.c
index f7d369142d93..5e7e84ee819e 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -854,6 +854,8 @@  struct tcpstat {
 	unsigned int	    reord_seen;
 	double		    rcv_rtt;
 	double		    min_rtt;
+	unsigned int 	    rcv_ooopack;
+	unsigned int	    snd_wnd;
 	int		    rcv_space;
 	unsigned int        rcv_ssthresh;
 	unsigned long long  busy_time;
@@ -2654,6 +2656,10 @@  static void tcp_stats_print(struct tcpstat *s)
 		out(" notsent:%u", s->not_sent);
 	if (s->min_rtt)
 		out(" minrtt:%g", s->min_rtt);
+	if (s->rcv_ooopack)
+		out(" rcv_ooopack:%u", s->rcv_ooopack);
+	if (s->snd_wnd)
+		out(" snd_wnd:%u", s->snd_wnd);
 }
 
 static void tcp_timer_print(struct tcpstat *s)
@@ -3088,6 +3094,8 @@  static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r,
 		s.reord_seen = info->tcpi_reord_seen;
 		s.bytes_sent = info->tcpi_bytes_sent;
 		s.bytes_retrans = info->tcpi_bytes_retrans;
+		s.rcv_ooopack = info->tcpi_rcv_ooopack;
+		s.snd_wnd = info->tcpi_snd_wnd;
 		tcp_stats_print(&s);
 		free(s.dctcp);
 		free(s.bbr_info);