1*f7c14bbaSAndroid Build Coastguard Worker /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ 2*f7c14bbaSAndroid Build Coastguard Worker /* Do not edit directly, auto-generated from: */ 3*f7c14bbaSAndroid Build Coastguard Worker /* Documentation/netlink/specs/netdev.yaml */ 4*f7c14bbaSAndroid Build Coastguard Worker /* YNL-GEN uapi header */ 5*f7c14bbaSAndroid Build Coastguard Worker 6*f7c14bbaSAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_NETDEV_H 7*f7c14bbaSAndroid Build Coastguard Worker #define _UAPI_LINUX_NETDEV_H 8*f7c14bbaSAndroid Build Coastguard Worker 9*f7c14bbaSAndroid Build Coastguard Worker #define NETDEV_FAMILY_NAME "netdev" 10*f7c14bbaSAndroid Build Coastguard Worker #define NETDEV_FAMILY_VERSION 1 11*f7c14bbaSAndroid Build Coastguard Worker 12*f7c14bbaSAndroid Build Coastguard Worker /** 13*f7c14bbaSAndroid Build Coastguard Worker * enum netdev_xdp_act 14*f7c14bbaSAndroid Build Coastguard Worker * @NETDEV_XDP_ACT_BASIC: XDP features set supported by all drivers 15*f7c14bbaSAndroid Build Coastguard Worker * (XDP_ABORTED, XDP_DROP, XDP_PASS, XDP_TX) 16*f7c14bbaSAndroid Build Coastguard Worker * @NETDEV_XDP_ACT_REDIRECT: The netdev supports XDP_REDIRECT 17*f7c14bbaSAndroid Build Coastguard Worker * @NETDEV_XDP_ACT_NDO_XMIT: This feature informs if netdev implements 18*f7c14bbaSAndroid Build Coastguard Worker * ndo_xdp_xmit callback. 19*f7c14bbaSAndroid Build Coastguard Worker * @NETDEV_XDP_ACT_XSK_ZEROCOPY: This feature informs if netdev supports AF_XDP 20*f7c14bbaSAndroid Build Coastguard Worker * in zero copy mode. 21*f7c14bbaSAndroid Build Coastguard Worker * @NETDEV_XDP_ACT_HW_OFFLOAD: This feature informs if netdev supports XDP hw 22*f7c14bbaSAndroid Build Coastguard Worker * offloading. 23*f7c14bbaSAndroid Build Coastguard Worker * @NETDEV_XDP_ACT_RX_SG: This feature informs if netdev implements non-linear 24*f7c14bbaSAndroid Build Coastguard Worker * XDP buffer support in the driver napi callback. 25*f7c14bbaSAndroid Build Coastguard Worker * @NETDEV_XDP_ACT_NDO_XMIT_SG: This feature informs if netdev implements 26*f7c14bbaSAndroid Build Coastguard Worker * non-linear XDP buffer support in ndo_xdp_xmit callback. 27*f7c14bbaSAndroid Build Coastguard Worker */ 28*f7c14bbaSAndroid Build Coastguard Worker enum netdev_xdp_act { 29*f7c14bbaSAndroid Build Coastguard Worker NETDEV_XDP_ACT_BASIC = 1, 30*f7c14bbaSAndroid Build Coastguard Worker NETDEV_XDP_ACT_REDIRECT = 2, 31*f7c14bbaSAndroid Build Coastguard Worker NETDEV_XDP_ACT_NDO_XMIT = 4, 32*f7c14bbaSAndroid Build Coastguard Worker NETDEV_XDP_ACT_XSK_ZEROCOPY = 8, 33*f7c14bbaSAndroid Build Coastguard Worker NETDEV_XDP_ACT_HW_OFFLOAD = 16, 34*f7c14bbaSAndroid Build Coastguard Worker NETDEV_XDP_ACT_RX_SG = 32, 35*f7c14bbaSAndroid Build Coastguard Worker NETDEV_XDP_ACT_NDO_XMIT_SG = 64, 36*f7c14bbaSAndroid Build Coastguard Worker 37*f7c14bbaSAndroid Build Coastguard Worker /* private: */ 38*f7c14bbaSAndroid Build Coastguard Worker NETDEV_XDP_ACT_MASK = 127, 39*f7c14bbaSAndroid Build Coastguard Worker }; 40*f7c14bbaSAndroid Build Coastguard Worker 41*f7c14bbaSAndroid Build Coastguard Worker /** 42*f7c14bbaSAndroid Build Coastguard Worker * enum netdev_xdp_rx_metadata 43*f7c14bbaSAndroid Build Coastguard Worker * @NETDEV_XDP_RX_METADATA_TIMESTAMP: Device is capable of exposing receive HW 44*f7c14bbaSAndroid Build Coastguard Worker * timestamp via bpf_xdp_metadata_rx_timestamp(). 45*f7c14bbaSAndroid Build Coastguard Worker * @NETDEV_XDP_RX_METADATA_HASH: Device is capable of exposing receive packet 46*f7c14bbaSAndroid Build Coastguard Worker * hash via bpf_xdp_metadata_rx_hash(). 47*f7c14bbaSAndroid Build Coastguard Worker * @NETDEV_XDP_RX_METADATA_VLAN_TAG: Device is capable of exposing receive 48*f7c14bbaSAndroid Build Coastguard Worker * packet VLAN tag via bpf_xdp_metadata_rx_vlan_tag(). 49*f7c14bbaSAndroid Build Coastguard Worker */ 50*f7c14bbaSAndroid Build Coastguard Worker enum netdev_xdp_rx_metadata { 51*f7c14bbaSAndroid Build Coastguard Worker NETDEV_XDP_RX_METADATA_TIMESTAMP = 1, 52*f7c14bbaSAndroid Build Coastguard Worker NETDEV_XDP_RX_METADATA_HASH = 2, 53*f7c14bbaSAndroid Build Coastguard Worker NETDEV_XDP_RX_METADATA_VLAN_TAG = 4, 54*f7c14bbaSAndroid Build Coastguard Worker }; 55*f7c14bbaSAndroid Build Coastguard Worker 56*f7c14bbaSAndroid Build Coastguard Worker /** 57*f7c14bbaSAndroid Build Coastguard Worker * enum netdev_xsk_flags 58*f7c14bbaSAndroid Build Coastguard Worker * @NETDEV_XSK_FLAGS_TX_TIMESTAMP: HW timestamping egress packets is supported 59*f7c14bbaSAndroid Build Coastguard Worker * by the driver. 60*f7c14bbaSAndroid Build Coastguard Worker * @NETDEV_XSK_FLAGS_TX_CHECKSUM: L3 checksum HW offload is supported by the 61*f7c14bbaSAndroid Build Coastguard Worker * driver. 62*f7c14bbaSAndroid Build Coastguard Worker */ 63*f7c14bbaSAndroid Build Coastguard Worker enum netdev_xsk_flags { 64*f7c14bbaSAndroid Build Coastguard Worker NETDEV_XSK_FLAGS_TX_TIMESTAMP = 1, 65*f7c14bbaSAndroid Build Coastguard Worker NETDEV_XSK_FLAGS_TX_CHECKSUM = 2, 66*f7c14bbaSAndroid Build Coastguard Worker }; 67*f7c14bbaSAndroid Build Coastguard Worker 68*f7c14bbaSAndroid Build Coastguard Worker enum netdev_queue_type { 69*f7c14bbaSAndroid Build Coastguard Worker NETDEV_QUEUE_TYPE_RX, 70*f7c14bbaSAndroid Build Coastguard Worker NETDEV_QUEUE_TYPE_TX, 71*f7c14bbaSAndroid Build Coastguard Worker }; 72*f7c14bbaSAndroid Build Coastguard Worker 73*f7c14bbaSAndroid Build Coastguard Worker enum netdev_qstats_scope { 74*f7c14bbaSAndroid Build Coastguard Worker NETDEV_QSTATS_SCOPE_QUEUE = 1, 75*f7c14bbaSAndroid Build Coastguard Worker }; 76*f7c14bbaSAndroid Build Coastguard Worker 77*f7c14bbaSAndroid Build Coastguard Worker enum { 78*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_DEV_IFINDEX = 1, 79*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_DEV_PAD, 80*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_DEV_XDP_FEATURES, 81*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_DEV_XDP_ZC_MAX_SEGS, 82*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_DEV_XDP_RX_METADATA_FEATURES, 83*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_DEV_XSK_FEATURES, 84*f7c14bbaSAndroid Build Coastguard Worker 85*f7c14bbaSAndroid Build Coastguard Worker __NETDEV_A_DEV_MAX, 86*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_DEV_MAX = (__NETDEV_A_DEV_MAX - 1) 87*f7c14bbaSAndroid Build Coastguard Worker }; 88*f7c14bbaSAndroid Build Coastguard Worker 89*f7c14bbaSAndroid Build Coastguard Worker enum { 90*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_ID = 1, 91*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_IFINDEX, 92*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_NAPI_ID, 93*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_INFLIGHT, 94*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_INFLIGHT_MEM, 95*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_DETACH_TIME, 96*f7c14bbaSAndroid Build Coastguard Worker 97*f7c14bbaSAndroid Build Coastguard Worker __NETDEV_A_PAGE_POOL_MAX, 98*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_MAX = (__NETDEV_A_PAGE_POOL_MAX - 1) 99*f7c14bbaSAndroid Build Coastguard Worker }; 100*f7c14bbaSAndroid Build Coastguard Worker 101*f7c14bbaSAndroid Build Coastguard Worker enum { 102*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_STATS_INFO = 1, 103*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_STATS_ALLOC_FAST = 8, 104*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW, 105*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW_HIGH_ORDER, 106*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_STATS_ALLOC_EMPTY, 107*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_STATS_ALLOC_REFILL, 108*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_STATS_ALLOC_WAIVE, 109*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHED, 110*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHE_FULL, 111*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_STATS_RECYCLE_RING, 112*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_STATS_RECYCLE_RING_FULL, 113*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_STATS_RECYCLE_RELEASED_REFCNT, 114*f7c14bbaSAndroid Build Coastguard Worker 115*f7c14bbaSAndroid Build Coastguard Worker __NETDEV_A_PAGE_POOL_STATS_MAX, 116*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_PAGE_POOL_STATS_MAX = (__NETDEV_A_PAGE_POOL_STATS_MAX - 1) 117*f7c14bbaSAndroid Build Coastguard Worker }; 118*f7c14bbaSAndroid Build Coastguard Worker 119*f7c14bbaSAndroid Build Coastguard Worker enum { 120*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_NAPI_IFINDEX = 1, 121*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_NAPI_ID, 122*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_NAPI_IRQ, 123*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_NAPI_PID, 124*f7c14bbaSAndroid Build Coastguard Worker 125*f7c14bbaSAndroid Build Coastguard Worker __NETDEV_A_NAPI_MAX, 126*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1) 127*f7c14bbaSAndroid Build Coastguard Worker }; 128*f7c14bbaSAndroid Build Coastguard Worker 129*f7c14bbaSAndroid Build Coastguard Worker enum { 130*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QUEUE_ID = 1, 131*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QUEUE_IFINDEX, 132*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QUEUE_TYPE, 133*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QUEUE_NAPI_ID, 134*f7c14bbaSAndroid Build Coastguard Worker 135*f7c14bbaSAndroid Build Coastguard Worker __NETDEV_A_QUEUE_MAX, 136*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QUEUE_MAX = (__NETDEV_A_QUEUE_MAX - 1) 137*f7c14bbaSAndroid Build Coastguard Worker }; 138*f7c14bbaSAndroid Build Coastguard Worker 139*f7c14bbaSAndroid Build Coastguard Worker enum { 140*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QSTATS_IFINDEX = 1, 141*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QSTATS_QUEUE_TYPE, 142*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QSTATS_QUEUE_ID, 143*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QSTATS_SCOPE, 144*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QSTATS_RX_PACKETS = 8, 145*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QSTATS_RX_BYTES, 146*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QSTATS_TX_PACKETS, 147*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QSTATS_TX_BYTES, 148*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QSTATS_RX_ALLOC_FAIL, 149*f7c14bbaSAndroid Build Coastguard Worker 150*f7c14bbaSAndroid Build Coastguard Worker __NETDEV_A_QSTATS_MAX, 151*f7c14bbaSAndroid Build Coastguard Worker NETDEV_A_QSTATS_MAX = (__NETDEV_A_QSTATS_MAX - 1) 152*f7c14bbaSAndroid Build Coastguard Worker }; 153*f7c14bbaSAndroid Build Coastguard Worker 154*f7c14bbaSAndroid Build Coastguard Worker enum { 155*f7c14bbaSAndroid Build Coastguard Worker NETDEV_CMD_DEV_GET = 1, 156*f7c14bbaSAndroid Build Coastguard Worker NETDEV_CMD_DEV_ADD_NTF, 157*f7c14bbaSAndroid Build Coastguard Worker NETDEV_CMD_DEV_DEL_NTF, 158*f7c14bbaSAndroid Build Coastguard Worker NETDEV_CMD_DEV_CHANGE_NTF, 159*f7c14bbaSAndroid Build Coastguard Worker NETDEV_CMD_PAGE_POOL_GET, 160*f7c14bbaSAndroid Build Coastguard Worker NETDEV_CMD_PAGE_POOL_ADD_NTF, 161*f7c14bbaSAndroid Build Coastguard Worker NETDEV_CMD_PAGE_POOL_DEL_NTF, 162*f7c14bbaSAndroid Build Coastguard Worker NETDEV_CMD_PAGE_POOL_CHANGE_NTF, 163*f7c14bbaSAndroid Build Coastguard Worker NETDEV_CMD_PAGE_POOL_STATS_GET, 164*f7c14bbaSAndroid Build Coastguard Worker NETDEV_CMD_QUEUE_GET, 165*f7c14bbaSAndroid Build Coastguard Worker NETDEV_CMD_NAPI_GET, 166*f7c14bbaSAndroid Build Coastguard Worker NETDEV_CMD_QSTATS_GET, 167*f7c14bbaSAndroid Build Coastguard Worker 168*f7c14bbaSAndroid Build Coastguard Worker __NETDEV_CMD_MAX, 169*f7c14bbaSAndroid Build Coastguard Worker NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1) 170*f7c14bbaSAndroid Build Coastguard Worker }; 171*f7c14bbaSAndroid Build Coastguard Worker 172*f7c14bbaSAndroid Build Coastguard Worker #define NETDEV_MCGRP_MGMT "mgmt" 173*f7c14bbaSAndroid Build Coastguard Worker #define NETDEV_MCGRP_PAGE_POOL "page-pool" 174*f7c14bbaSAndroid Build Coastguard Worker 175*f7c14bbaSAndroid Build Coastguard Worker #endif /* _UAPI_LINUX_NETDEV_H */ 176