Message ID | 1432903069.7456.87.camel@edumazet-glaptop2.roam.corp.google.com |
---|---|
State | Accepted, archived |
Delegated to: | stephen hemminger |
Headers | show |
On Fri, 29 May 2015 05:37:49 -0700 Eric Dumazet <eric.dumazet@gmail.com> wrote: > From: Eric Dumazet <edumazet@google.com> > > ss currently dumps IPv4 sockets, then IPv6 sockets from the kernel, > even if -4 or -6 option was given. Filtering in user space then has to > drop all sockets of wrong family. Such a waste of time... > > Before : > > $ time ss -tn -4 | wc -l > 251659 > > real 0m1.241s > user 0m0.423s > sys 0m0.806s > > After: > > $ time ss -tn -4 | wc -l > 251672 > > real 0m0.779s > user 0m0.412s > sys 0m0.386s > > > Signed-off-by: Eric Dumazet <edumazet@google.com> I applied all 3 ss patches for the 4.1 release in progress. -- 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
On Wed, 2015-06-24 at 23:32 -0400, Stephen Hemminger wrote: > > I applied all 3 ss patches for the 4.1 release in progress. Thanks Stephen ! -- 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 --git a/misc/ss.c b/misc/ss.c index 347e3a1..4ef8fea 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -2209,6 +2209,8 @@ static int inet_show_netlink(struct filter *f, FILE *dump_fp, int protocol) return -1; rth.dump = MAGIC_SEQ; rth.dump_fp = dump_fp; + if (preferred_family == PF_INET6) + family = PF_INET6; again: if ((err = sockdiag_send(family, rth.fd, protocol, f))) @@ -2221,7 +2223,7 @@ again: } goto Exit; } - if (family == PF_INET) { + if (family == PF_INET && preferred_family != PF_INET) { family = PF_INET6; goto again; }