1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef __PACKET_DIAG_H__
3 #define __PACKET_DIAG_H__
5 #include <linux/types.h>
7 struct packet_diag_req {
13 __u32 pdiag_cookie[2];
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
23 struct packet_diag_msg {
29 __u32 pdiag_cookie[2];
33 /* PACKET_DIAG_NONE, standard nl API requires this attribute! */
46 #define PACKET_DIAG_MAX (__PACKET_DIAG_MAX - 1)
48 struct packet_diag_info {
52 __u32 pdi_copy_thresh;
56 #define PDI_RUNNING 0x1
57 #define PDI_AUXDATA 0x2
58 #define PDI_ORIGDEV 0x4
59 #define PDI_VNETHDR 0x8
63 struct packet_diag_mclist {
68 __u8 pdmc_addr[32]; /* MAX_ADDR_LEN */
71 struct packet_diag_ring {
77 __u32 pdr_sizeof_priv;