Warning: This file is not a C or C++ file. It does not have highlighting.
1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
---|---|
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 | |
16 | #define PACKET_SHOW_INFO 0x00000001 /* Basic packet_sk information */ |
17 | #define PACKET_SHOW_MCLIST 0x00000002 /* A set of packet_diag_mclist-s */ |
18 | #define PACKET_SHOW_RING_CFG 0x00000004 /* Rings configuration parameters */ |
19 | #define PACKET_SHOW_FANOUT 0x00000008 |
20 | #define PACKET_SHOW_MEMINFO 0x00000010 |
21 | #define PACKET_SHOW_FILTER 0x00000020 |
22 | |
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 | |
32 | enum { |
33 | /* PACKET_DIAG_NONE, standard nl API requires this attribute! */ |
34 | PACKET_DIAG_INFO, |
35 | PACKET_DIAG_MCLIST, |
36 | PACKET_DIAG_RX_RING, |
37 | PACKET_DIAG_TX_RING, |
38 | PACKET_DIAG_FANOUT, |
39 | PACKET_DIAG_UID, |
40 | PACKET_DIAG_MEMINFO, |
41 | PACKET_DIAG_FILTER, |
42 | |
43 | __PACKET_DIAG_MAX, |
44 | }; |
45 | |
46 | #define PACKET_DIAG_MAX (__PACKET_DIAG_MAX - 1) |
47 | |
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 | |
63 | struct packet_diag_mclist { |
64 | __u32 pdmc_index; |
65 | __u32 pdmc_count; |
66 | __u16 pdmc_type; |
67 | __u16 pdmc_alen; |
68 | __u8 pdmc_addr[32]; /* MAX_ADDR_LEN */ |
69 | }; |
70 | |
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 | |
81 | #endif |
82 |
Warning: This file is not a C or C++ file. It does not have highlighting.