summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Vagin <avagin@openvz.org>2013-06-05 12:42:00 +0400
committerStephen Hemminger <stephen@networkplumber.org>2013-06-05 08:54:35 -0700
commitf271fe011aa3beb580e6efee05717597223e764c (patch)
tree84ce31d2394794cad90e40dceb645c109f187d51
parent129709aea1b7c542e8461822c512a641496ef5ae (diff)
ss: show destination address for netlink sockets
A netlink socket may be connected to a specific group. Cc: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: Andrey Vagin <avagin@openvz.org>
-rw-r--r--misc/ss.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/misc/ss.c b/misc/ss.c
index 469ffd01..c8534ff1 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -2674,6 +2674,7 @@ static int packet_show(struct filter *f)
static void netlink_show_one(struct filter *f,
int prot, int pid, unsigned groups,
+ int state, int dst_pid, unsigned dst_group,
int rq, int wq,
unsigned long long sk, unsigned long long cb)
{
@@ -2728,8 +2729,14 @@ static void netlink_show_one(struct filter *f,
} else {
printf("%-*d ", serv_width, pid);
}
- printf("%*s*%-*s",
- addr_width, "", serv_width, "");
+
+ if (state == NETLINK_CONNECTED) {
+ printf("%*d:%-*d",
+ addr_width, dst_group, serv_width, dst_pid);
+ } else {
+ printf("%*s*%-*s",
+ addr_width, "", serv_width, "");
+ }
if (show_details) {
printf(" sk=%llx cb=%llx groups=0x%08x", sk, cb, groups);
@@ -2764,7 +2771,7 @@ static int netlink_show(struct filter *f)
&sk,
&prot, &pid, &groups, &rq, &wq, &cb, &rc);
- netlink_show_one(f, prot, pid, groups, rq, wq, sk, cb);
+ netlink_show_one(f, prot, pid, groups, 0, 0, 0, rq, wq, sk, cb);
}
return 0;