Hi,

Cc'ing Cyrill who wrote the code in question. Maybe he has an idea
what's going wrong here.

Cheers, Phil

On Mon, May 08, 2017 at 06:56:04PM -0700, Li Er wrote:
> 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.

Reply via email to