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