ss: Skip filtered netlink sockets before detailed info

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
This commit is contained in:
Vadim Kochan 2015-02-22 22:23:11 +02:00 committed by Stephen Hemminger
parent 29999b0ff2
commit 5f24ec0e06
1 changed files with 7 additions and 5 deletions

View File

@ -2938,7 +2938,7 @@ static int packet_show(struct filter *f)
return 0; return 0;
} }
static void netlink_show_one(struct filter *f, static int netlink_show_one(struct filter *f,
int prot, int pid, unsigned groups, int prot, int pid, unsigned groups,
int state, int dst_pid, unsigned dst_group, int state, int dst_pid, unsigned dst_group,
int rq, int wq, int rq, int wq,
@ -2960,7 +2960,7 @@ static void netlink_show_one(struct filter *f,
st.lport = pid; st.lport = pid;
st.local.data[0] = prot; st.local.data[0] = prot;
if (run_ssfilter(f->f, &st) == 0) if (run_ssfilter(f->f, &st) == 0)
return; return 1;
} }
sock_state_print(&st, "nl"); sock_state_print(&st, "nl");
@ -3032,7 +3032,7 @@ static void netlink_show_one(struct filter *f,
} }
printf("\n"); printf("\n");
return; return 0;
} }
static int netlink_show_sock(const struct sockaddr_nl *addr, static int netlink_show_sock(const struct sockaddr_nl *addr,
@ -3058,9 +3058,11 @@ static int netlink_show_sock(const struct sockaddr_nl *addr,
wq = skmeminfo[SK_MEMINFO_WMEM_ALLOC]; wq = skmeminfo[SK_MEMINFO_WMEM_ALLOC];
} }
netlink_show_one(f, r->ndiag_protocol, r->ndiag_portid, groups, if (netlink_show_one(f, r->ndiag_protocol, r->ndiag_portid, groups,
r->ndiag_state, r->ndiag_dst_portid, r->ndiag_dst_group, r->ndiag_state, r->ndiag_dst_portid, r->ndiag_dst_group,
rq, wq, 0, 0); rq, wq, 0, 0)) {
return 0;
}
if (show_mem) { if (show_mem) {
printf("\t"); printf("\t");