| Elliott Hughes | 180edef | 2023-11-02 00:08:05 +0000 | [diff] [blame] | 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 | */ | 
| Christopher Ferris | b7cef6d | 2023-05-09 19:04:15 +0000 | [diff] [blame] | 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 | }; | 
| Christopher Ferris | 0f79521 | 2024-01-17 14:17:28 -0800 | [diff] [blame] | 21 | enum netdev_xdp_rx_metadata { | 
|  | 22 | NETDEV_XDP_RX_METADATA_TIMESTAMP = 1, | 
|  | 23 | NETDEV_XDP_RX_METADATA_HASH = 2, | 
| Christopher Ferris | b830ddf | 2024-03-28 11:48:08 -0700 | [diff] [blame] | 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, | 
| Christopher Ferris | 0f79521 | 2024-01-17 14:17:28 -0800 | [diff] [blame] | 33 | }; | 
| Christopher Ferris | 7f4c837 | 2024-06-03 14:22:19 -0700 | [diff] [blame] | 34 | enum netdev_qstats_scope { | 
|  | 35 | NETDEV_QSTATS_SCOPE_QUEUE = 1, | 
|  | 36 | }; | 
| Christopher Ferris | b7cef6d | 2023-05-09 19:04:15 +0000 | [diff] [blame] | 37 | enum { | 
|  | 38 | NETDEV_A_DEV_IFINDEX = 1, | 
|  | 39 | NETDEV_A_DEV_PAD, | 
|  | 40 | NETDEV_A_DEV_XDP_FEATURES, | 
| Christopher Ferris | 67d1e5e | 2023-10-31 13:36:37 -0700 | [diff] [blame] | 41 | NETDEV_A_DEV_XDP_ZC_MAX_SEGS, | 
| Christopher Ferris | 0f79521 | 2024-01-17 14:17:28 -0800 | [diff] [blame] | 42 | NETDEV_A_DEV_XDP_RX_METADATA_FEATURES, | 
| Christopher Ferris | b830ddf | 2024-03-28 11:48:08 -0700 | [diff] [blame] | 43 | NETDEV_A_DEV_XSK_FEATURES, | 
| Christopher Ferris | b7cef6d | 2023-05-09 19:04:15 +0000 | [diff] [blame] | 44 | __NETDEV_A_DEV_MAX, | 
|  | 45 | NETDEV_A_DEV_MAX = (__NETDEV_A_DEV_MAX - 1) | 
|  | 46 | }; | 
|  | 47 | enum { | 
| Christopher Ferris | b830ddf | 2024-03-28 11:48:08 -0700 | [diff] [blame] | 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 { | 
| Christopher Ferris | 7f4c837 | 2024-06-03 14:22:19 -0700 | [diff] [blame] | 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 { | 
| Christopher Ferris | b7cef6d | 2023-05-09 19:04:15 +0000 | [diff] [blame] | 103 | NETDEV_CMD_DEV_GET = 1, | 
|  | 104 | NETDEV_CMD_DEV_ADD_NTF, | 
|  | 105 | NETDEV_CMD_DEV_DEL_NTF, | 
|  | 106 | NETDEV_CMD_DEV_CHANGE_NTF, | 
| Christopher Ferris | b830ddf | 2024-03-28 11:48:08 -0700 | [diff] [blame] | 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, | 
| Christopher Ferris | 7f4c837 | 2024-06-03 14:22:19 -0700 | [diff] [blame] | 114 | NETDEV_CMD_QSTATS_GET, | 
| Christopher Ferris | b7cef6d | 2023-05-09 19:04:15 +0000 | [diff] [blame] | 115 | __NETDEV_CMD_MAX, | 
|  | 116 | NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1) | 
|  | 117 | }; | 
|  | 118 | #define NETDEV_MCGRP_MGMT "mgmt" | 
| Christopher Ferris | b830ddf | 2024-03-28 11:48:08 -0700 | [diff] [blame] | 119 | #define NETDEV_MCGRP_PAGE_POOL "page-pool" | 
| Christopher Ferris | b7cef6d | 2023-05-09 19:04:15 +0000 | [diff] [blame] | 120 | #endif |