1*cf84ac9aSAndroid Build Coastguard Worker #ifndef STRACE_LINUX_PACKET_DIAG_H 2*cf84ac9aSAndroid Build Coastguard Worker #define STRACE_LINUX_PACKET_DIAG_H 3*cf84ac9aSAndroid Build Coastguard Worker 4*cf84ac9aSAndroid Build Coastguard Worker struct packet_diag_req { 5*cf84ac9aSAndroid Build Coastguard Worker uint8_t sdiag_family; 6*cf84ac9aSAndroid Build Coastguard Worker uint8_t sdiag_protocol; 7*cf84ac9aSAndroid Build Coastguard Worker uint16_t pad; 8*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdiag_ino; 9*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdiag_show; 10*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdiag_cookie[2]; 11*cf84ac9aSAndroid Build Coastguard Worker }; 12*cf84ac9aSAndroid Build Coastguard Worker 13*cf84ac9aSAndroid Build Coastguard Worker #define PACKET_SHOW_INFO 0x00000001 14*cf84ac9aSAndroid Build Coastguard Worker #define PACKET_SHOW_MCLIST 0x00000002 15*cf84ac9aSAndroid Build Coastguard Worker #define PACKET_SHOW_RING_CFG 0x00000004 16*cf84ac9aSAndroid Build Coastguard Worker #define PACKET_SHOW_FANOUT 0x00000008 17*cf84ac9aSAndroid Build Coastguard Worker #define PACKET_SHOW_MEMINFO 0x00000010 18*cf84ac9aSAndroid Build Coastguard Worker #define PACKET_SHOW_FILTER 0x00000020 19*cf84ac9aSAndroid Build Coastguard Worker 20*cf84ac9aSAndroid Build Coastguard Worker struct packet_diag_msg { 21*cf84ac9aSAndroid Build Coastguard Worker uint8_t pdiag_family; 22*cf84ac9aSAndroid Build Coastguard Worker uint8_t pdiag_type; 23*cf84ac9aSAndroid Build Coastguard Worker uint16_t pdiag_num; 24*cf84ac9aSAndroid Build Coastguard Worker 25*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdiag_ino; 26*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdiag_cookie[2]; 27*cf84ac9aSAndroid Build Coastguard Worker }; 28*cf84ac9aSAndroid Build Coastguard Worker 29*cf84ac9aSAndroid Build Coastguard Worker enum { 30*cf84ac9aSAndroid Build Coastguard Worker PACKET_DIAG_INFO, 31*cf84ac9aSAndroid Build Coastguard Worker PACKET_DIAG_MCLIST, 32*cf84ac9aSAndroid Build Coastguard Worker PACKET_DIAG_RX_RING, 33*cf84ac9aSAndroid Build Coastguard Worker PACKET_DIAG_TX_RING, 34*cf84ac9aSAndroid Build Coastguard Worker PACKET_DIAG_FANOUT, 35*cf84ac9aSAndroid Build Coastguard Worker PACKET_DIAG_UID, 36*cf84ac9aSAndroid Build Coastguard Worker PACKET_DIAG_MEMINFO, 37*cf84ac9aSAndroid Build Coastguard Worker PACKET_DIAG_FILTER, 38*cf84ac9aSAndroid Build Coastguard Worker }; 39*cf84ac9aSAndroid Build Coastguard Worker 40*cf84ac9aSAndroid Build Coastguard Worker struct packet_diag_info { 41*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdi_index; 42*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdi_version; 43*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdi_reserve; 44*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdi_copy_thresh; 45*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdi_tstamp; 46*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdi_flags; 47*cf84ac9aSAndroid Build Coastguard Worker 48*cf84ac9aSAndroid Build Coastguard Worker #define PDI_RUNNING 0x1 49*cf84ac9aSAndroid Build Coastguard Worker #define PDI_AUXDATA 0x2 50*cf84ac9aSAndroid Build Coastguard Worker #define PDI_ORIGDEV 0x4 51*cf84ac9aSAndroid Build Coastguard Worker #define PDI_VNETHDR 0x8 52*cf84ac9aSAndroid Build Coastguard Worker #define PDI_LOSS 0x10 53*cf84ac9aSAndroid Build Coastguard Worker }; 54*cf84ac9aSAndroid Build Coastguard Worker 55*cf84ac9aSAndroid Build Coastguard Worker struct packet_diag_mclist { 56*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdmc_index; 57*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdmc_count; 58*cf84ac9aSAndroid Build Coastguard Worker uint16_t pdmc_type; 59*cf84ac9aSAndroid Build Coastguard Worker uint16_t pdmc_alen; 60*cf84ac9aSAndroid Build Coastguard Worker uint8_t pdmc_addr[32]; /* MAX_ADDR_LEN */ 61*cf84ac9aSAndroid Build Coastguard Worker }; 62*cf84ac9aSAndroid Build Coastguard Worker 63*cf84ac9aSAndroid Build Coastguard Worker struct packet_diag_ring { 64*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdr_block_size; 65*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdr_block_nr; 66*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdr_frame_size; 67*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdr_frame_nr; 68*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdr_retire_tmo; 69*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdr_sizeof_priv; 70*cf84ac9aSAndroid Build Coastguard Worker uint32_t pdr_features; 71*cf84ac9aSAndroid Build Coastguard Worker }; 72*cf84ac9aSAndroid Build Coastguard Worker 73*cf84ac9aSAndroid Build Coastguard Worker #endif /* !STRACE_LINUX_PACKET_DIAG_H */ 74