1/**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19#ifndef _UAPI_LINUX_DEVLINK_H_ 20#define _UAPI_LINUX_DEVLINK_H_ 21#define DEVLINK_GENL_NAME "devlink" 22#define DEVLINK_GENL_VERSION 0x1 23#define DEVLINK_GENL_MCGRP_CONFIG_NAME "config" 24enum devlink_command { 25 DEVLINK_CMD_UNSPEC, 26 DEVLINK_CMD_GET, 27 DEVLINK_CMD_SET, 28 DEVLINK_CMD_NEW, 29 DEVLINK_CMD_DEL, 30 DEVLINK_CMD_PORT_GET, 31 DEVLINK_CMD_PORT_SET, 32 DEVLINK_CMD_PORT_NEW, 33 DEVLINK_CMD_PORT_DEL, 34 DEVLINK_CMD_PORT_SPLIT, 35 DEVLINK_CMD_PORT_UNSPLIT, 36 DEVLINK_CMD_SB_GET, 37 DEVLINK_CMD_SB_SET, 38 DEVLINK_CMD_SB_NEW, 39 DEVLINK_CMD_SB_DEL, 40 DEVLINK_CMD_SB_POOL_GET, 41 DEVLINK_CMD_SB_POOL_SET, 42 DEVLINK_CMD_SB_POOL_NEW, 43 DEVLINK_CMD_SB_POOL_DEL, 44 DEVLINK_CMD_SB_PORT_POOL_GET, 45 DEVLINK_CMD_SB_PORT_POOL_SET, 46 DEVLINK_CMD_SB_PORT_POOL_NEW, 47 DEVLINK_CMD_SB_PORT_POOL_DEL, 48 DEVLINK_CMD_SB_TC_POOL_BIND_GET, 49 DEVLINK_CMD_SB_TC_POOL_BIND_SET, 50 DEVLINK_CMD_SB_TC_POOL_BIND_NEW, 51 DEVLINK_CMD_SB_TC_POOL_BIND_DEL, 52 DEVLINK_CMD_SB_OCC_SNAPSHOT, 53 DEVLINK_CMD_SB_OCC_MAX_CLEAR, 54 DEVLINK_CMD_ESWITCH_GET, 55#define DEVLINK_CMD_ESWITCH_MODE_GET DEVLINK_CMD_ESWITCH_GET 56 DEVLINK_CMD_ESWITCH_SET, 57#define DEVLINK_CMD_ESWITCH_MODE_SET DEVLINK_CMD_ESWITCH_SET 58 DEVLINK_CMD_DPIPE_TABLE_GET, 59 DEVLINK_CMD_DPIPE_ENTRIES_GET, 60 DEVLINK_CMD_DPIPE_HEADERS_GET, 61 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET, 62 __DEVLINK_CMD_MAX, 63 DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1 64}; 65enum devlink_port_type { 66 DEVLINK_PORT_TYPE_NOTSET, 67 DEVLINK_PORT_TYPE_AUTO, 68 DEVLINK_PORT_TYPE_ETH, 69 DEVLINK_PORT_TYPE_IB, 70}; 71enum devlink_sb_pool_type { 72 DEVLINK_SB_POOL_TYPE_INGRESS, 73 DEVLINK_SB_POOL_TYPE_EGRESS, 74}; 75enum devlink_sb_threshold_type { 76 DEVLINK_SB_THRESHOLD_TYPE_STATIC, 77 DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC, 78}; 79#define DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX 20 80enum devlink_eswitch_mode { 81 DEVLINK_ESWITCH_MODE_LEGACY, 82 DEVLINK_ESWITCH_MODE_SWITCHDEV, 83}; 84enum devlink_eswitch_inline_mode { 85 DEVLINK_ESWITCH_INLINE_MODE_NONE, 86 DEVLINK_ESWITCH_INLINE_MODE_LINK, 87 DEVLINK_ESWITCH_INLINE_MODE_NETWORK, 88 DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT, 89}; 90enum devlink_eswitch_encap_mode { 91 DEVLINK_ESWITCH_ENCAP_MODE_NONE, 92 DEVLINK_ESWITCH_ENCAP_MODE_BASIC, 93}; 94enum devlink_attr { 95 DEVLINK_ATTR_UNSPEC, 96 DEVLINK_ATTR_BUS_NAME, 97 DEVLINK_ATTR_DEV_NAME, 98 DEVLINK_ATTR_PORT_INDEX, 99 DEVLINK_ATTR_PORT_TYPE, 100 DEVLINK_ATTR_PORT_DESIRED_TYPE, 101 DEVLINK_ATTR_PORT_NETDEV_IFINDEX, 102 DEVLINK_ATTR_PORT_NETDEV_NAME, 103 DEVLINK_ATTR_PORT_IBDEV_NAME, 104 DEVLINK_ATTR_PORT_SPLIT_COUNT, 105 DEVLINK_ATTR_PORT_SPLIT_GROUP, 106 DEVLINK_ATTR_SB_INDEX, 107 DEVLINK_ATTR_SB_SIZE, 108 DEVLINK_ATTR_SB_INGRESS_POOL_COUNT, 109 DEVLINK_ATTR_SB_EGRESS_POOL_COUNT, 110 DEVLINK_ATTR_SB_INGRESS_TC_COUNT, 111 DEVLINK_ATTR_SB_EGRESS_TC_COUNT, 112 DEVLINK_ATTR_SB_POOL_INDEX, 113 DEVLINK_ATTR_SB_POOL_TYPE, 114 DEVLINK_ATTR_SB_POOL_SIZE, 115 DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE, 116 DEVLINK_ATTR_SB_THRESHOLD, 117 DEVLINK_ATTR_SB_TC_INDEX, 118 DEVLINK_ATTR_SB_OCC_CUR, 119 DEVLINK_ATTR_SB_OCC_MAX, 120 DEVLINK_ATTR_ESWITCH_MODE, 121 DEVLINK_ATTR_ESWITCH_INLINE_MODE, 122 DEVLINK_ATTR_DPIPE_TABLES, 123 DEVLINK_ATTR_DPIPE_TABLE, 124 DEVLINK_ATTR_DPIPE_TABLE_NAME, 125 DEVLINK_ATTR_DPIPE_TABLE_SIZE, 126 DEVLINK_ATTR_DPIPE_TABLE_MATCHES, 127 DEVLINK_ATTR_DPIPE_TABLE_ACTIONS, 128 DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED, 129 DEVLINK_ATTR_DPIPE_ENTRIES, 130 DEVLINK_ATTR_DPIPE_ENTRY, 131 DEVLINK_ATTR_DPIPE_ENTRY_INDEX, 132 DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES, 133 DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES, 134 DEVLINK_ATTR_DPIPE_ENTRY_COUNTER, 135 DEVLINK_ATTR_DPIPE_MATCH, 136 DEVLINK_ATTR_DPIPE_MATCH_VALUE, 137 DEVLINK_ATTR_DPIPE_MATCH_TYPE, 138 DEVLINK_ATTR_DPIPE_ACTION, 139 DEVLINK_ATTR_DPIPE_ACTION_VALUE, 140 DEVLINK_ATTR_DPIPE_ACTION_TYPE, 141 DEVLINK_ATTR_DPIPE_VALUE, 142 DEVLINK_ATTR_DPIPE_VALUE_MASK, 143 DEVLINK_ATTR_DPIPE_VALUE_MAPPING, 144 DEVLINK_ATTR_DPIPE_HEADERS, 145 DEVLINK_ATTR_DPIPE_HEADER, 146 DEVLINK_ATTR_DPIPE_HEADER_NAME, 147 DEVLINK_ATTR_DPIPE_HEADER_ID, 148 DEVLINK_ATTR_DPIPE_HEADER_FIELDS, 149 DEVLINK_ATTR_DPIPE_HEADER_GLOBAL, 150 DEVLINK_ATTR_DPIPE_HEADER_INDEX, 151 DEVLINK_ATTR_DPIPE_FIELD, 152 DEVLINK_ATTR_DPIPE_FIELD_NAME, 153 DEVLINK_ATTR_DPIPE_FIELD_ID, 154 DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH, 155 DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE, 156 DEVLINK_ATTR_PAD, 157 DEVLINK_ATTR_ESWITCH_ENCAP_MODE, 158 __DEVLINK_ATTR_MAX, 159 DEVLINK_ATTR_MAX = __DEVLINK_ATTR_MAX - 1 160}; 161enum devlink_dpipe_field_mapping_type { 162 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE, 163 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX, 164}; 165enum devlink_dpipe_match_type { 166 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT, 167}; 168enum devlink_dpipe_action_type { 169 DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY, 170}; 171enum devlink_dpipe_field_ethernet_id { 172 DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC, 173}; 174enum devlink_dpipe_field_ipv4_id { 175 DEVLINK_DPIPE_FIELD_IPV4_DST_IP, 176}; 177enum devlink_dpipe_field_ipv6_id { 178 DEVLINK_DPIPE_FIELD_IPV6_DST_IP, 179}; 180enum devlink_dpipe_header_id { 181 DEVLINK_DPIPE_HEADER_ETHERNET, 182 DEVLINK_DPIPE_HEADER_IPV4, 183 DEVLINK_DPIPE_HEADER_IPV6, 184}; 185#endif 186