summaryrefslogtreecommitdiffstats
path: root/net/tipc/netlink.c
diff options
context:
space:
mode:
authorRichard Alpe <richard.alpe@ericsson.com>2014-11-20 04:29:10 -0500
committerDavid S. Miller <davem@davemloft.net>2014-11-21 15:01:30 -0500
commit34b78a127c4fd57cf3d5c64031693d10a8e0fae1 (patch)
treefbba2542705341c45f9a270e46aca9b819ed17f7 /net/tipc/netlink.c
parent315c00bc9f2bd17f7ad7ed8119ca49b1125af507 (diff)
tipc: add sock dump to new netlink api
Add TIPC_NL_SOCK_GET command to the new tipc netlink API. This command supports dumping of all available sockets with their associated connection or publication(s). It could be extended to reply with a single socket if the NLM_F_DUMP isn't set. The information about a socket includes reference, address, connection information / publication information. Netlink logical layout of response message: -> socket -> reference -> address [ -> connection -> node -> socket [ -> connected flag -> type -> instance ] ] [ -> publication flag ] Signed-off-by: Richard Alpe <richard.alpe@ericsson.com> Reviewed-by: Erik Hugne <erik.hugne@ericsson.com> Reviewed-by: Jon Maloy <jon.maloy@ericsson.com> Acked-by: Ying Xue <ying.xue@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/netlink.c')
-rw-r--r--net/tipc/netlink.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/tipc/netlink.c b/net/tipc/netlink.c
index a5291314a210..951fabeec8b7 100644
--- a/net/tipc/netlink.c
+++ b/net/tipc/netlink.c
@@ -36,6 +36,7 @@
36 36
37#include "core.h" 37#include "core.h"
38#include "config.h" 38#include "config.h"
39#include "socket.h"
39#include "bearer.h" 40#include "bearer.h"
40#include <net/genetlink.h> 41#include <net/genetlink.h>
41 42
@@ -72,6 +73,7 @@ static int handle_cmd(struct sk_buff *skb, struct genl_info *info)
72static const struct nla_policy tipc_nl_policy[TIPC_NLA_MAX + 1] = { 73static const struct nla_policy tipc_nl_policy[TIPC_NLA_MAX + 1] = {
73 [TIPC_NLA_UNSPEC] = { .type = NLA_UNSPEC, }, 74 [TIPC_NLA_UNSPEC] = { .type = NLA_UNSPEC, },
74 [TIPC_NLA_BEARER] = { .type = NLA_NESTED, }, 75 [TIPC_NLA_BEARER] = { .type = NLA_NESTED, },
76 [TIPC_NLA_SOCK] = { .type = NLA_NESTED, },
75}; 77};
76 78
77/* Legacy ASCII API */ 79/* Legacy ASCII API */
@@ -123,6 +125,11 @@ static const struct genl_ops tipc_genl_v2_ops[] = {
123 .cmd = TIPC_NL_BEARER_SET, 125 .cmd = TIPC_NL_BEARER_SET,
124 .doit = tipc_nl_bearer_set, 126 .doit = tipc_nl_bearer_set,
125 .policy = tipc_nl_policy, 127 .policy = tipc_nl_policy,
128 },
129 {
130 .cmd = TIPC_NL_SOCK_GET,
131 .dumpit = tipc_nl_sk_dump,
132 .policy = tipc_nl_policy,
126 } 133 }
127}; 134};
128 135