xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/xdp_diag.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _LINUX_XDP_DIAG_H
8*8d67ca89SAndroid Build Coastguard Worker #define _LINUX_XDP_DIAG_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker struct xdp_diag_req {
11*8d67ca89SAndroid Build Coastguard Worker   __u8 sdiag_family;
12*8d67ca89SAndroid Build Coastguard Worker   __u8 sdiag_protocol;
13*8d67ca89SAndroid Build Coastguard Worker   __u16 pad;
14*8d67ca89SAndroid Build Coastguard Worker   __u32 xdiag_ino;
15*8d67ca89SAndroid Build Coastguard Worker   __u32 xdiag_show;
16*8d67ca89SAndroid Build Coastguard Worker   __u32 xdiag_cookie[2];
17*8d67ca89SAndroid Build Coastguard Worker };
18*8d67ca89SAndroid Build Coastguard Worker struct xdp_diag_msg {
19*8d67ca89SAndroid Build Coastguard Worker   __u8 xdiag_family;
20*8d67ca89SAndroid Build Coastguard Worker   __u8 xdiag_type;
21*8d67ca89SAndroid Build Coastguard Worker   __u16 pad;
22*8d67ca89SAndroid Build Coastguard Worker   __u32 xdiag_ino;
23*8d67ca89SAndroid Build Coastguard Worker   __u32 xdiag_cookie[2];
24*8d67ca89SAndroid Build Coastguard Worker };
25*8d67ca89SAndroid Build Coastguard Worker #define XDP_SHOW_INFO (1 << 0)
26*8d67ca89SAndroid Build Coastguard Worker #define XDP_SHOW_RING_CFG (1 << 1)
27*8d67ca89SAndroid Build Coastguard Worker #define XDP_SHOW_UMEM (1 << 2)
28*8d67ca89SAndroid Build Coastguard Worker #define XDP_SHOW_MEMINFO (1 << 3)
29*8d67ca89SAndroid Build Coastguard Worker #define XDP_SHOW_STATS (1 << 4)
30*8d67ca89SAndroid Build Coastguard Worker enum {
31*8d67ca89SAndroid Build Coastguard Worker   XDP_DIAG_NONE,
32*8d67ca89SAndroid Build Coastguard Worker   XDP_DIAG_INFO,
33*8d67ca89SAndroid Build Coastguard Worker   XDP_DIAG_UID,
34*8d67ca89SAndroid Build Coastguard Worker   XDP_DIAG_RX_RING,
35*8d67ca89SAndroid Build Coastguard Worker   XDP_DIAG_TX_RING,
36*8d67ca89SAndroid Build Coastguard Worker   XDP_DIAG_UMEM,
37*8d67ca89SAndroid Build Coastguard Worker   XDP_DIAG_UMEM_FILL_RING,
38*8d67ca89SAndroid Build Coastguard Worker   XDP_DIAG_UMEM_COMPLETION_RING,
39*8d67ca89SAndroid Build Coastguard Worker   XDP_DIAG_MEMINFO,
40*8d67ca89SAndroid Build Coastguard Worker   XDP_DIAG_STATS,
41*8d67ca89SAndroid Build Coastguard Worker   __XDP_DIAG_MAX,
42*8d67ca89SAndroid Build Coastguard Worker };
43*8d67ca89SAndroid Build Coastguard Worker #define XDP_DIAG_MAX (__XDP_DIAG_MAX - 1)
44*8d67ca89SAndroid Build Coastguard Worker struct xdp_diag_info {
45*8d67ca89SAndroid Build Coastguard Worker   __u32 ifindex;
46*8d67ca89SAndroid Build Coastguard Worker   __u32 queue_id;
47*8d67ca89SAndroid Build Coastguard Worker };
48*8d67ca89SAndroid Build Coastguard Worker struct xdp_diag_ring {
49*8d67ca89SAndroid Build Coastguard Worker   __u32 entries;
50*8d67ca89SAndroid Build Coastguard Worker };
51*8d67ca89SAndroid Build Coastguard Worker #define XDP_DU_F_ZEROCOPY (1 << 0)
52*8d67ca89SAndroid Build Coastguard Worker struct xdp_diag_umem {
53*8d67ca89SAndroid Build Coastguard Worker   __u64 size;
54*8d67ca89SAndroid Build Coastguard Worker   __u32 id;
55*8d67ca89SAndroid Build Coastguard Worker   __u32 num_pages;
56*8d67ca89SAndroid Build Coastguard Worker   __u32 chunk_size;
57*8d67ca89SAndroid Build Coastguard Worker   __u32 headroom;
58*8d67ca89SAndroid Build Coastguard Worker   __u32 ifindex;
59*8d67ca89SAndroid Build Coastguard Worker   __u32 queue_id;
60*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
61*8d67ca89SAndroid Build Coastguard Worker   __u32 refs;
62*8d67ca89SAndroid Build Coastguard Worker };
63*8d67ca89SAndroid Build Coastguard Worker struct xdp_diag_stats {
64*8d67ca89SAndroid Build Coastguard Worker   __u64 n_rx_dropped;
65*8d67ca89SAndroid Build Coastguard Worker   __u64 n_rx_invalid;
66*8d67ca89SAndroid Build Coastguard Worker   __u64 n_rx_full;
67*8d67ca89SAndroid Build Coastguard Worker   __u64 n_fill_ring_empty;
68*8d67ca89SAndroid Build Coastguard Worker   __u64 n_tx_invalid;
69*8d67ca89SAndroid Build Coastguard Worker   __u64 n_tx_ring_empty;
70*8d67ca89SAndroid Build Coastguard Worker };
71*8d67ca89SAndroid Build Coastguard Worker #endif
72