ss: group DCTCP socket statistics
Keep ss output consistent and format DCTCP socket statistics similar to skmen
and timer where a group of logical values are grouped by brackets. This makes
parser scripts *and* humans more happy.
Current output of 'ss -inetm dst :80':
ESTAB 0 0 192.168.11.14:55511 173.194.66.189:443
timer:(keepalive,14sec,0) uid:1000 ino:428768
sk:ffff88020ceb5b00 <-> skmem:(r0,rb372480,t0,tb87040,f0,w0,o0,bl0)
ts sack wscale:7,7 rto:250 rtt:49.225/20.837 ato:40 mss:1408 cwnd:10
ce_state 23 alpha 23 ab_ecn 23 ab_tot 23 send 2.3Mbps
lastsnd:121026 lastrcv:121026 lastack:30850 pacing_rate 4.6Mbps
retrans:0/2 rcv_rtt:40.416 rcv_space:2920
New grouped output:
ESTAB 0 0 192.168.11.14:55511 173.194.66.189:443
timer:(keepalive,14sec,0) uid:1000 ino:428768
sk:ffff88020ceb5b00 <-> skmem:(r0,rb372480,t0,tb87040,f0,w0,o0,bl0)
ts sack wscale:7,7 rto:250 rtt:49.225/20.837 ato:40 mss:1408 cwnd:10
dctcp(ce_state:23,alpha:23,ab_ecn:23,ab_tot:23) send 2.3Mbps
lastsnd:121026 lastrcv:121026 lastack:30850 pacing_rate 4.6Mbps
retrans:0/2 rcv_rtt:40.416 rcv_space:2920
Cc: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Daniel Borkmann <dborkman@redhat.com>
Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Hagen Paul Pfeifer <hagen@jauu.net>
diff --git a/misc/ss.c b/misc/ss.c
index 5113d85..21a4366 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -1680,11 +1680,11 @@
if (s->dctcp && s->dctcp->enabled) {
struct dctcpstat *dctcp = s->dctcp;
- printf(" ce_state %u alpha %u ab_ecn %u ab_tot %u",
+ printf("dctcp:(ce_state:%u,alpha:%u,ab_ecn:%u,ab_tot:%u)",
dctcp->ce_state, dctcp->alpha, dctcp->ab_ecn,
dctcp->ab_tot);
} else if (s->dctcp) {
- printf(" fallback_mode");
+ printf("dctcp:fallback_mode");
}
if (s->send_bps)