[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <591121b4.213b9f0a.5aed.b3a8@mx.google.com>
Date: Mon, 08 May 2017 18:56:04 -0700 (PDT)
From: Li Er <phoooyb@...il.com>
To: netdev@...r.kernel.org
Subject: iproute2 ss outputs duplicate tcp sockets info on kernel 3.10.105
i'm using v4.11.0 release of iproute2 and kernel 3.10.105, simply
running
$ ss
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp CLOSE-WAIT 434 0 10.0.0.1:47931 65.49.18.136:https
tcp CLOSE-WAIT 432 0 10.0.0.1:47932 65.49.18.136:https
tcp CLOSE-WAIT 434 0 10.0.0.1:47931 65.49.18.136:https
tcp CLOSE-WAIT 432 0 10.0.0.1:47932 65.49.18.136:https
as you can see, there's one duplicate entry of each tcp socket,
however, if i explicitly specify tcp socket by adding the -t
switch,
$ ss -t
State Recv-Q Send-Q Local Address:Port Peer Address:Port
CLOSE-WAIT 434 0 10.0.0.1:47931 65.49.18.136:https
CLOSE-WAIT 432 0 10.0.0.1:47932 65.49.18.136:https
the duplication is gone.
this problem also occurs on git master, but not on iproute2
v4.3.0, so i did a git bisect and found out the commit which
caused this is 9f66764e308e9c645b3fb2d1cfbb7fb207eb5de1, and by
revert this commit on git master, i.e. removing
err = rtnl_dump_done(rth, h);
if (err < 0)
return -1;
these 3 lines of code of lib/libnetlink.c, the problem is gone.
since i'm not familiar with the source code, i doubt this is the
right way to solve the problem, what's your suggestions? thanks.
Powered by blists - more mailing lists