huangcm
2025-08-25 f350412dc55c15118d0a7925d1071877498e5e24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#ifndef STRACE_LINUX_NETLINK_DIAG_H
#define STRACE_LINUX_NETLINK_DIAG_H
 
struct netlink_diag_req {
   uint8_t sdiag_family;
   uint8_t sdiag_protocol;
   uint16_t pad;
   uint32_t ndiag_ino;
   uint32_t ndiag_show;
   uint32_t ndiag_cookie[2];
};
 
struct netlink_diag_msg {
   uint8_t ndiag_family;
   uint8_t ndiag_type;
   uint8_t ndiag_protocol;
   uint8_t ndiag_state;
 
   uint32_t ndiag_portid;
   uint32_t ndiag_dst_portid;
   uint32_t ndiag_dst_group;
   uint32_t ndiag_ino;
   uint32_t ndiag_cookie[2];
};
 
struct netlink_diag_ring {
   uint32_t ndr_block_size;
   uint32_t ndr_block_nr;
   uint32_t ndr_frame_size;
   uint32_t ndr_frame_nr;
};
 
enum {
   NETLINK_DIAG_MEMINFO,
   NETLINK_DIAG_GROUPS,
   NETLINK_DIAG_RX_RING,
   NETLINK_DIAG_TX_RING,
   NETLINK_DIAG_FLAGS,
};
 
#define NDIAG_SHOW_MEMINFO        0x00000001
#define NDIAG_SHOW_GROUPS        0x00000002
#define NDIAG_SHOW_RING_CFG        0x00000004 /* deprecated since 4.6 */
#define NDIAG_SHOW_FLAGS        0x00000008
#define NDIAG_PROTO_ALL            ((uint8_t) ~0)
 
/* flags */
#define NDIAG_FLAG_CB_RUNNING        0x00000001
#define NDIAG_FLAG_PKTINFO        0x00000002
#define NDIAG_FLAG_BROADCAST_ERROR    0x00000004
#define NDIAG_FLAG_NO_ENOBUFS        0x00000008
#define NDIAG_FLAG_LISTEN_ALL_NSID    0x00000010
#define NDIAG_FLAG_CAP_ACK        0x00000020
 
#endif /* !STRACE_LINUX_NETLINK_DIAG_H */