| 
									
										
										
										
											2012-08-13 05:53:28 +00:00
										 |  |  | #ifndef __PACKET_DIAG_H__
 | 
					
						
							|  |  |  | #define __PACKET_DIAG_H__
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/types.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct packet_diag_req { | 
					
						
							|  |  |  | 	__u8	sdiag_family; | 
					
						
							|  |  |  | 	__u8	sdiag_protocol; | 
					
						
							|  |  |  | 	__u16	pad; | 
					
						
							|  |  |  | 	__u32	pdiag_ino; | 
					
						
							|  |  |  | 	__u32	pdiag_show; | 
					
						
							|  |  |  | 	__u32	pdiag_cookie[2]; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-13 05:55:46 +00:00
										 |  |  | #define PACKET_SHOW_INFO	0x00000001 /* Basic packet_sk information */
 | 
					
						
							| 
									
										
										
										
											2012-08-13 05:57:44 +00:00
										 |  |  | #define PACKET_SHOW_MCLIST	0x00000002 /* A set of packet_diag_mclist-s */
 | 
					
						
							| 
									
										
										
										
											2012-08-16 05:34:22 +00:00
										 |  |  | #define PACKET_SHOW_RING_CFG	0x00000004 /* Rings configuration parameters */
 | 
					
						
							| 
									
										
										
										
											2012-08-16 05:36:48 +00:00
										 |  |  | #define PACKET_SHOW_FANOUT	0x00000008
 | 
					
						
							| 
									
										
										
										
											2013-04-25 06:53:53 +00:00
										 |  |  | #define PACKET_SHOW_MEMINFO	0x00000010
 | 
					
						
							| 
									
										
										
										
											2013-04-25 06:53:54 +00:00
										 |  |  | #define PACKET_SHOW_FILTER	0x00000020
 | 
					
						
							| 
									
										
										
										
											2012-08-13 05:55:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-13 05:53:28 +00:00
										 |  |  | struct packet_diag_msg { | 
					
						
							|  |  |  | 	__u8	pdiag_family; | 
					
						
							|  |  |  | 	__u8	pdiag_type; | 
					
						
							|  |  |  | 	__u16	pdiag_num; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	__u32	pdiag_ino; | 
					
						
							|  |  |  | 	__u32	pdiag_cookie[2]; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-13 05:55:46 +00:00
										 |  |  | enum { | 
					
						
							| 
									
										
										
										
											2013-11-28 18:31:05 +01:00
										 |  |  | 	/* PACKET_DIAG_NONE, standard nl API requires this attribute!  */ | 
					
						
							| 
									
										
										
										
											2012-08-13 05:55:46 +00:00
										 |  |  | 	PACKET_DIAG_INFO, | 
					
						
							| 
									
										
										
										
											2012-08-13 05:57:44 +00:00
										 |  |  | 	PACKET_DIAG_MCLIST, | 
					
						
							| 
									
										
										
										
											2012-08-16 05:34:22 +00:00
										 |  |  | 	PACKET_DIAG_RX_RING, | 
					
						
							|  |  |  | 	PACKET_DIAG_TX_RING, | 
					
						
							| 
									
										
										
										
											2012-08-16 05:36:48 +00:00
										 |  |  | 	PACKET_DIAG_FANOUT, | 
					
						
							| 
									
										
										
										
											2013-04-25 06:53:52 +00:00
										 |  |  | 	PACKET_DIAG_UID, | 
					
						
							| 
									
										
										
										
											2013-04-25 06:53:53 +00:00
										 |  |  | 	PACKET_DIAG_MEMINFO, | 
					
						
							| 
									
										
										
										
											2013-04-25 06:53:54 +00:00
										 |  |  | 	PACKET_DIAG_FILTER, | 
					
						
							| 
									
										
										
										
											2012-08-13 05:55:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-21 20:33:46 +04:00
										 |  |  | 	__PACKET_DIAG_MAX, | 
					
						
							| 
									
										
										
										
											2012-08-13 05:55:46 +00:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-21 20:33:46 +04:00
										 |  |  | #define PACKET_DIAG_MAX (__PACKET_DIAG_MAX - 1)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-13 05:55:46 +00:00
										 |  |  | struct packet_diag_info { | 
					
						
							|  |  |  | 	__u32	pdi_index; | 
					
						
							|  |  |  | 	__u32	pdi_version; | 
					
						
							|  |  |  | 	__u32	pdi_reserve; | 
					
						
							|  |  |  | 	__u32	pdi_copy_thresh; | 
					
						
							|  |  |  | 	__u32	pdi_tstamp; | 
					
						
							|  |  |  | 	__u32	pdi_flags; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define PDI_RUNNING	0x1
 | 
					
						
							|  |  |  | #define PDI_AUXDATA	0x2
 | 
					
						
							|  |  |  | #define PDI_ORIGDEV	0x4
 | 
					
						
							|  |  |  | #define PDI_VNETHDR	0x8
 | 
					
						
							|  |  |  | #define PDI_LOSS	0x10
 | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-13 05:57:44 +00:00
										 |  |  | struct packet_diag_mclist { | 
					
						
							|  |  |  | 	__u32	pdmc_index; | 
					
						
							|  |  |  | 	__u32	pdmc_count; | 
					
						
							|  |  |  | 	__u16	pdmc_type; | 
					
						
							|  |  |  | 	__u16	pdmc_alen; | 
					
						
							|  |  |  | 	__u8	pdmc_addr[MAX_ADDR_LEN]; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-16 05:34:22 +00:00
										 |  |  | struct packet_diag_ring { | 
					
						
							|  |  |  | 	__u32	pdr_block_size; | 
					
						
							|  |  |  | 	__u32	pdr_block_nr; | 
					
						
							|  |  |  | 	__u32	pdr_frame_size; | 
					
						
							|  |  |  | 	__u32	pdr_frame_nr; | 
					
						
							|  |  |  | 	__u32	pdr_retire_tmo; | 
					
						
							|  |  |  | 	__u32	pdr_sizeof_priv; | 
					
						
							|  |  |  | 	__u32	pdr_features; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-13 05:53:28 +00:00
										 |  |  | #endif
 |