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