Commit | Line | Data |
---|---|---|
6f52b16c | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
96ec6327 PE |
2 | #ifndef __PACKET_DIAG_H__ |
3 | #define __PACKET_DIAG_H__ | |
4 | ||
5 | #include <linux/types.h> | |
6 | ||
7 | struct packet_diag_req { | |
8 | __u8 sdiag_family; | |
9 | __u8 sdiag_protocol; | |
10 | __u16 pad; | |
11 | __u32 pdiag_ino; | |
12 | __u32 pdiag_show; | |
13 | __u32 pdiag_cookie[2]; | |
14 | }; | |
15 | ||
8a360be0 | 16 | #define PACKET_SHOW_INFO 0x00000001 /* Basic packet_sk information */ |
eea68e2f | 17 | #define PACKET_SHOW_MCLIST 0x00000002 /* A set of packet_diag_mclist-s */ |
16f01365 | 18 | #define PACKET_SHOW_RING_CFG 0x00000004 /* Rings configuration parameters */ |
fff3321d | 19 | #define PACKET_SHOW_FANOUT 0x00000008 |
76d0eeb1 | 20 | #define PACKET_SHOW_MEMINFO 0x00000010 |
e8d9612c | 21 | #define PACKET_SHOW_FILTER 0x00000020 |
8a360be0 | 22 | |
96ec6327 PE |
23 | struct packet_diag_msg { |
24 | __u8 pdiag_family; | |
25 | __u8 pdiag_type; | |
26 | __u16 pdiag_num; | |
27 | ||
28 | __u32 pdiag_ino; | |
29 | __u32 pdiag_cookie[2]; | |
30 | }; | |
31 | ||
8a360be0 | 32 | enum { |
31e20bad | 33 | /* PACKET_DIAG_NONE, standard nl API requires this attribute! */ |
8a360be0 | 34 | PACKET_DIAG_INFO, |
eea68e2f | 35 | PACKET_DIAG_MCLIST, |
16f01365 PE |
36 | PACKET_DIAG_RX_RING, |
37 | PACKET_DIAG_TX_RING, | |
fff3321d | 38 | PACKET_DIAG_FANOUT, |
62641903 | 39 | PACKET_DIAG_UID, |
76d0eeb1 | 40 | PACKET_DIAG_MEMINFO, |
e8d9612c | 41 | PACKET_DIAG_FILTER, |
8a360be0 | 42 | |
ae5fc987 | 43 | __PACKET_DIAG_MAX, |
8a360be0 PE |
44 | }; |
45 | ||
ae5fc987 AV |
46 | #define PACKET_DIAG_MAX (__PACKET_DIAG_MAX - 1) |
47 | ||
8a360be0 PE |
48 | struct packet_diag_info { |
49 | __u32 pdi_index; | |
50 | __u32 pdi_version; | |
51 | __u32 pdi_reserve; | |
52 | __u32 pdi_copy_thresh; | |
53 | __u32 pdi_tstamp; | |
54 | __u32 pdi_flags; | |
55 | ||
56 | #define PDI_RUNNING 0x1 | |
57 | #define PDI_AUXDATA 0x2 | |
58 | #define PDI_ORIGDEV 0x4 | |
59 | #define PDI_VNETHDR 0x8 | |
60 | #define PDI_LOSS 0x10 | |
61 | }; | |
62 | ||
eea68e2f PE |
63 | struct packet_diag_mclist { |
64 | __u32 pdmc_index; | |
65 | __u32 pdmc_count; | |
66 | __u16 pdmc_type; | |
67 | __u16 pdmc_alen; | |
745cb7f8 | 68 | __u8 pdmc_addr[32]; /* MAX_ADDR_LEN */ |
eea68e2f PE |
69 | }; |
70 | ||
16f01365 PE |
71 | struct packet_diag_ring { |
72 | __u32 pdr_block_size; | |
73 | __u32 pdr_block_nr; | |
74 | __u32 pdr_frame_size; | |
75 | __u32 pdr_frame_nr; | |
76 | __u32 pdr_retire_tmo; | |
77 | __u32 pdr_sizeof_priv; | |
78 | __u32 pdr_features; | |
79 | }; | |
80 | ||
96ec6327 | 81 | #endif |