xref: /aosp_15_r20/external/iproute2/include/uapi/linux/devlink.h (revision de1e4e894b0c224df933550f0afdecc354b238c4)
1*de1e4e89SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2*de1e4e89SAndroid Build Coastguard Worker /*
3*de1e4e89SAndroid Build Coastguard Worker  * include/uapi/linux/devlink.h - Network physical device Netlink interface
4*de1e4e89SAndroid Build Coastguard Worker  * Copyright (c) 2016 Mellanox Technologies. All rights reserved.
5*de1e4e89SAndroid Build Coastguard Worker  * Copyright (c) 2016 Jiri Pirko <[email protected]>
6*de1e4e89SAndroid Build Coastguard Worker  *
7*de1e4e89SAndroid Build Coastguard Worker  * This program is free software; you can redistribute it and/or modify
8*de1e4e89SAndroid Build Coastguard Worker  * it under the terms of the GNU General Public License as published by
9*de1e4e89SAndroid Build Coastguard Worker  * the Free Software Foundation; either version 2 of the License, or
10*de1e4e89SAndroid Build Coastguard Worker  * (at your option) any later version.
11*de1e4e89SAndroid Build Coastguard Worker  */
12*de1e4e89SAndroid Build Coastguard Worker 
13*de1e4e89SAndroid Build Coastguard Worker #ifndef _LINUX_DEVLINK_H_
14*de1e4e89SAndroid Build Coastguard Worker #define _LINUX_DEVLINK_H_
15*de1e4e89SAndroid Build Coastguard Worker 
16*de1e4e89SAndroid Build Coastguard Worker #define DEVLINK_GENL_NAME "devlink"
17*de1e4e89SAndroid Build Coastguard Worker #define DEVLINK_GENL_VERSION 0x1
18*de1e4e89SAndroid Build Coastguard Worker #define DEVLINK_GENL_MCGRP_CONFIG_NAME "config"
19*de1e4e89SAndroid Build Coastguard Worker 
20*de1e4e89SAndroid Build Coastguard Worker enum devlink_command {
21*de1e4e89SAndroid Build Coastguard Worker 	/* don't change the order or add anything between, this is ABI! */
22*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_UNSPEC,
23*de1e4e89SAndroid Build Coastguard Worker 
24*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_GET,		/* can dump */
25*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SET,
26*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_NEW,
27*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_DEL,
28*de1e4e89SAndroid Build Coastguard Worker 
29*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_PORT_GET,		/* can dump */
30*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_PORT_SET,
31*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_PORT_NEW,
32*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_PORT_DEL,
33*de1e4e89SAndroid Build Coastguard Worker 
34*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_PORT_SPLIT,
35*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_PORT_UNSPLIT,
36*de1e4e89SAndroid Build Coastguard Worker 
37*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_GET,		/* can dump */
38*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_SET,
39*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_NEW,
40*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_DEL,
41*de1e4e89SAndroid Build Coastguard Worker 
42*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_POOL_GET,	/* can dump */
43*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_POOL_SET,
44*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_POOL_NEW,
45*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_POOL_DEL,
46*de1e4e89SAndroid Build Coastguard Worker 
47*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_PORT_POOL_GET,	/* can dump */
48*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_PORT_POOL_SET,
49*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_PORT_POOL_NEW,
50*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_PORT_POOL_DEL,
51*de1e4e89SAndroid Build Coastguard Worker 
52*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_TC_POOL_BIND_GET,	/* can dump */
53*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_TC_POOL_BIND_SET,
54*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_TC_POOL_BIND_NEW,
55*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_TC_POOL_BIND_DEL,
56*de1e4e89SAndroid Build Coastguard Worker 
57*de1e4e89SAndroid Build Coastguard Worker 	/* Shared buffer occupancy monitoring commands */
58*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_OCC_SNAPSHOT,
59*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_SB_OCC_MAX_CLEAR,
60*de1e4e89SAndroid Build Coastguard Worker 
61*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_ESWITCH_GET,
62*de1e4e89SAndroid Build Coastguard Worker #define DEVLINK_CMD_ESWITCH_MODE_GET /* obsolete, never use this! */ \
63*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_ESWITCH_GET
64*de1e4e89SAndroid Build Coastguard Worker 
65*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_ESWITCH_SET,
66*de1e4e89SAndroid Build Coastguard Worker #define DEVLINK_CMD_ESWITCH_MODE_SET /* obsolete, never use this! */ \
67*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_ESWITCH_SET
68*de1e4e89SAndroid Build Coastguard Worker 
69*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_DPIPE_TABLE_GET,
70*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_DPIPE_ENTRIES_GET,
71*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_DPIPE_HEADERS_GET,
72*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET,
73*de1e4e89SAndroid Build Coastguard Worker 
74*de1e4e89SAndroid Build Coastguard Worker 	/* add new commands above here */
75*de1e4e89SAndroid Build Coastguard Worker 	__DEVLINK_CMD_MAX,
76*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
77*de1e4e89SAndroid Build Coastguard Worker };
78*de1e4e89SAndroid Build Coastguard Worker 
79*de1e4e89SAndroid Build Coastguard Worker enum devlink_port_type {
80*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_PORT_TYPE_NOTSET,
81*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_PORT_TYPE_AUTO,
82*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_PORT_TYPE_ETH,
83*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_PORT_TYPE_IB,
84*de1e4e89SAndroid Build Coastguard Worker };
85*de1e4e89SAndroid Build Coastguard Worker 
86*de1e4e89SAndroid Build Coastguard Worker enum devlink_sb_pool_type {
87*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_SB_POOL_TYPE_INGRESS,
88*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_SB_POOL_TYPE_EGRESS,
89*de1e4e89SAndroid Build Coastguard Worker };
90*de1e4e89SAndroid Build Coastguard Worker 
91*de1e4e89SAndroid Build Coastguard Worker /* static threshold - limiting the maximum number of bytes.
92*de1e4e89SAndroid Build Coastguard Worker  * dynamic threshold - limiting the maximum number of bytes
93*de1e4e89SAndroid Build Coastguard Worker  *   based on the currently available free space in the shared buffer pool.
94*de1e4e89SAndroid Build Coastguard Worker  *   In this mode, the maximum quota is calculated based
95*de1e4e89SAndroid Build Coastguard Worker  *   on the following formula:
96*de1e4e89SAndroid Build Coastguard Worker  *     max_quota = alpha / (1 + alpha) * Free_Buffer
97*de1e4e89SAndroid Build Coastguard Worker  *   While Free_Buffer is the amount of none-occupied buffer associated to
98*de1e4e89SAndroid Build Coastguard Worker  *   the relevant pool.
99*de1e4e89SAndroid Build Coastguard Worker  *   The value range which can be passed is 0-20 and serves
100*de1e4e89SAndroid Build Coastguard Worker  *   for computation of alpha by following formula:
101*de1e4e89SAndroid Build Coastguard Worker  *     alpha = 2 ^ (passed_value - 10)
102*de1e4e89SAndroid Build Coastguard Worker  */
103*de1e4e89SAndroid Build Coastguard Worker 
104*de1e4e89SAndroid Build Coastguard Worker enum devlink_sb_threshold_type {
105*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_SB_THRESHOLD_TYPE_STATIC,
106*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC,
107*de1e4e89SAndroid Build Coastguard Worker };
108*de1e4e89SAndroid Build Coastguard Worker 
109*de1e4e89SAndroid Build Coastguard Worker #define DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX 20
110*de1e4e89SAndroid Build Coastguard Worker 
111*de1e4e89SAndroid Build Coastguard Worker enum devlink_eswitch_mode {
112*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ESWITCH_MODE_LEGACY,
113*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ESWITCH_MODE_SWITCHDEV,
114*de1e4e89SAndroid Build Coastguard Worker };
115*de1e4e89SAndroid Build Coastguard Worker 
116*de1e4e89SAndroid Build Coastguard Worker enum devlink_eswitch_inline_mode {
117*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ESWITCH_INLINE_MODE_NONE,
118*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ESWITCH_INLINE_MODE_LINK,
119*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ESWITCH_INLINE_MODE_NETWORK,
120*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT,
121*de1e4e89SAndroid Build Coastguard Worker };
122*de1e4e89SAndroid Build Coastguard Worker 
123*de1e4e89SAndroid Build Coastguard Worker enum devlink_eswitch_encap_mode {
124*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ESWITCH_ENCAP_MODE_NONE,
125*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ESWITCH_ENCAP_MODE_BASIC,
126*de1e4e89SAndroid Build Coastguard Worker };
127*de1e4e89SAndroid Build Coastguard Worker 
128*de1e4e89SAndroid Build Coastguard Worker enum devlink_attr {
129*de1e4e89SAndroid Build Coastguard Worker 	/* don't change the order or add anything between, this is ABI! */
130*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_UNSPEC,
131*de1e4e89SAndroid Build Coastguard Worker 
132*de1e4e89SAndroid Build Coastguard Worker 	/* bus name + dev name together are a handle for devlink entity */
133*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_BUS_NAME,			/* string */
134*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DEV_NAME,			/* string */
135*de1e4e89SAndroid Build Coastguard Worker 
136*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_PORT_INDEX,		/* u32 */
137*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_PORT_TYPE,			/* u16 */
138*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_PORT_DESIRED_TYPE,		/* u16 */
139*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_PORT_NETDEV_IFINDEX,	/* u32 */
140*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_PORT_NETDEV_NAME,		/* string */
141*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_PORT_IBDEV_NAME,		/* string */
142*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_PORT_SPLIT_COUNT,		/* u32 */
143*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_PORT_SPLIT_GROUP,		/* u32 */
144*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_SB_INDEX,			/* u32 */
145*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_SB_SIZE,			/* u32 */
146*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_SB_INGRESS_POOL_COUNT,	/* u16 */
147*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_SB_EGRESS_POOL_COUNT,	/* u16 */
148*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_SB_INGRESS_TC_COUNT,	/* u16 */
149*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_SB_EGRESS_TC_COUNT,	/* u16 */
150*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_SB_POOL_INDEX,		/* u16 */
151*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_SB_POOL_TYPE,		/* u8 */
152*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_SB_POOL_SIZE,		/* u32 */
153*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE,	/* u8 */
154*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_SB_THRESHOLD,		/* u32 */
155*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_SB_TC_INDEX,		/* u16 */
156*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_SB_OCC_CUR,		/* u32 */
157*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_SB_OCC_MAX,		/* u32 */
158*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_ESWITCH_MODE,		/* u16 */
159*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_ESWITCH_INLINE_MODE,	/* u8 */
160*de1e4e89SAndroid Build Coastguard Worker 
161*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_TABLES,		/* nested */
162*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_TABLE,		/* nested */
163*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_TABLE_NAME,		/* string */
164*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_TABLE_SIZE,		/* u64 */
165*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_TABLE_MATCHES,	/* nested */
166*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_TABLE_ACTIONS,	/* nested */
167*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED,	/* u8 */
168*de1e4e89SAndroid Build Coastguard Worker 
169*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_ENTRIES,		/* nested */
170*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_ENTRY,		/* nested */
171*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_ENTRY_INDEX,		/* u64 */
172*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES,	/* nested */
173*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES,	/* nested */
174*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_ENTRY_COUNTER,	/* u64 */
175*de1e4e89SAndroid Build Coastguard Worker 
176*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_MATCH,		/* nested */
177*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_MATCH_VALUE,		/* nested */
178*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_MATCH_TYPE,		/* u32 */
179*de1e4e89SAndroid Build Coastguard Worker 
180*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_ACTION,		/* nested */
181*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_ACTION_VALUE,	/* nested */
182*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_ACTION_TYPE,		/* u32 */
183*de1e4e89SAndroid Build Coastguard Worker 
184*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_VALUE,
185*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_VALUE_MASK,
186*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_VALUE_MAPPING,	/* u32 */
187*de1e4e89SAndroid Build Coastguard Worker 
188*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_HEADERS,		/* nested */
189*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_HEADER,		/* nested */
190*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_HEADER_NAME,		/* string */
191*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_HEADER_ID,		/* u32 */
192*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_HEADER_FIELDS,	/* nested */
193*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_HEADER_GLOBAL,	/* u8 */
194*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_HEADER_INDEX,	/* u32 */
195*de1e4e89SAndroid Build Coastguard Worker 
196*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_FIELD,		/* nested */
197*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_FIELD_NAME,		/* string */
198*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_FIELD_ID,		/* u32 */
199*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH,	/* u32 */
200*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE,	/* u32 */
201*de1e4e89SAndroid Build Coastguard Worker 
202*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_PAD,
203*de1e4e89SAndroid Build Coastguard Worker 
204*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_ESWITCH_ENCAP_MODE,	/* u8 */
205*de1e4e89SAndroid Build Coastguard Worker 
206*de1e4e89SAndroid Build Coastguard Worker 	/* add new attributes above here, update the policy in devlink.c */
207*de1e4e89SAndroid Build Coastguard Worker 
208*de1e4e89SAndroid Build Coastguard Worker 	__DEVLINK_ATTR_MAX,
209*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_ATTR_MAX = __DEVLINK_ATTR_MAX - 1
210*de1e4e89SAndroid Build Coastguard Worker };
211*de1e4e89SAndroid Build Coastguard Worker 
212*de1e4e89SAndroid Build Coastguard Worker /* Mapping between internal resource described by the field and system
213*de1e4e89SAndroid Build Coastguard Worker  * structure
214*de1e4e89SAndroid Build Coastguard Worker  */
215*de1e4e89SAndroid Build Coastguard Worker enum devlink_dpipe_field_mapping_type {
216*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE,
217*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX,
218*de1e4e89SAndroid Build Coastguard Worker };
219*de1e4e89SAndroid Build Coastguard Worker 
220*de1e4e89SAndroid Build Coastguard Worker /* Match type - specify the type of the match */
221*de1e4e89SAndroid Build Coastguard Worker enum devlink_dpipe_match_type {
222*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT,
223*de1e4e89SAndroid Build Coastguard Worker };
224*de1e4e89SAndroid Build Coastguard Worker 
225*de1e4e89SAndroid Build Coastguard Worker /* Action type - specify the action type */
226*de1e4e89SAndroid Build Coastguard Worker enum devlink_dpipe_action_type {
227*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY,
228*de1e4e89SAndroid Build Coastguard Worker };
229*de1e4e89SAndroid Build Coastguard Worker 
230*de1e4e89SAndroid Build Coastguard Worker enum devlink_dpipe_field_ethernet_id {
231*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC,
232*de1e4e89SAndroid Build Coastguard Worker };
233*de1e4e89SAndroid Build Coastguard Worker 
234*de1e4e89SAndroid Build Coastguard Worker enum devlink_dpipe_field_ipv4_id {
235*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_DPIPE_FIELD_IPV4_DST_IP,
236*de1e4e89SAndroid Build Coastguard Worker };
237*de1e4e89SAndroid Build Coastguard Worker 
238*de1e4e89SAndroid Build Coastguard Worker enum devlink_dpipe_field_ipv6_id {
239*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_DPIPE_FIELD_IPV6_DST_IP,
240*de1e4e89SAndroid Build Coastguard Worker };
241*de1e4e89SAndroid Build Coastguard Worker 
242*de1e4e89SAndroid Build Coastguard Worker enum devlink_dpipe_header_id {
243*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_DPIPE_HEADER_ETHERNET,
244*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_DPIPE_HEADER_IPV4,
245*de1e4e89SAndroid Build Coastguard Worker 	DEVLINK_DPIPE_HEADER_IPV6,
246*de1e4e89SAndroid Build Coastguard Worker };
247*de1e4e89SAndroid Build Coastguard Worker 
248*de1e4e89SAndroid Build Coastguard Worker #endif /* _LINUX_DEVLINK_H_ */
249