1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef _UAPI_LINUX_NETDEV_H
8 #define _UAPI_LINUX_NETDEV_H
9 #define NETDEV_FAMILY_NAME "netdev"
10 #define NETDEV_FAMILY_VERSION 1
11 enum netdev_xdp_act {
12   NETDEV_XDP_ACT_BASIC = 1,
13   NETDEV_XDP_ACT_REDIRECT = 2,
14   NETDEV_XDP_ACT_NDO_XMIT = 4,
15   NETDEV_XDP_ACT_XSK_ZEROCOPY = 8,
16   NETDEV_XDP_ACT_HW_OFFLOAD = 16,
17   NETDEV_XDP_ACT_RX_SG = 32,
18   NETDEV_XDP_ACT_NDO_XMIT_SG = 64,
19   NETDEV_XDP_ACT_MASK = 127,
20 };
21 enum netdev_xdp_rx_metadata {
22   NETDEV_XDP_RX_METADATA_TIMESTAMP = 1,
23   NETDEV_XDP_RX_METADATA_HASH = 2,
24   NETDEV_XDP_RX_METADATA_VLAN_TAG = 4,
25 };
26 enum netdev_xsk_flags {
27   NETDEV_XSK_FLAGS_TX_TIMESTAMP = 1,
28   NETDEV_XSK_FLAGS_TX_CHECKSUM = 2,
29 };
30 enum netdev_queue_type {
31   NETDEV_QUEUE_TYPE_RX,
32   NETDEV_QUEUE_TYPE_TX,
33 };
34 enum netdev_qstats_scope {
35   NETDEV_QSTATS_SCOPE_QUEUE = 1,
36 };
37 enum {
38   NETDEV_A_DEV_IFINDEX = 1,
39   NETDEV_A_DEV_PAD,
40   NETDEV_A_DEV_XDP_FEATURES,
41   NETDEV_A_DEV_XDP_ZC_MAX_SEGS,
42   NETDEV_A_DEV_XDP_RX_METADATA_FEATURES,
43   NETDEV_A_DEV_XSK_FEATURES,
44   __NETDEV_A_DEV_MAX,
45   NETDEV_A_DEV_MAX = (__NETDEV_A_DEV_MAX - 1)
46 };
47 enum {
48   NETDEV_A_PAGE_POOL_ID = 1,
49   NETDEV_A_PAGE_POOL_IFINDEX,
50   NETDEV_A_PAGE_POOL_NAPI_ID,
51   NETDEV_A_PAGE_POOL_INFLIGHT,
52   NETDEV_A_PAGE_POOL_INFLIGHT_MEM,
53   NETDEV_A_PAGE_POOL_DETACH_TIME,
54   __NETDEV_A_PAGE_POOL_MAX,
55   NETDEV_A_PAGE_POOL_MAX = (__NETDEV_A_PAGE_POOL_MAX - 1)
56 };
57 enum {
58   NETDEV_A_PAGE_POOL_STATS_INFO = 1,
59   NETDEV_A_PAGE_POOL_STATS_ALLOC_FAST = 8,
60   NETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW,
61   NETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW_HIGH_ORDER,
62   NETDEV_A_PAGE_POOL_STATS_ALLOC_EMPTY,
63   NETDEV_A_PAGE_POOL_STATS_ALLOC_REFILL,
64   NETDEV_A_PAGE_POOL_STATS_ALLOC_WAIVE,
65   NETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHED,
66   NETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHE_FULL,
67   NETDEV_A_PAGE_POOL_STATS_RECYCLE_RING,
68   NETDEV_A_PAGE_POOL_STATS_RECYCLE_RING_FULL,
69   NETDEV_A_PAGE_POOL_STATS_RECYCLE_RELEASED_REFCNT,
70   __NETDEV_A_PAGE_POOL_STATS_MAX,
71   NETDEV_A_PAGE_POOL_STATS_MAX = (__NETDEV_A_PAGE_POOL_STATS_MAX - 1)
72 };
73 enum {
74   NETDEV_A_NAPI_IFINDEX = 1,
75   NETDEV_A_NAPI_ID,
76   NETDEV_A_NAPI_IRQ,
77   NETDEV_A_NAPI_PID,
78   __NETDEV_A_NAPI_MAX,
79   NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
80 };
81 enum {
82   NETDEV_A_QUEUE_ID = 1,
83   NETDEV_A_QUEUE_IFINDEX,
84   NETDEV_A_QUEUE_TYPE,
85   NETDEV_A_QUEUE_NAPI_ID,
86   __NETDEV_A_QUEUE_MAX,
87   NETDEV_A_QUEUE_MAX = (__NETDEV_A_QUEUE_MAX - 1)
88 };
89 enum {
90   NETDEV_A_QSTATS_IFINDEX = 1,
91   NETDEV_A_QSTATS_QUEUE_TYPE,
92   NETDEV_A_QSTATS_QUEUE_ID,
93   NETDEV_A_QSTATS_SCOPE,
94   NETDEV_A_QSTATS_RX_PACKETS = 8,
95   NETDEV_A_QSTATS_RX_BYTES,
96   NETDEV_A_QSTATS_TX_PACKETS,
97   NETDEV_A_QSTATS_TX_BYTES,
98   NETDEV_A_QSTATS_RX_ALLOC_FAIL,
99   __NETDEV_A_QSTATS_MAX,
100   NETDEV_A_QSTATS_MAX = (__NETDEV_A_QSTATS_MAX - 1)
101 };
102 enum {
103   NETDEV_CMD_DEV_GET = 1,
104   NETDEV_CMD_DEV_ADD_NTF,
105   NETDEV_CMD_DEV_DEL_NTF,
106   NETDEV_CMD_DEV_CHANGE_NTF,
107   NETDEV_CMD_PAGE_POOL_GET,
108   NETDEV_CMD_PAGE_POOL_ADD_NTF,
109   NETDEV_CMD_PAGE_POOL_DEL_NTF,
110   NETDEV_CMD_PAGE_POOL_CHANGE_NTF,
111   NETDEV_CMD_PAGE_POOL_STATS_GET,
112   NETDEV_CMD_QUEUE_GET,
113   NETDEV_CMD_NAPI_GET,
114   NETDEV_CMD_QSTATS_GET,
115   __NETDEV_CMD_MAX,
116   NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
117 };
118 #define NETDEV_MCGRP_MGMT "mgmt"
119 #define NETDEV_MCGRP_PAGE_POOL "page-pool"
120 #endif
121