diff mbox

[iproute2] ss: add fastopen support

Message ID 1364590317.5113.63.camel@edumazet-glaptop
State Awaiting Upstream, archived
Delegated to: stephen hemminger
Headers show

Commit Message

Eric Dumazet March 29, 2013, 8:51 p.m. UTC
From: Eric Dumazet <edumazet@google.com>

ss -i can output "fastopen" attribute if socket used Fast Open

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
---
 include/netinet/tcp.h |    5 +++--
 misc/ss.c             |    2 ++
 2 files changed, 5 insertions(+), 2 deletions(-)



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

David Miller March 29, 2013, 8:56 p.m. UTC | #1
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri, 29 Mar 2013 13:51:57 -0700

> From: Eric Dumazet <edumazet@google.com>
> 
> ss -i can output "fastopen" attribute if socket used Fast Open
> 
> Signed-off-by: Eric Dumazet <edumazet@google.com>

Reviewed-by: David S. Miller <davem@davemloft.net>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Yuchung Cheng May 4, 2013, 12:08 a.m. UTC | #2
On Fri, Mar 29, 2013 at 1:56 PM, David Miller <davem@davemloft.net> wrote:
> From: Eric Dumazet <eric.dumazet@gmail.com>
> Date: Fri, 29 Mar 2013 13:51:57 -0700
>
>> From: Eric Dumazet <edumazet@google.com>
>>
>> ss -i can output "fastopen" attribute if socket used Fast Open
>>
>> Signed-off-by: Eric Dumazet <edumazet@google.com>
>
> Reviewed-by: David S. Miller <davem@davemloft.net>
Acked-by: Yuchung Cheng <ycheng@google.com>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eric Dumazet May 4, 2013, 1:04 a.m. UTC | #3
On Fri, 2013-05-03 at 17:08 -0700, Yuchung Cheng wrote:
> On Fri, Mar 29, 2013 at 1:56 PM, David Miller <davem@davemloft.net> wrote:
> > From: Eric Dumazet <eric.dumazet@gmail.com>
> > Date: Fri, 29 Mar 2013 13:51:57 -0700
> >
> >> From: Eric Dumazet <edumazet@google.com>
> >>
> >> ss -i can output "fastopen" attribute if socket used Fast Open
> >>
> >> Signed-off-by: Eric Dumazet <edumazet@google.com>
> >
> > Reviewed-by: David S. Miller <davem@davemloft.net>
> Acked-by: Yuchung Cheng <ycheng@google.com>

Oh well, it seems this patch got lost.

Stephen, tell me if you want me to resend it, thanks !


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Hemminger May 4, 2013, 3:42 a.m. UTC | #4
On Fri, 29 Mar 2013 13:51:57 -0700
Eric Dumazet <eric.dumazet@gmail.com> wrote:

> From: Eric Dumazet <edumazet@google.com>
> 
> ss -i can output "fastopen" attribute if socket used Fast Open
> 
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> Cc: Yuchung Cheng <ycheng@google.com>

Ok, but the header stuff needs work.

The headers from iproute2 come from the kernel sanitized headers (ie make headers_install)
The only definition of TCPI_OPT_ECN_SEEN in those headers is in <linux/tcp.h>
I will tweak the ss to use linux/tcp.h

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eric Dumazet May 4, 2013, 3:53 a.m. UTC | #5
On Fri, 2013-05-03 at 20:42 -0700, Stephen Hemminger wrote:

> Ok, but the header stuff needs work.
> 
> The headers from iproute2 come from the kernel sanitized headers (ie make headers_install)
> The only definition of TCPI_OPT_ECN_SEEN in those headers is in <linux/tcp.h>
> I will tweak the ss to use linux/tcp.h

Thanks, this seems good to me.



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h
index 3f890a1..ba79c63 100644
--- a/include/netinet/tcp.h
+++ b/include/netinet/tcp.h
@@ -171,8 +171,9 @@  enum
 # define TCPI_OPT_TIMESTAMPS	1
 # define TCPI_OPT_SACK		2
 # define TCPI_OPT_WSCALE	4
-# define TCPI_OPT_ECN		8
-# define TCPI_OPT_ECN_SEEN	16
+# define TCPI_OPT_ECN		8 /* ECN was negociated at TCP session init */
+# define TCPI_OPT_ECN_SEEN	16 /* we received at least one packet with ECT */
+# define TCPI_OPT_SYN_DATA	32 /* SYN-ACK acked data in SYN sent or rcvd */
 
 /* Values for tcpi_state.  */
 enum tcp_ca_state
diff --git a/misc/ss.c b/misc/ss.c
index da9d32c..b7bcd80 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -1392,6 +1392,8 @@  static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r)
 				printf(" ecn");
 			if (info->tcpi_options & TCPI_OPT_ECN_SEEN)
 				printf(" ecnseen");
+			if (info->tcpi_options & TCPI_OPT_SYN_DATA)
+				printf(" fastopen");
 		}
 
 		if (tb[INET_DIAG_CONG])