211 lines · c
1/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */2/* Do not edit directly, auto-generated from: */3/* Documentation/netlink/specs/netdev.yaml */4/* YNL-GEN uapi header */5 6#ifndef _UAPI_LINUX_NETDEV_H7#define _UAPI_LINUX_NETDEV_H8 9#define NETDEV_FAMILY_NAME "netdev"10#define NETDEV_FAMILY_VERSION 111 12/**13 * enum netdev_xdp_act14 * @NETDEV_XDP_ACT_BASIC: XDP features set supported by all drivers15 * (XDP_ABORTED, XDP_DROP, XDP_PASS, XDP_TX)16 * @NETDEV_XDP_ACT_REDIRECT: The netdev supports XDP_REDIRECT17 * @NETDEV_XDP_ACT_NDO_XMIT: This feature informs if netdev implements18 * ndo_xdp_xmit callback.19 * @NETDEV_XDP_ACT_XSK_ZEROCOPY: This feature informs if netdev supports AF_XDP20 * in zero copy mode.21 * @NETDEV_XDP_ACT_HW_OFFLOAD: This feature informs if netdev supports XDP hw22 * offloading.23 * @NETDEV_XDP_ACT_RX_SG: This feature informs if netdev implements non-linear24 * XDP buffer support in the driver napi callback.25 * @NETDEV_XDP_ACT_NDO_XMIT_SG: This feature informs if netdev implements26 * non-linear XDP buffer support in ndo_xdp_xmit callback.27 */28enum netdev_xdp_act {29 NETDEV_XDP_ACT_BASIC = 1,30 NETDEV_XDP_ACT_REDIRECT = 2,31 NETDEV_XDP_ACT_NDO_XMIT = 4,32 NETDEV_XDP_ACT_XSK_ZEROCOPY = 8,33 NETDEV_XDP_ACT_HW_OFFLOAD = 16,34 NETDEV_XDP_ACT_RX_SG = 32,35 NETDEV_XDP_ACT_NDO_XMIT_SG = 64,36 37 /* private: */38 NETDEV_XDP_ACT_MASK = 127,39};40 41/**42 * enum netdev_xdp_rx_metadata43 * @NETDEV_XDP_RX_METADATA_TIMESTAMP: Device is capable of exposing receive HW44 * timestamp via bpf_xdp_metadata_rx_timestamp().45 * @NETDEV_XDP_RX_METADATA_HASH: Device is capable of exposing receive packet46 * hash via bpf_xdp_metadata_rx_hash().47 * @NETDEV_XDP_RX_METADATA_VLAN_TAG: Device is capable of exposing receive48 * packet VLAN tag via bpf_xdp_metadata_rx_vlan_tag().49 */50enum netdev_xdp_rx_metadata {51 NETDEV_XDP_RX_METADATA_TIMESTAMP = 1,52 NETDEV_XDP_RX_METADATA_HASH = 2,53 NETDEV_XDP_RX_METADATA_VLAN_TAG = 4,54};55 56/**57 * enum netdev_xsk_flags58 * @NETDEV_XSK_FLAGS_TX_TIMESTAMP: HW timestamping egress packets is supported59 * by the driver.60 * @NETDEV_XSK_FLAGS_TX_CHECKSUM: L3 checksum HW offload is supported by the61 * driver.62 */63enum netdev_xsk_flags {64 NETDEV_XSK_FLAGS_TX_TIMESTAMP = 1,65 NETDEV_XSK_FLAGS_TX_CHECKSUM = 2,66};67 68enum netdev_queue_type {69 NETDEV_QUEUE_TYPE_RX,70 NETDEV_QUEUE_TYPE_TX,71};72 73enum netdev_qstats_scope {74 NETDEV_QSTATS_SCOPE_QUEUE = 1,75};76 77enum {78 NETDEV_A_DEV_IFINDEX = 1,79 NETDEV_A_DEV_PAD,80 NETDEV_A_DEV_XDP_FEATURES,81 NETDEV_A_DEV_XDP_ZC_MAX_SEGS,82 NETDEV_A_DEV_XDP_RX_METADATA_FEATURES,83 NETDEV_A_DEV_XSK_FEATURES,84 85 __NETDEV_A_DEV_MAX,86 NETDEV_A_DEV_MAX = (__NETDEV_A_DEV_MAX - 1)87};88 89enum {90 NETDEV_A_PAGE_POOL_ID = 1,91 NETDEV_A_PAGE_POOL_IFINDEX,92 NETDEV_A_PAGE_POOL_NAPI_ID,93 NETDEV_A_PAGE_POOL_INFLIGHT,94 NETDEV_A_PAGE_POOL_INFLIGHT_MEM,95 NETDEV_A_PAGE_POOL_DETACH_TIME,96 NETDEV_A_PAGE_POOL_DMABUF,97 98 __NETDEV_A_PAGE_POOL_MAX,99 NETDEV_A_PAGE_POOL_MAX = (__NETDEV_A_PAGE_POOL_MAX - 1)100};101 102enum {103 NETDEV_A_PAGE_POOL_STATS_INFO = 1,104 NETDEV_A_PAGE_POOL_STATS_ALLOC_FAST = 8,105 NETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW,106 NETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW_HIGH_ORDER,107 NETDEV_A_PAGE_POOL_STATS_ALLOC_EMPTY,108 NETDEV_A_PAGE_POOL_STATS_ALLOC_REFILL,109 NETDEV_A_PAGE_POOL_STATS_ALLOC_WAIVE,110 NETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHED,111 NETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHE_FULL,112 NETDEV_A_PAGE_POOL_STATS_RECYCLE_RING,113 NETDEV_A_PAGE_POOL_STATS_RECYCLE_RING_FULL,114 NETDEV_A_PAGE_POOL_STATS_RECYCLE_RELEASED_REFCNT,115 116 __NETDEV_A_PAGE_POOL_STATS_MAX,117 NETDEV_A_PAGE_POOL_STATS_MAX = (__NETDEV_A_PAGE_POOL_STATS_MAX - 1)118};119 120enum {121 NETDEV_A_NAPI_IFINDEX = 1,122 NETDEV_A_NAPI_ID,123 NETDEV_A_NAPI_IRQ,124 NETDEV_A_NAPI_PID,125 126 __NETDEV_A_NAPI_MAX,127 NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)128};129 130enum {131 NETDEV_A_QUEUE_ID = 1,132 NETDEV_A_QUEUE_IFINDEX,133 NETDEV_A_QUEUE_TYPE,134 NETDEV_A_QUEUE_NAPI_ID,135 NETDEV_A_QUEUE_DMABUF,136 137 __NETDEV_A_QUEUE_MAX,138 NETDEV_A_QUEUE_MAX = (__NETDEV_A_QUEUE_MAX - 1)139};140 141enum {142 NETDEV_A_QSTATS_IFINDEX = 1,143 NETDEV_A_QSTATS_QUEUE_TYPE,144 NETDEV_A_QSTATS_QUEUE_ID,145 NETDEV_A_QSTATS_SCOPE,146 NETDEV_A_QSTATS_RX_PACKETS = 8,147 NETDEV_A_QSTATS_RX_BYTES,148 NETDEV_A_QSTATS_TX_PACKETS,149 NETDEV_A_QSTATS_TX_BYTES,150 NETDEV_A_QSTATS_RX_ALLOC_FAIL,151 NETDEV_A_QSTATS_RX_HW_DROPS,152 NETDEV_A_QSTATS_RX_HW_DROP_OVERRUNS,153 NETDEV_A_QSTATS_RX_CSUM_COMPLETE,154 NETDEV_A_QSTATS_RX_CSUM_UNNECESSARY,155 NETDEV_A_QSTATS_RX_CSUM_NONE,156 NETDEV_A_QSTATS_RX_CSUM_BAD,157 NETDEV_A_QSTATS_RX_HW_GRO_PACKETS,158 NETDEV_A_QSTATS_RX_HW_GRO_BYTES,159 NETDEV_A_QSTATS_RX_HW_GRO_WIRE_PACKETS,160 NETDEV_A_QSTATS_RX_HW_GRO_WIRE_BYTES,161 NETDEV_A_QSTATS_RX_HW_DROP_RATELIMITS,162 NETDEV_A_QSTATS_TX_HW_DROPS,163 NETDEV_A_QSTATS_TX_HW_DROP_ERRORS,164 NETDEV_A_QSTATS_TX_CSUM_NONE,165 NETDEV_A_QSTATS_TX_NEEDS_CSUM,166 NETDEV_A_QSTATS_TX_HW_GSO_PACKETS,167 NETDEV_A_QSTATS_TX_HW_GSO_BYTES,168 NETDEV_A_QSTATS_TX_HW_GSO_WIRE_PACKETS,169 NETDEV_A_QSTATS_TX_HW_GSO_WIRE_BYTES,170 NETDEV_A_QSTATS_TX_HW_DROP_RATELIMITS,171 NETDEV_A_QSTATS_TX_STOP,172 NETDEV_A_QSTATS_TX_WAKE,173 174 __NETDEV_A_QSTATS_MAX,175 NETDEV_A_QSTATS_MAX = (__NETDEV_A_QSTATS_MAX - 1)176};177 178enum {179 NETDEV_A_DMABUF_IFINDEX = 1,180 NETDEV_A_DMABUF_QUEUES,181 NETDEV_A_DMABUF_FD,182 NETDEV_A_DMABUF_ID,183 184 __NETDEV_A_DMABUF_MAX,185 NETDEV_A_DMABUF_MAX = (__NETDEV_A_DMABUF_MAX - 1)186};187 188enum {189 NETDEV_CMD_DEV_GET = 1,190 NETDEV_CMD_DEV_ADD_NTF,191 NETDEV_CMD_DEV_DEL_NTF,192 NETDEV_CMD_DEV_CHANGE_NTF,193 NETDEV_CMD_PAGE_POOL_GET,194 NETDEV_CMD_PAGE_POOL_ADD_NTF,195 NETDEV_CMD_PAGE_POOL_DEL_NTF,196 NETDEV_CMD_PAGE_POOL_CHANGE_NTF,197 NETDEV_CMD_PAGE_POOL_STATS_GET,198 NETDEV_CMD_QUEUE_GET,199 NETDEV_CMD_NAPI_GET,200 NETDEV_CMD_QSTATS_GET,201 NETDEV_CMD_BIND_RX,202 203 __NETDEV_CMD_MAX,204 NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)205};206 207#define NETDEV_MCGRP_MGMT "mgmt"208#define NETDEV_MCGRP_PAGE_POOL "page-pool"209 210#endif /* _UAPI_LINUX_NETDEV_H */211