forked from mirrors/linux
		
	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>
		
			
				
	
	
		
			17 lines
		
	
	
	
		
			483 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
	
		
			483 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 | 
						|
/* AF_TIPC sock_diag interface for querying open sockets */
 | 
						|
 | 
						|
#ifndef _UAPI__TIPC_SOCKETS_DIAG_H__
 | 
						|
#define _UAPI__TIPC_SOCKETS_DIAG_H__
 | 
						|
 | 
						|
#include <linux/types.h>
 | 
						|
#include <linux/sock_diag.h>
 | 
						|
 | 
						|
/* Request */
 | 
						|
struct tipc_sock_diag_req {
 | 
						|
	__u8	sdiag_family;	/* must be AF_TIPC */
 | 
						|
	__u8	sdiag_protocol;	/* must be 0 */
 | 
						|
	__u16	pad;		/* must be 0 */
 | 
						|
	__u32	tidiag_states;	/* query*/
 | 
						|
};
 | 
						|
#endif /* _UAPI__TIPC_SOCKETS_DIAG_H__ */
 |