linux-stable/net/tipc
GhantaKrishnamurthy MohanKrishna c30b70deb5 tipc: implement socket diagnostics for AF_TIPC
This commit adds socket diagnostics capability for AF_TIPC in netlink
family NETLINK_SOCK_DIAG in a new kernel module (diag.ko).

The following are key design considerations:
- config TIPC_DIAG has default y, like INET_DIAG.
- only requests with flag NLM_F_DUMP is supported (dump all).
- tipc_sock_diag_req message is introduced to send filter parameters.
- the response attributes are of TLV, some nested.

To avoid exposing data structures between diag and tipc modules and
avoid code duplication, the following additions are required:
- export tipc_nl_sk_walk function to reuse socket iterator.
- export tipc_sk_fill_sock_diag to fill the tipc diag attributes.
- create a sock_diag response message in __tipc_add_sock_diag defined
  in diag.c and use the above exported tipc_sk_fill_sock_diag
  to fill response.

Acked-by: Jon Maloy <jon.maloy@ericsson.com>
Acked-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: GhantaKrishnamurthy MohanKrishna <mohan.krishna.ghanta.krishnamurthy@ericsson.com>
Signed-off-by: Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-03-22 14:43:35 -04:00
..
addr.c tipc: obsolete TIPC_ZONE_SCOPE 2018-03-17 17:11:46 -04:00
addr.h tipc: obsolete TIPC_ZONE_SCOPE 2018-03-17 17:11:46 -04:00
bcast.c tipc: bcast: use true and false for boolean values 2018-03-07 12:18:00 -05:00
bcast.h tipc: make replicast a user selectable option 2017-01-20 12:10:17 -05:00
bearer.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-02-19 18:46:11 -05:00
bearer.h tipc: Introduce __tipc_nl_media_set 2018-02-14 14:46:32 -05:00
core.c net: Convert tipc_net_ops 2018-03-13 11:24:56 -04:00
core.h tipc: remove zone publication list in name table 2018-03-17 17:11:46 -04:00
diag.c tipc: implement socket diagnostics for AF_TIPC 2018-03-22 14:43:35 -04:00
discover.c net: tipc: Convert timers to use timer_setup() 2017-11-01 12:38:45 +09:00
discover.h tipc: eliminate buffer leak in bearer layer 2016-04-07 17:00:13 -04:00
eth_media.c tipc: make media address offset a common define 2015-02-27 18:18:48 -05:00
group.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-03-06 01:20:46 -05:00
group.h tipc: fix race between poll() and setsockopt() 2018-01-19 15:12:21 -05:00
ib_media.c tipc: rename media/msg related definitions 2015-02-27 18:18:48 -05:00
Kconfig tipc: implement socket diagnostics for AF_TIPC 2018-03-22 14:43:35 -04:00
link.c tipc: apply bearer link tolerance on running links 2018-02-14 15:22:24 -05:00
link.h tipc: transfer broadcast nacks in link state messages 2016-09-02 17:10:24 -07:00
Makefile tipc: implement socket diagnostics for AF_TIPC 2018-03-22 14:43:35 -04:00
monitor.c tipc: fix tipc_mon_delete() oops in tipc_enable_bearer() error path 2017-12-27 10:55:00 -05:00
monitor.h tipc: dump monitor attributes 2016-07-26 14:26:42 -07:00
msg.c tipc: obsolete TIPC_ZONE_SCOPE 2018-03-17 17:11:46 -04:00
msg.h tipc: fall back to smaller MTU if allocation of local send skb fails 2017-12-01 15:21:25 -05:00
name_distr.c tipc: some name changes 2018-03-17 17:11:46 -04:00
name_distr.h tipc: some name changes 2018-03-17 17:11:46 -04:00
name_table.c tipc: some name changes 2018-03-17 17:11:46 -04:00
name_table.h tipc: some name changes 2018-03-17 17:11:46 -04:00
net.c tipc: obsolete TIPC_ZONE_SCOPE 2018-03-17 17:11:46 -04:00
net.h tipc: Introduce __tipc_nl_net_set 2018-02-14 14:46:33 -05:00
netlink.c netlink: pass extended ACK struct to parsing functions 2017-04-13 13:58:22 -04:00
netlink.h tipc: make cluster size threshold for monitoring configurable 2016-07-26 14:26:42 -07:00
netlink_compat.c tipc: Fix missing RTNL lock protection during setting link properties 2018-02-14 14:46:33 -05:00
node.c tipc: apply bearer link tolerance on running links 2018-02-14 15:22:24 -05:00
node.h tipc: apply bearer link tolerance on running links 2018-02-14 15:22:24 -05:00
socket.c tipc: implement socket diagnostics for AF_TIPC 2018-03-22 14:43:35 -04:00
socket.h tipc: implement socket diagnostics for AF_TIPC 2018-03-22 14:43:35 -04:00
subscr.c tipc: rename tipc_server to tipc_topsrv 2018-02-16 15:26:34 -05:00
subscr.h tipc: rename tipc_server to tipc_topsrv 2018-02-16 15:26:34 -05:00
sysctl.c tipc: add name distributor resiliency queue 2014-09-01 17:51:48 -07:00
topsrv.c tipc: don't call sock_release() in atomic context 2018-02-19 14:38:50 -05:00
topsrv.h tipc: rename tipc_server to tipc_topsrv 2018-02-16 15:26:34 -05:00
udp_media.c tipc: call tipc_rcv() only if bearer is up in tipc_udp_recv() 2017-12-01 15:14:22 -05:00
udp_media.h tipc: add UDP remoteip dump to netlink API 2016-08-26 21:38:41 -07:00