diff mbox

[iproute2] ss: report ecnseen

Message ID 1321419087.32381.3.camel@edumazet-laptop
State Changes Requested, archived
Delegated to: stephen hemminger
Headers show

Commit Message

Eric Dumazet Nov. 16, 2011, 4:51 a.m. UTC
Support ECNSEEN reporting in ss command.

ESTAB      0      0           10.170.73.123:4900
10.170.73.125:51001    uid:501 ino:385994 sk:f31e5f00
         mem:(r0,w0,f0,t0) ts sack ecn ecnseen bic wscale:8,8 rto:210
rtt:18.75/15 ato:40 cwnd:10 send 69.9Mbps rcv_space:32768

"ecn" means TCP session negociated ECN capability (TCP layer) at setup
time

"ecnseen" at least one frame with ECT(0) or ECT(1) or ECN (IP layer) was
received from peer.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
---
 include/netinet/tcp.h |    1 +
 misc/ss.c             |    2 ++
 2 files changed, 3 insertions(+)



--
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

stephen hemminger Nov. 16, 2011, 5:45 p.m. UTC | #1
On Wed, 16 Nov 2011 05:51:27 +0100
Eric Dumazet <eric.dumazet@gmail.com> wrote:

> Support ECNSEEN reporting in ss command.
> 
> ESTAB      0      0           10.170.73.123:4900
> 10.170.73.125:51001    uid:501 ino:385994 sk:f31e5f00
>          mem:(r0,w0,f0,t0) ts sack ecn ecnseen bic wscale:8,8 rto:210
> rtt:18.75/15 ato:40 cwnd:10 send 69.9Mbps rcv_space:32768
> 
> "ecn" means TCP session negociated ECN capability (TCP layer) at setup
> time
> 
> "ecnseen" at least one frame with ECT(0) or ECT(1) or ECN (IP layer) was
> received from peer.
> 
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
> ---
>  include/netinet/tcp.h |    1 +
>  misc/ss.c             |    2 ++
>  2 files changed, 3 insertions(+)
> 
> diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h
> index 282b29c..95a4fe6 100644
> --- a/include/netinet/tcp.h
> +++ b/include/netinet/tcp.h
> @@ -172,6 +172,7 @@ enum
>  # define TCPI_OPT_SACK		2
>  # define TCPI_OPT_WSCALE	4
>  # define TCPI_OPT_ECN		8
> +# define TCPI_OPT_ECNSEEN	16

Please use same name as include/linux/tcp.h TCPI_OPT_ECN_SEEN
Also, need to get this to glibc to make it included in standard distro
headers.
--
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 282b29c..95a4fe6 100644
--- a/include/netinet/tcp.h
+++ b/include/netinet/tcp.h
@@ -172,6 +172,7 @@  enum
 # define TCPI_OPT_SACK		2
 # define TCPI_OPT_WSCALE	4
 # define TCPI_OPT_ECN		8
+# define TCPI_OPT_ECNSEEN	16
 
 /* Values for tcpi_state.  */
 enum tcp_ca_state
diff --git a/misc/ss.c b/misc/ss.c
index b00841b..778bf0a 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -1357,6 +1357,8 @@  static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r)
 				printf(" sack");
 			if (info->tcpi_options & TCPI_OPT_ECN)
 				printf(" ecn");
+			if (info->tcpi_options & TCPI_OPT_ECNSEEN)
+				printf(" ecnseen");
 		}
 
 		if (tb[INET_DIAG_CONG])