Commit | Line | Data |
---|---|---|
2b4a8990 MK |
1 | /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ |
2 | /* | |
3 | * include/uapi/linux/ethtool_netlink.h - netlink interface for ethtool | |
4 | * | |
72ef5e52 | 5 | * See Documentation/networking/ethtool-netlink.rst in kernel source tree for |
2b4a8990 MK |
6 | * doucumentation of the interface. |
7 | */ | |
8 | ||
9 | #ifndef _UAPI_LINUX_ETHTOOL_NETLINK_H_ | |
10 | #define _UAPI_LINUX_ETHTOOL_NETLINK_H_ | |
11 | ||
12 | #include <linux/ethtool.h> | |
13 | ||
14 | /* message types - userspace to kernel */ | |
15 | enum { | |
16 | ETHTOOL_MSG_USER_NONE, | |
71921690 | 17 | ETHTOOL_MSG_STRSET_GET, |
459e0b81 | 18 | ETHTOOL_MSG_LINKINFO_GET, |
a53f3d41 | 19 | ETHTOOL_MSG_LINKINFO_SET, |
f625aa9b | 20 | ETHTOOL_MSG_LINKMODES_GET, |
bfbcfe20 | 21 | ETHTOOL_MSG_LINKMODES_SET, |
3d2b847f | 22 | ETHTOOL_MSG_LINKSTATE_GET, |
6a94b8cc | 23 | ETHTOOL_MSG_DEBUG_GET, |
e54d04e3 | 24 | ETHTOOL_MSG_DEBUG_SET, |
51ea22b0 | 25 | ETHTOOL_MSG_WOL_GET, |
8d425b19 | 26 | ETHTOOL_MSG_WOL_SET, |
0524399d | 27 | ETHTOOL_MSG_FEATURES_GET, |
0980bfcd | 28 | ETHTOOL_MSG_FEATURES_SET, |
e16c3386 | 29 | ETHTOOL_MSG_PRIVFLAGS_GET, |
f265d799 | 30 | ETHTOOL_MSG_PRIVFLAGS_SET, |
e4a1717b | 31 | ETHTOOL_MSG_RINGS_GET, |
2fc2929e | 32 | ETHTOOL_MSG_RINGS_SET, |
0c84979c | 33 | ETHTOOL_MSG_CHANNELS_GET, |
e19c591e | 34 | ETHTOOL_MSG_CHANNELS_SET, |
21727545 | 35 | ETHTOOL_MSG_COALESCE_GET, |
9881418c | 36 | ETHTOOL_MSG_COALESCE_SET, |
7f59fb32 | 37 | ETHTOOL_MSG_PAUSE_GET, |
3ab87993 | 38 | ETHTOOL_MSG_PAUSE_SET, |
b7eeefe7 | 39 | ETHTOOL_MSG_EEE_GET, |
fd77be7b | 40 | ETHTOOL_MSG_EEE_SET, |
5b071c59 | 41 | ETHTOOL_MSG_TSINFO_GET, |
11ca3c42 | 42 | ETHTOOL_MSG_CABLE_TEST_ACT, |
a331172b | 43 | ETHTOOL_MSG_CABLE_TEST_TDR_ACT, |
c7d759eb | 44 | ETHTOOL_MSG_TUNNEL_INFO_GET, |
1e5d1f69 JK |
45 | ETHTOOL_MSG_FEC_GET, |
46 | ETHTOOL_MSG_FEC_SET, | |
c781ff12 | 47 | ETHTOOL_MSG_MODULE_EEPROM_GET, |
f09ea6fb | 48 | ETHTOOL_MSG_STATS_GET, |
c156174a | 49 | ETHTOOL_MSG_PHC_VCLOCKS_GET, |
353407d9 IS |
50 | ETHTOOL_MSG_MODULE_GET, |
51 | ETHTOOL_MSG_MODULE_SET, | |
18ff0bcd OR |
52 | ETHTOOL_MSG_PSE_GET, |
53 | ETHTOOL_MSG_PSE_SET, | |
7112a046 | 54 | ETHTOOL_MSG_RSS_GET, |
8580e16c PB |
55 | ETHTOOL_MSG_PLCA_GET_CFG, |
56 | ETHTOOL_MSG_PLCA_SET_CFG, | |
57 | ETHTOOL_MSG_PLCA_GET_STATUS, | |
2b30f829 VO |
58 | ETHTOOL_MSG_MM_GET, |
59 | ETHTOOL_MSG_MM_SET, | |
2b4a8990 MK |
60 | |
61 | /* add new constants above here */ | |
62 | __ETHTOOL_MSG_USER_CNT, | |
63 | ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1 | |
64 | }; | |
65 | ||
66 | /* message types - kernel to userspace */ | |
67 | enum { | |
68 | ETHTOOL_MSG_KERNEL_NONE, | |
71921690 | 69 | ETHTOOL_MSG_STRSET_GET_REPLY, |
459e0b81 | 70 | ETHTOOL_MSG_LINKINFO_GET_REPLY, |
73286734 | 71 | ETHTOOL_MSG_LINKINFO_NTF, |
f625aa9b | 72 | ETHTOOL_MSG_LINKMODES_GET_REPLY, |
1b1b1847 | 73 | ETHTOOL_MSG_LINKMODES_NTF, |
3d2b847f | 74 | ETHTOOL_MSG_LINKSTATE_GET_REPLY, |
6a94b8cc | 75 | ETHTOOL_MSG_DEBUG_GET_REPLY, |
0bda7af3 | 76 | ETHTOOL_MSG_DEBUG_NTF, |
51ea22b0 | 77 | ETHTOOL_MSG_WOL_GET_REPLY, |
67bffa79 | 78 | ETHTOOL_MSG_WOL_NTF, |
0524399d | 79 | ETHTOOL_MSG_FEATURES_GET_REPLY, |
0980bfcd | 80 | ETHTOOL_MSG_FEATURES_SET_REPLY, |
9c6451ef | 81 | ETHTOOL_MSG_FEATURES_NTF, |
e16c3386 | 82 | ETHTOOL_MSG_PRIVFLAGS_GET_REPLY, |
111dcba3 | 83 | ETHTOOL_MSG_PRIVFLAGS_NTF, |
e4a1717b | 84 | ETHTOOL_MSG_RINGS_GET_REPLY, |
bc9d1c99 | 85 | ETHTOOL_MSG_RINGS_NTF, |
0c84979c | 86 | ETHTOOL_MSG_CHANNELS_GET_REPLY, |
546379b9 | 87 | ETHTOOL_MSG_CHANNELS_NTF, |
21727545 | 88 | ETHTOOL_MSG_COALESCE_GET_REPLY, |
0cf3eac8 | 89 | ETHTOOL_MSG_COALESCE_NTF, |
7f59fb32 | 90 | ETHTOOL_MSG_PAUSE_GET_REPLY, |
bf37faa3 | 91 | ETHTOOL_MSG_PAUSE_NTF, |
b7eeefe7 | 92 | ETHTOOL_MSG_EEE_GET_REPLY, |
6c5bc8fe | 93 | ETHTOOL_MSG_EEE_NTF, |
5b071c59 | 94 | ETHTOOL_MSG_TSINFO_GET_REPLY, |
b28efb93 | 95 | ETHTOOL_MSG_CABLE_TEST_NTF, |
a331172b | 96 | ETHTOOL_MSG_CABLE_TEST_TDR_NTF, |
19a83d36 | 97 | ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY, |
1e5d1f69 JK |
98 | ETHTOOL_MSG_FEC_GET_REPLY, |
99 | ETHTOOL_MSG_FEC_NTF, | |
c781ff12 | 100 | ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY, |
f09ea6fb | 101 | ETHTOOL_MSG_STATS_GET_REPLY, |
c156174a | 102 | ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY, |
353407d9 IS |
103 | ETHTOOL_MSG_MODULE_GET_REPLY, |
104 | ETHTOOL_MSG_MODULE_NTF, | |
18ff0bcd | 105 | ETHTOOL_MSG_PSE_GET_REPLY, |
7112a046 | 106 | ETHTOOL_MSG_RSS_GET_REPLY, |
8580e16c PB |
107 | ETHTOOL_MSG_PLCA_GET_CFG_REPLY, |
108 | ETHTOOL_MSG_PLCA_GET_STATUS_REPLY, | |
109 | ETHTOOL_MSG_PLCA_NTF, | |
2b30f829 VO |
110 | ETHTOOL_MSG_MM_GET_REPLY, |
111 | ETHTOOL_MSG_MM_NTF, | |
2b4a8990 MK |
112 | |
113 | /* add new constants above here */ | |
114 | __ETHTOOL_MSG_KERNEL_CNT, | |
115 | ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1 | |
116 | }; | |
117 | ||
041b1c5d MK |
118 | /* request header */ |
119 | ||
ff8877b0 JK |
120 | enum ethtool_header_flags { |
121 | ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0, /* use compact bitsets in reply */ | |
122 | ETHTOOL_FLAG_OMIT_REPLY = 1 << 1, /* provide optional reply for SET or ACT requests */ | |
123 | ETHTOOL_FLAG_STATS = 1 << 2, /* request statistics, if supported by the driver */ | |
124 | }; | |
041b1c5d MK |
125 | |
126 | #define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \ | |
9a27a330 JK |
127 | ETHTOOL_FLAG_OMIT_REPLY | \ |
128 | ETHTOOL_FLAG_STATS) | |
041b1c5d MK |
129 | |
130 | enum { | |
131 | ETHTOOL_A_HEADER_UNSPEC, | |
132 | ETHTOOL_A_HEADER_DEV_INDEX, /* u32 */ | |
133 | ETHTOOL_A_HEADER_DEV_NAME, /* string */ | |
134 | ETHTOOL_A_HEADER_FLAGS, /* u32 - ETHTOOL_FLAG_* */ | |
841942bc | 135 | ETHTOOL_A_HEADER_PHY_INDEX, /* u32 */ |
041b1c5d MK |
136 | |
137 | /* add new constants above here */ | |
138 | __ETHTOOL_A_HEADER_CNT, | |
139 | ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1 | |
140 | }; | |
141 | ||
10b518d4 MK |
142 | /* bit sets */ |
143 | ||
144 | enum { | |
145 | ETHTOOL_A_BITSET_BIT_UNSPEC, | |
146 | ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */ | |
147 | ETHTOOL_A_BITSET_BIT_NAME, /* string */ | |
148 | ETHTOOL_A_BITSET_BIT_VALUE, /* flag */ | |
149 | ||
150 | /* add new constants above here */ | |
151 | __ETHTOOL_A_BITSET_BIT_CNT, | |
152 | ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1 | |
153 | }; | |
154 | ||
155 | enum { | |
156 | ETHTOOL_A_BITSET_BITS_UNSPEC, | |
157 | ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */ | |
158 | ||
159 | /* add new constants above here */ | |
160 | __ETHTOOL_A_BITSET_BITS_CNT, | |
161 | ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1 | |
162 | }; | |
163 | ||
164 | enum { | |
165 | ETHTOOL_A_BITSET_UNSPEC, | |
166 | ETHTOOL_A_BITSET_NOMASK, /* flag */ | |
167 | ETHTOOL_A_BITSET_SIZE, /* u32 */ | |
168 | ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */ | |
169 | ETHTOOL_A_BITSET_VALUE, /* binary */ | |
170 | ETHTOOL_A_BITSET_MASK, /* binary */ | |
171 | ||
172 | /* add new constants above here */ | |
173 | __ETHTOOL_A_BITSET_CNT, | |
174 | ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1 | |
175 | }; | |
176 | ||
71921690 MK |
177 | /* string sets */ |
178 | ||
179 | enum { | |
180 | ETHTOOL_A_STRING_UNSPEC, | |
181 | ETHTOOL_A_STRING_INDEX, /* u32 */ | |
182 | ETHTOOL_A_STRING_VALUE, /* string */ | |
183 | ||
184 | /* add new constants above here */ | |
185 | __ETHTOOL_A_STRING_CNT, | |
186 | ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1 | |
187 | }; | |
188 | ||
189 | enum { | |
190 | ETHTOOL_A_STRINGS_UNSPEC, | |
191 | ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */ | |
192 | ||
193 | /* add new constants above here */ | |
194 | __ETHTOOL_A_STRINGS_CNT, | |
195 | ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1 | |
196 | }; | |
197 | ||
198 | enum { | |
199 | ETHTOOL_A_STRINGSET_UNSPEC, | |
200 | ETHTOOL_A_STRINGSET_ID, /* u32 */ | |
201 | ETHTOOL_A_STRINGSET_COUNT, /* u32 */ | |
202 | ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */ | |
203 | ||
204 | /* add new constants above here */ | |
205 | __ETHTOOL_A_STRINGSET_CNT, | |
206 | ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1 | |
207 | }; | |
208 | ||
209 | enum { | |
210 | ETHTOOL_A_STRINGSETS_UNSPEC, | |
211 | ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */ | |
212 | ||
213 | /* add new constants above here */ | |
214 | __ETHTOOL_A_STRINGSETS_CNT, | |
215 | ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1 | |
216 | }; | |
217 | ||
218 | /* STRSET */ | |
219 | ||
220 | enum { | |
221 | ETHTOOL_A_STRSET_UNSPEC, | |
222 | ETHTOOL_A_STRSET_HEADER, /* nest - _A_HEADER_* */ | |
223 | ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */ | |
224 | ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */ | |
225 | ||
226 | /* add new constants above here */ | |
227 | __ETHTOOL_A_STRSET_CNT, | |
228 | ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1 | |
229 | }; | |
230 | ||
459e0b81 MK |
231 | /* LINKINFO */ |
232 | ||
233 | enum { | |
234 | ETHTOOL_A_LINKINFO_UNSPEC, | |
235 | ETHTOOL_A_LINKINFO_HEADER, /* nest - _A_HEADER_* */ | |
236 | ETHTOOL_A_LINKINFO_PORT, /* u8 */ | |
237 | ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */ | |
238 | ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */ | |
239 | ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */ | |
240 | ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */ | |
241 | ||
242 | /* add new constants above here */ | |
243 | __ETHTOOL_A_LINKINFO_CNT, | |
244 | ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1 | |
245 | }; | |
246 | ||
f625aa9b MK |
247 | /* LINKMODES */ |
248 | ||
249 | enum { | |
250 | ETHTOOL_A_LINKMODES_UNSPEC, | |
251 | ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */ | |
252 | ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */ | |
253 | ETHTOOL_A_LINKMODES_OURS, /* bitset */ | |
254 | ETHTOOL_A_LINKMODES_PEER, /* bitset */ | |
255 | ETHTOOL_A_LINKMODES_SPEED, /* u32 */ | |
256 | ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */ | |
bdbdac76 OR |
257 | ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */ |
258 | ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */ | |
012ce4dd | 259 | ETHTOOL_A_LINKMODES_LANES, /* u32 */ |
0c3e10cb | 260 | ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */ |
f625aa9b MK |
261 | |
262 | /* add new constants above here */ | |
263 | __ETHTOOL_A_LINKMODES_CNT, | |
264 | ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1 | |
265 | }; | |
266 | ||
3d2b847f MK |
267 | /* LINKSTATE */ |
268 | ||
269 | enum { | |
270 | ETHTOOL_A_LINKSTATE_UNSPEC, | |
271 | ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */ | |
272 | ETHTOOL_A_LINKSTATE_LINK, /* u8 */ | |
80660219 OR |
273 | ETHTOOL_A_LINKSTATE_SQI, /* u32 */ |
274 | ETHTOOL_A_LINKSTATE_SQI_MAX, /* u32 */ | |
ecc31c60 AC |
275 | ETHTOOL_A_LINKSTATE_EXT_STATE, /* u8 */ |
276 | ETHTOOL_A_LINKSTATE_EXT_SUBSTATE, /* u8 */ | |
9a0f830f | 277 | ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */ |
3d2b847f MK |
278 | |
279 | /* add new constants above here */ | |
280 | __ETHTOOL_A_LINKSTATE_CNT, | |
281 | ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1 | |
282 | }; | |
283 | ||
6a94b8cc MK |
284 | /* DEBUG */ |
285 | ||
286 | enum { | |
287 | ETHTOOL_A_DEBUG_UNSPEC, | |
288 | ETHTOOL_A_DEBUG_HEADER, /* nest - _A_HEADER_* */ | |
289 | ETHTOOL_A_DEBUG_MSGMASK, /* bitset */ | |
290 | ||
291 | /* add new constants above here */ | |
292 | __ETHTOOL_A_DEBUG_CNT, | |
293 | ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1 | |
294 | }; | |
295 | ||
51ea22b0 MK |
296 | /* WOL */ |
297 | ||
298 | enum { | |
299 | ETHTOOL_A_WOL_UNSPEC, | |
300 | ETHTOOL_A_WOL_HEADER, /* nest - _A_HEADER_* */ | |
301 | ETHTOOL_A_WOL_MODES, /* bitset */ | |
302 | ETHTOOL_A_WOL_SOPASS, /* binary */ | |
303 | ||
304 | /* add new constants above here */ | |
305 | __ETHTOOL_A_WOL_CNT, | |
306 | ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1 | |
307 | }; | |
308 | ||
0524399d MK |
309 | /* FEATURES */ |
310 | ||
311 | enum { | |
312 | ETHTOOL_A_FEATURES_UNSPEC, | |
313 | ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */ | |
314 | ETHTOOL_A_FEATURES_HW, /* bitset */ | |
315 | ETHTOOL_A_FEATURES_WANTED, /* bitset */ | |
316 | ETHTOOL_A_FEATURES_ACTIVE, /* bitset */ | |
317 | ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */ | |
318 | ||
319 | /* add new constants above here */ | |
320 | __ETHTOOL_A_FEATURES_CNT, | |
321 | ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1 | |
322 | }; | |
323 | ||
e16c3386 MK |
324 | /* PRIVFLAGS */ |
325 | ||
326 | enum { | |
327 | ETHTOOL_A_PRIVFLAGS_UNSPEC, | |
328 | ETHTOOL_A_PRIVFLAGS_HEADER, /* nest - _A_HEADER_* */ | |
329 | ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */ | |
330 | ||
331 | /* add new constants above here */ | |
332 | __ETHTOOL_A_PRIVFLAGS_CNT, | |
333 | ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1 | |
334 | }; | |
335 | ||
e4a1717b MK |
336 | /* RINGS */ |
337 | ||
9690ae60 JK |
338 | enum { |
339 | ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0, | |
340 | ETHTOOL_TCP_DATA_SPLIT_DISABLED, | |
341 | ETHTOOL_TCP_DATA_SPLIT_ENABLED, | |
342 | }; | |
343 | ||
e4a1717b MK |
344 | enum { |
345 | ETHTOOL_A_RINGS_UNSPEC, | |
346 | ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */ | |
347 | ETHTOOL_A_RINGS_RX_MAX, /* u32 */ | |
348 | ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */ | |
349 | ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */ | |
350 | ETHTOOL_A_RINGS_TX_MAX, /* u32 */ | |
351 | ETHTOOL_A_RINGS_RX, /* u32 */ | |
352 | ETHTOOL_A_RINGS_RX_MINI, /* u32 */ | |
353 | ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */ | |
354 | ETHTOOL_A_RINGS_TX, /* u32 */ | |
0b70c256 | 355 | ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */ |
9690ae60 | 356 | ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */ |
1241e329 | 357 | ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */ |
4dc84c06 | 358 | ETHTOOL_A_RINGS_TX_PUSH, /* u8 */ |
5b4e9a7a | 359 | ETHTOOL_A_RINGS_RX_PUSH, /* u8 */ |
233eb4e7 SA |
360 | ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */ |
361 | ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */ | |
e4a1717b MK |
362 | |
363 | /* add new constants above here */ | |
364 | __ETHTOOL_A_RINGS_CNT, | |
365 | ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1) | |
366 | }; | |
367 | ||
0c84979c MK |
368 | /* CHANNELS */ |
369 | ||
370 | enum { | |
371 | ETHTOOL_A_CHANNELS_UNSPEC, | |
372 | ETHTOOL_A_CHANNELS_HEADER, /* nest - _A_HEADER_* */ | |
373 | ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */ | |
374 | ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */ | |
375 | ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */ | |
376 | ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */ | |
377 | ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */ | |
378 | ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */ | |
379 | ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */ | |
380 | ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */ | |
381 | ||
382 | /* add new constants above here */ | |
383 | __ETHTOOL_A_CHANNELS_CNT, | |
384 | ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1) | |
385 | }; | |
386 | ||
21727545 MK |
387 | /* COALESCE */ |
388 | ||
389 | enum { | |
390 | ETHTOOL_A_COALESCE_UNSPEC, | |
391 | ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */ | |
392 | ETHTOOL_A_COALESCE_RX_USECS, /* u32 */ | |
393 | ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */ | |
394 | ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */ | |
395 | ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */ | |
396 | ETHTOOL_A_COALESCE_TX_USECS, /* u32 */ | |
397 | ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */ | |
398 | ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */ | |
399 | ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */ | |
400 | ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */ | |
401 | ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */ | |
402 | ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */ | |
403 | ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */ | |
404 | ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */ | |
405 | ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */ | |
406 | ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */ | |
407 | ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */ | |
408 | ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */ | |
409 | ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */ | |
410 | ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */ | |
411 | ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */ | |
412 | ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */ | |
413 | ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */ | |
029ee6b1 YM |
414 | ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */ |
415 | ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */ | |
31de2842 DP |
416 | ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, /* u32 */ |
417 | ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, /* u32 */ | |
418 | ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, /* u32 */ | |
21727545 MK |
419 | |
420 | /* add new constants above here */ | |
421 | __ETHTOOL_A_COALESCE_CNT, | |
422 | ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1) | |
423 | }; | |
424 | ||
7f59fb32 MK |
425 | /* PAUSE */ |
426 | ||
427 | enum { | |
428 | ETHTOOL_A_PAUSE_UNSPEC, | |
429 | ETHTOOL_A_PAUSE_HEADER, /* nest - _A_HEADER_* */ | |
430 | ETHTOOL_A_PAUSE_AUTONEG, /* u8 */ | |
431 | ETHTOOL_A_PAUSE_RX, /* u8 */ | |
432 | ETHTOOL_A_PAUSE_TX, /* u8 */ | |
9a27a330 | 433 | ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */ |
04692c90 | 434 | ETHTOOL_A_PAUSE_STATS_SRC, /* u32 */ |
7f59fb32 MK |
435 | |
436 | /* add new constants above here */ | |
437 | __ETHTOOL_A_PAUSE_CNT, | |
438 | ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1) | |
439 | }; | |
440 | ||
9a27a330 JK |
441 | enum { |
442 | ETHTOOL_A_PAUSE_STAT_UNSPEC, | |
443 | ETHTOOL_A_PAUSE_STAT_PAD, | |
444 | ||
445 | ETHTOOL_A_PAUSE_STAT_TX_FRAMES, | |
446 | ETHTOOL_A_PAUSE_STAT_RX_FRAMES, | |
447 | ||
1aabe578 JK |
448 | /* add new constants above here |
449 | * adjust ETHTOOL_PAUSE_STAT_CNT if adding non-stats! | |
450 | */ | |
9a27a330 JK |
451 | __ETHTOOL_A_PAUSE_STAT_CNT, |
452 | ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1) | |
453 | }; | |
454 | ||
b7eeefe7 MK |
455 | /* EEE */ |
456 | ||
457 | enum { | |
458 | ETHTOOL_A_EEE_UNSPEC, | |
459 | ETHTOOL_A_EEE_HEADER, /* nest - _A_HEADER_* */ | |
460 | ETHTOOL_A_EEE_MODES_OURS, /* bitset */ | |
461 | ETHTOOL_A_EEE_MODES_PEER, /* bitset */ | |
462 | ETHTOOL_A_EEE_ACTIVE, /* u8 */ | |
463 | ETHTOOL_A_EEE_ENABLED, /* u8 */ | |
464 | ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */ | |
465 | ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */ | |
466 | ||
467 | /* add new constants above here */ | |
468 | __ETHTOOL_A_EEE_CNT, | |
469 | ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1) | |
470 | }; | |
471 | ||
5b071c59 MK |
472 | /* TSINFO */ |
473 | ||
474 | enum { | |
475 | ETHTOOL_A_TSINFO_UNSPEC, | |
476 | ETHTOOL_A_TSINFO_HEADER, /* nest - _A_HEADER_* */ | |
477 | ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */ | |
478 | ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */ | |
479 | ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */ | |
480 | ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */ | |
0e9c1277 | 481 | ETHTOOL_A_TSINFO_STATS, /* nest - _A_TSINFO_STAT */ |
5b071c59 MK |
482 | |
483 | /* add new constants above here */ | |
484 | __ETHTOOL_A_TSINFO_CNT, | |
485 | ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1) | |
486 | }; | |
487 | ||
0e9c1277 RR |
488 | enum { |
489 | ETHTOOL_A_TS_STAT_UNSPEC, | |
490 | ||
491 | ETHTOOL_A_TS_STAT_TX_PKTS, /* u64 */ | |
492 | ETHTOOL_A_TS_STAT_TX_LOST, /* u64 */ | |
493 | ETHTOOL_A_TS_STAT_TX_ERR, /* u64 */ | |
494 | ||
495 | /* add new constants above here */ | |
496 | __ETHTOOL_A_TS_STAT_CNT, | |
497 | ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1) | |
498 | ||
499 | }; | |
500 | ||
c156174a YL |
501 | /* PHC VCLOCKS */ |
502 | ||
503 | enum { | |
504 | ETHTOOL_A_PHC_VCLOCKS_UNSPEC, | |
505 | ETHTOOL_A_PHC_VCLOCKS_HEADER, /* nest - _A_HEADER_* */ | |
506 | ETHTOOL_A_PHC_VCLOCKS_NUM, /* u32 */ | |
507 | ETHTOOL_A_PHC_VCLOCKS_INDEX, /* array, s32 */ | |
508 | ||
509 | /* add new constants above here */ | |
510 | __ETHTOOL_A_PHC_VCLOCKS_CNT, | |
511 | ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1) | |
512 | }; | |
513 | ||
11ca3c42 AL |
514 | /* CABLE TEST */ |
515 | ||
516 | enum { | |
517 | ETHTOOL_A_CABLE_TEST_UNSPEC, | |
518 | ETHTOOL_A_CABLE_TEST_HEADER, /* nest - _A_HEADER_* */ | |
519 | ||
520 | /* add new constants above here */ | |
521 | __ETHTOOL_A_CABLE_TEST_CNT, | |
522 | ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1 | |
523 | }; | |
524 | ||
b28efb93 AL |
525 | /* CABLE TEST NOTIFY */ |
526 | enum { | |
527 | ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC, | |
528 | ETHTOOL_A_CABLE_RESULT_CODE_OK, | |
529 | ETHTOOL_A_CABLE_RESULT_CODE_OPEN, | |
530 | ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT, | |
531 | ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT, | |
9cc8a6e6 PD |
532 | /* detected reflection caused by the impedance discontinuity between |
533 | * a regular 100 Ohm cable and a part with the abnormal impedance value | |
534 | */ | |
535 | ETHTOOL_A_CABLE_RESULT_CODE_IMPEDANCE_MISMATCH, | |
b28efb93 AL |
536 | }; |
537 | ||
538 | enum { | |
539 | ETHTOOL_A_CABLE_PAIR_A, | |
540 | ETHTOOL_A_CABLE_PAIR_B, | |
541 | ETHTOOL_A_CABLE_PAIR_C, | |
542 | ETHTOOL_A_CABLE_PAIR_D, | |
543 | }; | |
544 | ||
545 | enum { | |
546 | ETHTOOL_A_CABLE_RESULT_UNSPEC, | |
547 | ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */ | |
548 | ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */ | |
549 | ||
550 | __ETHTOOL_A_CABLE_RESULT_CNT, | |
551 | ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1) | |
552 | }; | |
553 | ||
554 | enum { | |
555 | ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC, | |
556 | ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */ | |
557 | ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */ | |
558 | ||
559 | __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT, | |
560 | ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1) | |
561 | }; | |
562 | ||
563 | enum { | |
564 | ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC, | |
565 | ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED, | |
566 | ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED | |
567 | }; | |
568 | ||
569 | enum { | |
570 | ETHTOOL_A_CABLE_NEST_UNSPEC, | |
571 | ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */ | |
572 | ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */ | |
573 | __ETHTOOL_A_CABLE_NEST_CNT, | |
574 | ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1) | |
575 | }; | |
576 | ||
577 | enum { | |
578 | ETHTOOL_A_CABLE_TEST_NTF_UNSPEC, | |
579 | ETHTOOL_A_CABLE_TEST_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */ | |
580 | ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */ | |
581 | ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */ | |
582 | ||
583 | __ETHTOOL_A_CABLE_TEST_NTF_CNT, | |
584 | ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1) | |
585 | }; | |
586 | ||
a331172b AL |
587 | /* CABLE TEST TDR */ |
588 | ||
f2bc8ad3 AL |
589 | enum { |
590 | ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC, | |
591 | ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */ | |
592 | ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */ | |
593 | ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */ | |
594 | ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */ | |
595 | ||
596 | /* add new constants above here */ | |
597 | __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT, | |
598 | ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1 | |
599 | }; | |
600 | ||
a331172b AL |
601 | enum { |
602 | ETHTOOL_A_CABLE_TEST_TDR_UNSPEC, | |
603 | ETHTOOL_A_CABLE_TEST_TDR_HEADER, /* nest - _A_HEADER_* */ | |
f2bc8ad3 | 604 | ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */ |
a331172b AL |
605 | |
606 | /* add new constants above here */ | |
607 | __ETHTOOL_A_CABLE_TEST_TDR_CNT, | |
608 | ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1 | |
609 | }; | |
610 | ||
611 | /* CABLE TEST TDR NOTIFY */ | |
612 | ||
613 | enum { | |
614 | ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC, | |
615 | ETHTOOL_A_CABLE_AMPLITUDE_PAIR, /* u8 */ | |
616 | ETHTOOL_A_CABLE_AMPLITUDE_mV, /* s16 */ | |
617 | ||
618 | __ETHTOOL_A_CABLE_AMPLITUDE_CNT, | |
619 | ETHTOOL_A_CABLE_AMPLITUDE_MAX = (__ETHTOOL_A_CABLE_AMPLITUDE_CNT - 1) | |
620 | }; | |
621 | ||
622 | enum { | |
623 | ETHTOOL_A_CABLE_PULSE_UNSPEC, | |
624 | ETHTOOL_A_CABLE_PULSE_mV, /* s16 */ | |
625 | ||
626 | __ETHTOOL_A_CABLE_PULSE_CNT, | |
627 | ETHTOOL_A_CABLE_PULSE_MAX = (__ETHTOOL_A_CABLE_PULSE_CNT - 1) | |
628 | }; | |
629 | ||
630 | enum { | |
631 | ETHTOOL_A_CABLE_STEP_UNSPEC, | |
632 | ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE, /* u32 */ | |
633 | ETHTOOL_A_CABLE_STEP_LAST_DISTANCE, /* u32 */ | |
634 | ETHTOOL_A_CABLE_STEP_STEP_DISTANCE, /* u32 */ | |
635 | ||
636 | __ETHTOOL_A_CABLE_STEP_CNT, | |
637 | ETHTOOL_A_CABLE_STEP_MAX = (__ETHTOOL_A_CABLE_STEP_CNT - 1) | |
638 | }; | |
639 | ||
640 | enum { | |
641 | ETHTOOL_A_CABLE_TDR_NEST_UNSPEC, | |
642 | ETHTOOL_A_CABLE_TDR_NEST_STEP, /* nest - ETHTTOOL_A_CABLE_STEP */ | |
643 | ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE, /* nest - ETHTOOL_A_CABLE_AMPLITUDE */ | |
644 | ETHTOOL_A_CABLE_TDR_NEST_PULSE, /* nest - ETHTOOL_A_CABLE_PULSE */ | |
645 | ||
646 | __ETHTOOL_A_CABLE_TDR_NEST_CNT, | |
647 | ETHTOOL_A_CABLE_TDR_NEST_MAX = (__ETHTOOL_A_CABLE_TDR_NEST_CNT - 1) | |
648 | }; | |
649 | ||
650 | enum { | |
651 | ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC, | |
652 | ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */ | |
653 | ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */ | |
654 | ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */ | |
655 | ||
656 | /* add new constants above here */ | |
657 | __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT, | |
658 | ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1 | |
659 | }; | |
660 | ||
c7d759eb JK |
661 | /* TUNNEL INFO */ |
662 | ||
663 | enum { | |
664 | ETHTOOL_UDP_TUNNEL_TYPE_VXLAN, | |
665 | ETHTOOL_UDP_TUNNEL_TYPE_GENEVE, | |
666 | ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE, | |
667 | ||
668 | __ETHTOOL_UDP_TUNNEL_TYPE_CNT | |
669 | }; | |
670 | ||
671 | enum { | |
672 | ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC, | |
673 | ||
674 | ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT, /* be16 */ | |
675 | ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE, /* u32 */ | |
676 | ||
677 | /* add new constants above here */ | |
678 | __ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT, | |
679 | ETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = (__ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT - 1) | |
680 | }; | |
681 | ||
682 | enum { | |
683 | ETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC, | |
684 | ||
685 | ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE, /* u32 */ | |
686 | ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES, /* bitset */ | |
687 | ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY, /* nest - _UDP_ENTRY_* */ | |
688 | ||
689 | /* add new constants above here */ | |
690 | __ETHTOOL_A_TUNNEL_UDP_TABLE_CNT, | |
691 | ETHTOOL_A_TUNNEL_UDP_TABLE_MAX = (__ETHTOOL_A_TUNNEL_UDP_TABLE_CNT - 1) | |
692 | }; | |
693 | ||
694 | enum { | |
695 | ETHTOOL_A_TUNNEL_UDP_UNSPEC, | |
696 | ||
697 | ETHTOOL_A_TUNNEL_UDP_TABLE, /* nest - _UDP_TABLE_* */ | |
698 | ||
699 | /* add new constants above here */ | |
700 | __ETHTOOL_A_TUNNEL_UDP_CNT, | |
701 | ETHTOOL_A_TUNNEL_UDP_MAX = (__ETHTOOL_A_TUNNEL_UDP_CNT - 1) | |
702 | }; | |
703 | ||
704 | enum { | |
705 | ETHTOOL_A_TUNNEL_INFO_UNSPEC, | |
706 | ETHTOOL_A_TUNNEL_INFO_HEADER, /* nest - _A_HEADER_* */ | |
707 | ||
708 | ETHTOOL_A_TUNNEL_INFO_UDP_PORTS, /* nest - _UDP_TABLE */ | |
709 | ||
710 | /* add new constants above here */ | |
711 | __ETHTOOL_A_TUNNEL_INFO_CNT, | |
712 | ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1) | |
713 | }; | |
714 | ||
1e5d1f69 JK |
715 | /* FEC */ |
716 | ||
717 | enum { | |
718 | ETHTOOL_A_FEC_UNSPEC, | |
719 | ETHTOOL_A_FEC_HEADER, /* nest - _A_HEADER_* */ | |
720 | ETHTOOL_A_FEC_MODES, /* bitset */ | |
721 | ETHTOOL_A_FEC_AUTO, /* u8 */ | |
722 | ETHTOOL_A_FEC_ACTIVE, /* u32 */ | |
be85dbfe | 723 | ETHTOOL_A_FEC_STATS, /* nest - _A_FEC_STAT */ |
1e5d1f69 JK |
724 | |
725 | __ETHTOOL_A_FEC_CNT, | |
726 | ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1) | |
727 | }; | |
728 | ||
be85dbfe JK |
729 | enum { |
730 | ETHTOOL_A_FEC_STAT_UNSPEC, | |
731 | ETHTOOL_A_FEC_STAT_PAD, | |
732 | ||
733 | ETHTOOL_A_FEC_STAT_CORRECTED, /* array, u64 */ | |
734 | ETHTOOL_A_FEC_STAT_UNCORR, /* array, u64 */ | |
735 | ETHTOOL_A_FEC_STAT_CORR_BITS, /* array, u64 */ | |
736 | ||
737 | /* add new constants above here */ | |
738 | __ETHTOOL_A_FEC_STAT_CNT, | |
739 | ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1) | |
740 | }; | |
741 | ||
c781ff12 VT |
742 | /* MODULE EEPROM */ |
743 | ||
744 | enum { | |
745 | ETHTOOL_A_MODULE_EEPROM_UNSPEC, | |
746 | ETHTOOL_A_MODULE_EEPROM_HEADER, /* nest - _A_HEADER_* */ | |
747 | ||
748 | ETHTOOL_A_MODULE_EEPROM_OFFSET, /* u32 */ | |
749 | ETHTOOL_A_MODULE_EEPROM_LENGTH, /* u32 */ | |
750 | ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */ | |
751 | ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */ | |
752 | ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */ | |
913d026f | 753 | ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */ |
c781ff12 VT |
754 | |
755 | __ETHTOOL_A_MODULE_EEPROM_CNT, | |
756 | ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1) | |
757 | }; | |
758 | ||
f09ea6fb JK |
759 | /* STATS */ |
760 | ||
761 | enum { | |
762 | ETHTOOL_A_STATS_UNSPEC, | |
763 | ETHTOOL_A_STATS_PAD, | |
764 | ETHTOOL_A_STATS_HEADER, /* nest - _A_HEADER_* */ | |
765 | ETHTOOL_A_STATS_GROUPS, /* bitset */ | |
766 | ||
767 | ETHTOOL_A_STATS_GRP, /* nest - _A_STATS_GRP_* */ | |
768 | ||
04692c90 VO |
769 | ETHTOOL_A_STATS_SRC, /* u32 */ |
770 | ||
f09ea6fb JK |
771 | /* add new constants above here */ |
772 | __ETHTOOL_A_STATS_CNT, | |
773 | ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1) | |
774 | }; | |
775 | ||
776 | enum { | |
777 | ETHTOOL_STATS_ETH_PHY, | |
ca224454 | 778 | ETHTOOL_STATS_ETH_MAC, |
bfad2b97 | 779 | ETHTOOL_STATS_ETH_CTRL, |
a8b06e9d | 780 | ETHTOOL_STATS_RMON, |
f09ea6fb JK |
781 | |
782 | /* add new constants above here */ | |
783 | __ETHTOOL_STATS_CNT | |
784 | }; | |
785 | ||
786 | enum { | |
787 | ETHTOOL_A_STATS_GRP_UNSPEC, | |
788 | ETHTOOL_A_STATS_GRP_PAD, | |
789 | ||
790 | ETHTOOL_A_STATS_GRP_ID, /* u32 */ | |
791 | ETHTOOL_A_STATS_GRP_SS_ID, /* u32 */ | |
792 | ||
793 | ETHTOOL_A_STATS_GRP_STAT, /* nest */ | |
794 | ||
a8b06e9d JK |
795 | ETHTOOL_A_STATS_GRP_HIST_RX, /* nest */ |
796 | ETHTOOL_A_STATS_GRP_HIST_TX, /* nest */ | |
797 | ||
798 | ETHTOOL_A_STATS_GRP_HIST_BKT_LOW, /* u32 */ | |
799 | ETHTOOL_A_STATS_GRP_HIST_BKT_HI, /* u32 */ | |
800 | ETHTOOL_A_STATS_GRP_HIST_VAL, /* u64 */ | |
801 | ||
f09ea6fb JK |
802 | /* add new constants above here */ |
803 | __ETHTOOL_A_STATS_GRP_CNT, | |
52f79609 | 804 | ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1) |
f09ea6fb JK |
805 | }; |
806 | ||
807 | enum { | |
808 | /* 30.3.2.1.5 aSymbolErrorDuringCarrier */ | |
809 | ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR, | |
810 | ||
811 | /* add new constants above here */ | |
812 | __ETHTOOL_A_STATS_ETH_PHY_CNT, | |
813 | ETHTOOL_A_STATS_ETH_PHY_MAX = (__ETHTOOL_A_STATS_ETH_PHY_CNT - 1) | |
814 | }; | |
815 | ||
ca224454 JK |
816 | enum { |
817 | /* 30.3.1.1.2 aFramesTransmittedOK */ | |
818 | ETHTOOL_A_STATS_ETH_MAC_2_TX_PKT, | |
819 | /* 30.3.1.1.3 aSingleCollisionFrames */ | |
820 | ETHTOOL_A_STATS_ETH_MAC_3_SINGLE_COL, | |
821 | /* 30.3.1.1.4 aMultipleCollisionFrames */ | |
822 | ETHTOOL_A_STATS_ETH_MAC_4_MULTI_COL, | |
823 | /* 30.3.1.1.5 aFramesReceivedOK */ | |
824 | ETHTOOL_A_STATS_ETH_MAC_5_RX_PKT, | |
825 | /* 30.3.1.1.6 aFrameCheckSequenceErrors */ | |
826 | ETHTOOL_A_STATS_ETH_MAC_6_FCS_ERR, | |
827 | /* 30.3.1.1.7 aAlignmentErrors */ | |
828 | ETHTOOL_A_STATS_ETH_MAC_7_ALIGN_ERR, | |
829 | /* 30.3.1.1.8 aOctetsTransmittedOK */ | |
830 | ETHTOOL_A_STATS_ETH_MAC_8_TX_BYTES, | |
831 | /* 30.3.1.1.9 aFramesWithDeferredXmissions */ | |
832 | ETHTOOL_A_STATS_ETH_MAC_9_TX_DEFER, | |
833 | /* 30.3.1.1.10 aLateCollisions */ | |
834 | ETHTOOL_A_STATS_ETH_MAC_10_LATE_COL, | |
835 | /* 30.3.1.1.11 aFramesAbortedDueToXSColls */ | |
836 | ETHTOOL_A_STATS_ETH_MAC_11_XS_COL, | |
837 | /* 30.3.1.1.12 aFramesLostDueToIntMACXmitError */ | |
838 | ETHTOOL_A_STATS_ETH_MAC_12_TX_INT_ERR, | |
839 | /* 30.3.1.1.13 aCarrierSenseErrors */ | |
840 | ETHTOOL_A_STATS_ETH_MAC_13_CS_ERR, | |
841 | /* 30.3.1.1.14 aOctetsReceivedOK */ | |
842 | ETHTOOL_A_STATS_ETH_MAC_14_RX_BYTES, | |
843 | /* 30.3.1.1.15 aFramesLostDueToIntMACRcvError */ | |
844 | ETHTOOL_A_STATS_ETH_MAC_15_RX_INT_ERR, | |
845 | ||
846 | /* 30.3.1.1.18 aMulticastFramesXmittedOK */ | |
847 | ETHTOOL_A_STATS_ETH_MAC_18_TX_MCAST, | |
848 | /* 30.3.1.1.19 aBroadcastFramesXmittedOK */ | |
849 | ETHTOOL_A_STATS_ETH_MAC_19_TX_BCAST, | |
850 | /* 30.3.1.1.20 aFramesWithExcessiveDeferral */ | |
851 | ETHTOOL_A_STATS_ETH_MAC_20_XS_DEFER, | |
852 | /* 30.3.1.1.21 aMulticastFramesReceivedOK */ | |
853 | ETHTOOL_A_STATS_ETH_MAC_21_RX_MCAST, | |
854 | /* 30.3.1.1.22 aBroadcastFramesReceivedOK */ | |
855 | ETHTOOL_A_STATS_ETH_MAC_22_RX_BCAST, | |
856 | /* 30.3.1.1.23 aInRangeLengthErrors */ | |
857 | ETHTOOL_A_STATS_ETH_MAC_23_IR_LEN_ERR, | |
858 | /* 30.3.1.1.24 aOutOfRangeLengthField */ | |
859 | ETHTOOL_A_STATS_ETH_MAC_24_OOR_LEN, | |
860 | /* 30.3.1.1.25 aFrameTooLongErrors */ | |
861 | ETHTOOL_A_STATS_ETH_MAC_25_TOO_LONG_ERR, | |
862 | ||
863 | /* add new constants above here */ | |
864 | __ETHTOOL_A_STATS_ETH_MAC_CNT, | |
865 | ETHTOOL_A_STATS_ETH_MAC_MAX = (__ETHTOOL_A_STATS_ETH_MAC_CNT - 1) | |
866 | }; | |
867 | ||
bfad2b97 JK |
868 | enum { |
869 | /* 30.3.3.3 aMACControlFramesTransmitted */ | |
870 | ETHTOOL_A_STATS_ETH_CTRL_3_TX, | |
871 | /* 30.3.3.4 aMACControlFramesReceived */ | |
872 | ETHTOOL_A_STATS_ETH_CTRL_4_RX, | |
873 | /* 30.3.3.5 aUnsupportedOpcodesReceived */ | |
874 | ETHTOOL_A_STATS_ETH_CTRL_5_RX_UNSUP, | |
875 | ||
876 | /* add new constants above here */ | |
877 | __ETHTOOL_A_STATS_ETH_CTRL_CNT, | |
878 | ETHTOOL_A_STATS_ETH_CTRL_MAX = (__ETHTOOL_A_STATS_ETH_CTRL_CNT - 1) | |
879 | }; | |
880 | ||
a8b06e9d JK |
881 | enum { |
882 | /* etherStatsUndersizePkts */ | |
883 | ETHTOOL_A_STATS_RMON_UNDERSIZE, | |
884 | /* etherStatsOversizePkts */ | |
885 | ETHTOOL_A_STATS_RMON_OVERSIZE, | |
886 | /* etherStatsFragments */ | |
887 | ETHTOOL_A_STATS_RMON_FRAG, | |
888 | /* etherStatsJabbers */ | |
889 | ETHTOOL_A_STATS_RMON_JABBER, | |
890 | ||
891 | /* add new constants above here */ | |
892 | __ETHTOOL_A_STATS_RMON_CNT, | |
893 | ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1) | |
894 | }; | |
895 | ||
353407d9 IS |
896 | /* MODULE */ |
897 | ||
898 | enum { | |
899 | ETHTOOL_A_MODULE_UNSPEC, | |
900 | ETHTOOL_A_MODULE_HEADER, /* nest - _A_HEADER_* */ | |
901 | ETHTOOL_A_MODULE_POWER_MODE_POLICY, /* u8 */ | |
902 | ETHTOOL_A_MODULE_POWER_MODE, /* u8 */ | |
903 | ||
904 | /* add new constants above here */ | |
905 | __ETHTOOL_A_MODULE_CNT, | |
906 | ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1) | |
907 | }; | |
908 | ||
18ff0bcd OR |
909 | /* Power Sourcing Equipment */ |
910 | enum { | |
911 | ETHTOOL_A_PSE_UNSPEC, | |
912 | ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */ | |
913 | ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */ | |
914 | ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */ | |
915 | ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */ | |
916 | ||
917 | /* add new constants above here */ | |
918 | __ETHTOOL_A_PSE_CNT, | |
919 | ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1) | |
920 | }; | |
921 | ||
7112a046 SM |
922 | enum { |
923 | ETHTOOL_A_RSS_UNSPEC, | |
924 | ETHTOOL_A_RSS_HEADER, | |
925 | ETHTOOL_A_RSS_CONTEXT, /* u32 */ | |
926 | ETHTOOL_A_RSS_HFUNC, /* u32 */ | |
927 | ETHTOOL_A_RSS_INDIR, /* binary */ | |
928 | ETHTOOL_A_RSS_HKEY, /* binary */ | |
13e59344 | 929 | ETHTOOL_A_RSS_INPUT_XFRM, /* u32 */ |
7112a046 SM |
930 | |
931 | __ETHTOOL_A_RSS_CNT, | |
932 | ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1), | |
933 | }; | |
934 | ||
8580e16c PB |
935 | /* PLCA */ |
936 | ||
937 | enum { | |
938 | ETHTOOL_A_PLCA_UNSPEC, | |
939 | ETHTOOL_A_PLCA_HEADER, /* nest - _A_HEADER_* */ | |
940 | ETHTOOL_A_PLCA_VERSION, /* u16 */ | |
941 | ETHTOOL_A_PLCA_ENABLED, /* u8 */ | |
942 | ETHTOOL_A_PLCA_STATUS, /* u8 */ | |
943 | ETHTOOL_A_PLCA_NODE_CNT, /* u32 */ | |
944 | ETHTOOL_A_PLCA_NODE_ID, /* u32 */ | |
945 | ETHTOOL_A_PLCA_TO_TMR, /* u32 */ | |
946 | ETHTOOL_A_PLCA_BURST_CNT, /* u32 */ | |
947 | ETHTOOL_A_PLCA_BURST_TMR, /* u32 */ | |
948 | ||
949 | /* add new constants above here */ | |
950 | __ETHTOOL_A_PLCA_CNT, | |
951 | ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1) | |
952 | }; | |
953 | ||
2b30f829 VO |
954 | /* MAC Merge (802.3) */ |
955 | ||
956 | enum { | |
957 | ETHTOOL_A_MM_STAT_UNSPEC, | |
958 | ETHTOOL_A_MM_STAT_PAD, | |
959 | ||
960 | /* aMACMergeFrameAssErrorCount */ | |
961 | ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS, /* u64 */ | |
962 | /* aMACMergeFrameSmdErrorCount */ | |
963 | ETHTOOL_A_MM_STAT_SMD_ERRORS, /* u64 */ | |
964 | /* aMACMergeFrameAssOkCount */ | |
965 | ETHTOOL_A_MM_STAT_REASSEMBLY_OK, /* u64 */ | |
966 | /* aMACMergeFragCountRx */ | |
967 | ETHTOOL_A_MM_STAT_RX_FRAG_COUNT, /* u64 */ | |
968 | /* aMACMergeFragCountTx */ | |
969 | ETHTOOL_A_MM_STAT_TX_FRAG_COUNT, /* u64 */ | |
970 | /* aMACMergeHoldCount */ | |
971 | ETHTOOL_A_MM_STAT_HOLD_COUNT, /* u64 */ | |
972 | ||
973 | /* add new constants above here */ | |
974 | __ETHTOOL_A_MM_STAT_CNT, | |
975 | ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1) | |
976 | }; | |
977 | ||
978 | enum { | |
979 | ETHTOOL_A_MM_UNSPEC, | |
980 | ETHTOOL_A_MM_HEADER, /* nest - _A_HEADER_* */ | |
981 | ETHTOOL_A_MM_PMAC_ENABLED, /* u8 */ | |
982 | ETHTOOL_A_MM_TX_ENABLED, /* u8 */ | |
983 | ETHTOOL_A_MM_TX_ACTIVE, /* u8 */ | |
984 | ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, /* u32 */ | |
985 | ETHTOOL_A_MM_RX_MIN_FRAG_SIZE, /* u32 */ | |
986 | ETHTOOL_A_MM_VERIFY_ENABLED, /* u8 */ | |
987 | ETHTOOL_A_MM_VERIFY_STATUS, /* u8 */ | |
988 | ETHTOOL_A_MM_VERIFY_TIME, /* u32 */ | |
989 | ETHTOOL_A_MM_MAX_VERIFY_TIME, /* u32 */ | |
990 | ETHTOOL_A_MM_STATS, /* nest - _A_MM_STAT_* */ | |
991 | ||
992 | /* add new constants above here */ | |
993 | __ETHTOOL_A_MM_CNT, | |
994 | ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1) | |
995 | }; | |
996 | ||
2b4a8990 MK |
997 | /* generic netlink info */ |
998 | #define ETHTOOL_GENL_NAME "ethtool" | |
999 | #define ETHTOOL_GENL_VERSION 1 | |
1000 | ||
6b08d6c1 MK |
1001 | #define ETHTOOL_MCGRP_MONITOR_NAME "monitor" |
1002 | ||
2b4a8990 | 1003 | #endif /* _UAPI_LINUX_ETHTOOL_NETLINK_H_ */ |