All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH iproute2] ss: add support for delivered and delivered_ce fields
@ 2018-11-26 22:29 Eric Dumazet
  2018-11-26 22:37 ` Yuchung Cheng
  2018-11-29  0:01 ` Stephen Hemminger
  0 siblings, 2 replies; 9+ messages in thread
From: Eric Dumazet @ 2018-11-26 22:29 UTC (permalink / raw)
  To: David Ahern, Stephen Hemminger; +Cc: netdev, Eric Dumazet, Eric Dumazet

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 <edumazet@google.com>
---
 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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH iproute2] ss: add support for delivered and delivered_ce fields
  2018-11-26 22:29 [PATCH iproute2] ss: add support for delivered and delivered_ce fields Eric Dumazet
@ 2018-11-26 22:37 ` Yuchung Cheng
  2018-11-29  0:01 ` Stephen Hemminger
  1 sibling, 0 replies; 9+ messages in thread
From: Yuchung Cheng @ 2018-11-26 22:37 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: David Ahern, Stephen Hemminger, netdev, Eric Dumazet

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH iproute2] ss: add support for delivered and delivered_ce fields
  2018-11-26 22:29 [PATCH iproute2] ss: add support for delivered and delivered_ce fields Eric Dumazet
  2018-11-26 22:37 ` Yuchung Cheng
@ 2018-11-29  0:01 ` Stephen Hemminger
  2018-11-29  5:10   ` Eric Dumazet
  1 sibling, 1 reply; 9+ messages in thread
From: Stephen Hemminger @ 2018-11-29  0:01 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: David Ahern, netdev, Eric Dumazet

On Mon, 26 Nov 2018 14:29:53 -0800
Eric Dumazet <edumazet@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 <edumazet@google.com>

Applied

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH iproute2] ss: add support for delivered and delivered_ce fields
  2018-11-29  0:01 ` Stephen Hemminger
@ 2018-11-29  5:10   ` Eric Dumazet
  2018-11-29  5:16     ` David Ahern
  0 siblings, 1 reply; 9+ messages in thread
From: Eric Dumazet @ 2018-11-29  5:10 UTC (permalink / raw)
  To: Stephen Hemminger, Eric Dumazet; +Cc: David Ahern, netdev



On 11/28/2018 04:01 PM, Stephen Hemminger wrote:
> On Mon, 26 Nov 2018 14:29:53 -0800
> Eric Dumazet <edumazet@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 <edumazet@google.com>
> 
> Applied
> 

Thanks Stephen

BTW, it seems ss had some recent regression :

Old ss command was happy with "ss dst 127.0.0.1 and not dst :12865"

But current one is not.

root@edumazet-glaptop:/usr/src/iproute2# ss -V
ss utility, iproute2-ss171113

root@edumazet-glaptop:/usr/src/iproute2# ss dst 127.0.0.1 and not dst :12865
Netid  State      Recv-Q Send-Q                        Local Address:Port                                         Peer Address:Port                
tcp    ESTAB      0      0                                 127.0.0.1:45368                                           127.0.0.1:999                  
tcp    ESTAB      0      0                                 127.0.0.1:999                                             127.0.0.1:45368   

             
root@edumazet-glaptop:/usr/src/iproute2# misc/ss -V
ss utility, iproute2-ss181023

root@edumazet-glaptop:/usr/src/iproute2# misc/ss dst 127.0.0.1 and not dst :12865
ss: bison bellows (while parsing filter): "syntax error!" Sorry.
Usage: ss [ OPTIONS ]
       ss [ OPTIONS ] [ FILTER ]
...

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH iproute2] ss: add support for delivered and delivered_ce fields
  2018-11-29  5:10   ` Eric Dumazet
@ 2018-11-29  5:16     ` David Ahern
  2018-11-29  5:25       ` Eric Dumazet
  0 siblings, 1 reply; 9+ messages in thread
From: David Ahern @ 2018-11-29  5:16 UTC (permalink / raw)
  To: Eric Dumazet, Stephen Hemminger, Eric Dumazet; +Cc: netdev, Phil Sutter

On 11/28/18 10:10 PM, Eric Dumazet wrote:
> 
> 
> On 11/28/2018 04:01 PM, Stephen Hemminger wrote:
>> On Mon, 26 Nov 2018 14:29:53 -0800
>> Eric Dumazet <edumazet@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 <edumazet@google.com>
>>
>> Applied
>>
> 
> Thanks Stephen
> 
> BTW, it seems ss had some recent regression :
> 
> Old ss command was happy with "ss dst 127.0.0.1 and not dst :12865"
> 
> But current one is not.
> 
> root@edumazet-glaptop:/usr/src/iproute2# ss -V
> ss utility, iproute2-ss171113
> 
> root@edumazet-glaptop:/usr/src/iproute2# ss dst 127.0.0.1 and not dst :12865
> Netid  State      Recv-Q Send-Q                        Local Address:Port                                         Peer Address:Port                
> tcp    ESTAB      0      0                                 127.0.0.1:45368                                           127.0.0.1:999                  
> tcp    ESTAB      0      0                                 127.0.0.1:999                                             127.0.0.1:45368   
> 
>              
> root@edumazet-glaptop:/usr/src/iproute2# misc/ss -V
> ss utility, iproute2-ss181023
> 
> root@edumazet-glaptop:/usr/src/iproute2# misc/ss dst 127.0.0.1 and not dst :12865
> ss: bison bellows (while parsing filter): "syntax error!" Sorry.
> Usage: ss [ OPTIONS ]
>        ss [ OPTIONS ] [ FILTER ]
> ...
> 

Most logical commit to ssfilter.y is:

commit 38d209ecf2ae966b9b25de4acb60cdffb0e06ced
Author: Phil Sutter <phil@nwl.cc>
Date:   Tue Aug 14 14:18:06 2018 +0200

    ss: Review ssfilter

Can you revert it and see if it helps?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH iproute2] ss: add support for delivered and delivered_ce fields
  2018-11-29  5:16     ` David Ahern
@ 2018-11-29  5:25       ` Eric Dumazet
  2018-11-29 12:20         ` [iproute PATCH] ssfilter: Fix for inverted last expression Phil Sutter
  0 siblings, 1 reply; 9+ messages in thread
From: Eric Dumazet @ 2018-11-29  5:25 UTC (permalink / raw)
  To: David Ahern; +Cc: Eric Dumazet, Stephen Hemminger, netdev, phil

On Wed, Nov 28, 2018 at 9:16 PM David Ahern <dsahern@gmail.com> wrote:
>
> On 11/28/18 10:10 PM, Eric Dumazet wrote:
> >
> >
> > On 11/28/2018 04:01 PM, Stephen Hemminger wrote:
> >> On Mon, 26 Nov 2018 14:29:53 -0800
> >> Eric Dumazet <edumazet@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 <edumazet@google.com>
> >>
> >> Applied
> >>
> >
> > Thanks Stephen
> >
> > BTW, it seems ss had some recent regression :
> >
> > Old ss command was happy with "ss dst 127.0.0.1 and not dst :12865"
> >
> > But current one is not.
> >
> > root@edumazet-glaptop:/usr/src/iproute2# ss -V
> > ss utility, iproute2-ss171113
> >
> > root@edumazet-glaptop:/usr/src/iproute2# ss dst 127.0.0.1 and not dst :12865
> > Netid  State      Recv-Q Send-Q                        Local Address:Port                                         Peer Address:Port
> > tcp    ESTAB      0      0                                 127.0.0.1:45368                                           127.0.0.1:999
> > tcp    ESTAB      0      0                                 127.0.0.1:999                                             127.0.0.1:45368
> >
> >
> > root@edumazet-glaptop:/usr/src/iproute2# misc/ss -V
> > ss utility, iproute2-ss181023
> >
> > root@edumazet-glaptop:/usr/src/iproute2# misc/ss dst 127.0.0.1 and not dst :12865
> > ss: bison bellows (while parsing filter): "syntax error!" Sorry.
> > Usage: ss [ OPTIONS ]
> >        ss [ OPTIONS ] [ FILTER ]
> > ...
> >
>
> Most logical commit to ssfilter.y is:
>
> commit 38d209ecf2ae966b9b25de4acb60cdffb0e06ced
> Author: Phil Sutter <phil@nwl.cc>
> Date:   Tue Aug 14 14:18:06 2018 +0200
>
>     ss: Review ssfilter
>
> Can you revert it and see if it helps?

It does not help.

It seem the new way is to use  : ss dst 127.0.0.1 and dport != 12865

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [iproute PATCH] ssfilter: Fix for inverted last expression
  2018-11-29  5:25       ` Eric Dumazet
@ 2018-11-29 12:20         ` Phil Sutter
  2018-11-30 18:22           ` Eric Dumazet
  2018-12-03 22:38           ` Stephen Hemminger
  0 siblings, 2 replies; 9+ messages in thread
From: Phil Sutter @ 2018-11-29 12:20 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: netdev, Eric Dumazet, David Ahern, Eric Dumazet

When fixing for shift/reduce conflicts, possibility to invert the last
expression by prefixing with '!' or 'not' was accidentally removed.

Fix this by allowing for expr to be an inverted expr so that any
reference to it in exprlist accepts the inverted prefix.

Reported-by: Eric Dumazet <edumazet@google.com>
Fixes: b2038cc0b2403 ("ssfilter: Eliminate shift/reduce conflicts")
Signed-off-by: Phil Sutter <phil@nwl.cc>
---
 misc/ssfilter.y | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/misc/ssfilter.y b/misc/ssfilter.y
index 0413dddaa7584..a901ae753a284 100644
--- a/misc/ssfilter.y
+++ b/misc/ssfilter.y
@@ -54,10 +54,6 @@ null:   /* NOTHING */ { $$ = NULL; }
         ;
 
 exprlist: expr
-        | '!' expr
-        {
-                $$ = alloc_node(SSF_NOT, $2);
-        }
         | exprlist '|' expr
         {
                 $$ = alloc_node(SSF_OR, $1);
@@ -83,6 +79,10 @@ expr:	'(' exprlist ')'
 	{
 		$$ = $2;
 	}
+	| '!' expr
+	{
+		$$ = alloc_node(SSF_NOT, $2);
+	}
 	| DCOND eq HOSTCOND
         {
 		$$ = alloc_node(SSF_DCOND, $3);
-- 
2.19.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [iproute PATCH] ssfilter: Fix for inverted last expression
  2018-11-29 12:20         ` [iproute PATCH] ssfilter: Fix for inverted last expression Phil Sutter
@ 2018-11-30 18:22           ` Eric Dumazet
  2018-12-03 22:38           ` Stephen Hemminger
  1 sibling, 0 replies; 9+ messages in thread
From: Eric Dumazet @ 2018-11-30 18:22 UTC (permalink / raw)
  To: Phil Sutter, Stephen Hemminger
  Cc: netdev, Eric Dumazet, David Ahern, Eric Dumazet



On 11/29/2018 04:20 AM, Phil Sutter wrote:
> When fixing for shift/reduce conflicts, possibility to invert the last
> expression by prefixing with '!' or 'not' was accidentally removed.
> 
> Fix this by allowing for expr to be an inverted expr so that any
> reference to it in exprlist accepts the inverted prefix.
> 
> Reported-by: Eric Dumazet <edumazet@google.com>
> Fixes: b2038cc0b2403 ("ssfilter: Eliminate shift/reduce conflicts")
> Signed-off-by: Phil Sutter <phil@nwl.cc>
> ---


Thanks Phil !

Acked-by: Eric Dumazet <edumazet@google.com>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [iproute PATCH] ssfilter: Fix for inverted last expression
  2018-11-29 12:20         ` [iproute PATCH] ssfilter: Fix for inverted last expression Phil Sutter
  2018-11-30 18:22           ` Eric Dumazet
@ 2018-12-03 22:38           ` Stephen Hemminger
  1 sibling, 0 replies; 9+ messages in thread
From: Stephen Hemminger @ 2018-12-03 22:38 UTC (permalink / raw)
  To: Phil Sutter; +Cc: netdev, Eric Dumazet, David Ahern, Eric Dumazet

On Thu, 29 Nov 2018 13:20:37 +0100
Phil Sutter <phil@nwl.cc> wrote:

> When fixing for shift/reduce conflicts, possibility to invert the last
> expression by prefixing with '!' or 'not' was accidentally removed.
> 
> Fix this by allowing for expr to be an inverted expr so that any
> reference to it in exprlist accepts the inverted prefix.
> 
> Reported-by: Eric Dumazet <edumazet@google.com>
> Fixes: b2038cc0b2403 ("ssfilter: Eliminate shift/reduce conflicts")
> Signed-off-by: Phil Sutter <phil@nwl.cc>

Applied. THanks.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-12-03 22:38 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-26 22:29 [PATCH iproute2] ss: add support for delivered and delivered_ce fields Eric Dumazet
2018-11-26 22:37 ` Yuchung Cheng
2018-11-29  0:01 ` Stephen Hemminger
2018-11-29  5:10   ` Eric Dumazet
2018-11-29  5:16     ` David Ahern
2018-11-29  5:25       ` Eric Dumazet
2018-11-29 12:20         ` [iproute PATCH] ssfilter: Fix for inverted last expression Phil Sutter
2018-11-30 18:22           ` Eric Dumazet
2018-12-03 22:38           ` Stephen Hemminger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.