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.