1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef _UAPI_LINUX_ETHTOOL_H 20 #define _UAPI_LINUX_ETHTOOL_H 21 #include <linux/types.h> 22 #include <linux/if_ether.h> 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 struct ethtool_cmd { 25 __u32 cmd; 26 __u32 supported; 27 __u32 advertising; 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 __u16 speed; 30 __u8 duplex; 31 __u8 port; 32 __u8 phy_address; 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 __u8 transceiver; 35 __u8 autoneg; 36 __u8 mdio_support; 37 __u32 maxtxpkt; 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 __u32 maxrxpkt; 40 __u16 speed_hi; 41 __u8 eth_tp_mdix; 42 __u8 eth_tp_mdix_ctrl; 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 __u32 lp_advertising; 45 __u32 reserved[2]; 46 }; 47 #define ETH_MDIO_SUPPORTS_C22 1 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 #define ETH_MDIO_SUPPORTS_C45 2 50 #define ETHTOOL_FWVERS_LEN 32 51 #define ETHTOOL_BUSINFO_LEN 32 52 #define ETHTOOL_EROMVERS_LEN 32 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 struct ethtool_drvinfo { 55 __u32 cmd; 56 char driver[32]; 57 char version[32]; 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 char fw_version[ETHTOOL_FWVERS_LEN]; 60 char bus_info[ETHTOOL_BUSINFO_LEN]; 61 char erom_version[ETHTOOL_EROMVERS_LEN]; 62 char reserved2[12]; 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 __u32 n_priv_flags; 65 __u32 n_stats; 66 __u32 testinfo_len; 67 __u32 eedump_len; 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 __u32 regdump_len; 70 }; 71 #define SOPASS_MAX 6 72 struct ethtool_wolinfo { 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 __u32 cmd; 75 __u32 supported; 76 __u32 wolopts; 77 __u8 sopass[SOPASS_MAX]; 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 }; 80 struct ethtool_value { 81 __u32 cmd; 82 __u32 data; 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 }; 85 enum tunable_id { 86 ETHTOOL_ID_UNSPEC, 87 ETHTOOL_RX_COPYBREAK, 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 ETHTOOL_TX_COPYBREAK, 90 __ETHTOOL_TUNABLE_COUNT, 91 }; 92 enum tunable_type_id { 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 ETHTOOL_TUNABLE_UNSPEC, 95 ETHTOOL_TUNABLE_U8, 96 ETHTOOL_TUNABLE_U16, 97 ETHTOOL_TUNABLE_U32, 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 ETHTOOL_TUNABLE_U64, 100 ETHTOOL_TUNABLE_STRING, 101 ETHTOOL_TUNABLE_S8, 102 ETHTOOL_TUNABLE_S16, 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 ETHTOOL_TUNABLE_S32, 105 ETHTOOL_TUNABLE_S64, 106 }; 107 struct ethtool_tunable { 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 __u32 cmd; 110 __u32 id; 111 __u32 type_id; 112 __u32 len; 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 void * data[0]; 115 }; 116 struct ethtool_regs { 117 __u32 cmd; 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 __u32 version; 120 __u32 len; 121 __u8 data[0]; 122 }; 123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 struct ethtool_eeprom { 125 __u32 cmd; 126 __u32 magic; 127 __u32 offset; 128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 __u32 len; 130 __u8 data[0]; 131 }; 132 struct ethtool_eee { 133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 __u32 cmd; 135 __u32 supported; 136 __u32 advertised; 137 __u32 lp_advertised; 138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 __u32 eee_active; 140 __u32 eee_enabled; 141 __u32 tx_lpi_enabled; 142 __u32 tx_lpi_timer; 143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 __u32 reserved[2]; 145 }; 146 struct ethtool_modinfo { 147 __u32 cmd; 148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 __u32 type; 150 __u32 eeprom_len; 151 __u32 reserved[8]; 152 }; 153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 struct ethtool_coalesce { 155 __u32 cmd; 156 __u32 rx_coalesce_usecs; 157 __u32 rx_max_coalesced_frames; 158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 __u32 rx_coalesce_usecs_irq; 160 __u32 rx_max_coalesced_frames_irq; 161 __u32 tx_coalesce_usecs; 162 __u32 tx_max_coalesced_frames; 163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 __u32 tx_coalesce_usecs_irq; 165 __u32 tx_max_coalesced_frames_irq; 166 __u32 stats_block_coalesce_usecs; 167 __u32 use_adaptive_rx_coalesce; 168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 __u32 use_adaptive_tx_coalesce; 170 __u32 pkt_rate_low; 171 __u32 rx_coalesce_usecs_low; 172 __u32 rx_max_coalesced_frames_low; 173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 __u32 tx_coalesce_usecs_low; 175 __u32 tx_max_coalesced_frames_low; 176 __u32 pkt_rate_high; 177 __u32 rx_coalesce_usecs_high; 178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 __u32 rx_max_coalesced_frames_high; 180 __u32 tx_coalesce_usecs_high; 181 __u32 tx_max_coalesced_frames_high; 182 __u32 rate_sample_interval; 183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184 }; 185 struct ethtool_ringparam { 186 __u32 cmd; 187 __u32 rx_max_pending; 188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 __u32 rx_mini_max_pending; 190 __u32 rx_jumbo_max_pending; 191 __u32 tx_max_pending; 192 __u32 rx_pending; 193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194 __u32 rx_mini_pending; 195 __u32 rx_jumbo_pending; 196 __u32 tx_pending; 197 }; 198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199 struct ethtool_channels { 200 __u32 cmd; 201 __u32 max_rx; 202 __u32 max_tx; 203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204 __u32 max_other; 205 __u32 max_combined; 206 __u32 rx_count; 207 __u32 tx_count; 208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209 __u32 other_count; 210 __u32 combined_count; 211 }; 212 struct ethtool_pauseparam { 213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214 __u32 cmd; 215 __u32 autoneg; 216 __u32 rx_pause; 217 __u32 tx_pause; 218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219 }; 220 #define ETH_GSTRING_LEN 32 221 enum ethtool_stringset { 222 ETH_SS_TEST = 0, 223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224 ETH_SS_STATS, 225 ETH_SS_PRIV_FLAGS, 226 ETH_SS_NTUPLE_FILTERS, 227 ETH_SS_FEATURES, 228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229 ETH_SS_RSS_HASH_FUNCS, 230 ETH_SS_TUNABLES, 231 }; 232 struct ethtool_gstrings { 233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 __u32 cmd; 235 __u32 string_set; 236 __u32 len; 237 __u8 data[0]; 238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239 }; 240 struct ethtool_sset_info { 241 __u32 cmd; 242 __u32 reserved; 243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244 __u64 sset_mask; 245 __u32 data[0]; 246 }; 247 enum ethtool_test_flags { 248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249 ETH_TEST_FL_OFFLINE = (1 << 0), 250 ETH_TEST_FL_FAILED = (1 << 1), 251 ETH_TEST_FL_EXTERNAL_LB = (1 << 2), 252 ETH_TEST_FL_EXTERNAL_LB_DONE = (1 << 3), 253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 254 }; 255 struct ethtool_test { 256 __u32 cmd; 257 __u32 flags; 258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 259 __u32 reserved; 260 __u32 len; 261 __u64 data[0]; 262 }; 263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 264 struct ethtool_stats { 265 __u32 cmd; 266 __u32 n_stats; 267 __u64 data[0]; 268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 269 }; 270 struct ethtool_perm_addr { 271 __u32 cmd; 272 __u32 size; 273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 274 __u8 data[0]; 275 }; 276 enum ethtool_flags { 277 ETH_FLAG_TXVLAN = (1 << 7), 278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279 ETH_FLAG_RXVLAN = (1 << 8), 280 ETH_FLAG_LRO = (1 << 15), 281 ETH_FLAG_NTUPLE = (1 << 27), 282 ETH_FLAG_RXHASH = (1 << 28), 283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 284 }; 285 struct ethtool_tcpip4_spec { 286 __be32 ip4src; 287 __be32 ip4dst; 288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 289 __be16 psrc; 290 __be16 pdst; 291 __u8 tos; 292 }; 293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 294 struct ethtool_ah_espip4_spec { 295 __be32 ip4src; 296 __be32 ip4dst; 297 __be32 spi; 298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 299 __u8 tos; 300 }; 301 #define ETH_RX_NFC_IP4 1 302 struct ethtool_usrip4_spec { 303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 304 __be32 ip4src; 305 __be32 ip4dst; 306 __be32 l4_4_bytes; 307 __u8 tos; 308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 309 __u8 ip_ver; 310 __u8 proto; 311 }; 312 union ethtool_flow_union { 313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 314 struct ethtool_tcpip4_spec tcp_ip4_spec; 315 struct ethtool_tcpip4_spec udp_ip4_spec; 316 struct ethtool_tcpip4_spec sctp_ip4_spec; 317 struct ethtool_ah_espip4_spec ah_ip4_spec; 318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 319 struct ethtool_ah_espip4_spec esp_ip4_spec; 320 struct ethtool_usrip4_spec usr_ip4_spec; 321 struct ethhdr ether_spec; 322 __u8 hdata[52]; 323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 324 }; 325 struct ethtool_flow_ext { 326 __u8 padding[2]; 327 unsigned char h_dest[ETH_ALEN]; 328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 329 __be16 vlan_etype; 330 __be16 vlan_tci; 331 __be32 data[2]; 332 }; 333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 334 struct ethtool_rx_flow_spec { 335 __u32 flow_type; 336 union ethtool_flow_union h_u; 337 struct ethtool_flow_ext h_ext; 338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 339 union ethtool_flow_union m_u; 340 struct ethtool_flow_ext m_ext; 341 __u64 ring_cookie; 342 __u32 location; 343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 344 }; 345 #define ETHTOOL_RX_FLOW_SPEC_RING 0x00000000FFFFFFFFLL 346 #define ETHTOOL_RX_FLOW_SPEC_RING_VF 0x000000FF00000000LL 347 #define ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF 32 348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 349 struct ethtool_rxfh_indir { 350 __u32 cmd; 351 __u32 size; 352 __u32 ring_index[0]; 353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 354 }; 355 struct ethtool_rxfh { 356 __u32 cmd; 357 __u32 rss_context; 358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 359 __u32 indir_size; 360 __u32 key_size; 361 __u8 hfunc; 362 __u8 rsvd8[3]; 363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 364 __u32 rsvd32; 365 __u32 rss_config[0]; 366 }; 367 #define ETH_RXFH_INDIR_NO_CHANGE 0xffffffff 368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 369 struct ethtool_rx_ntuple_flow_spec { 370 __u32 flow_type; 371 union { 372 struct ethtool_tcpip4_spec tcp_ip4_spec; 373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 374 struct ethtool_tcpip4_spec udp_ip4_spec; 375 struct ethtool_tcpip4_spec sctp_ip4_spec; 376 struct ethtool_ah_espip4_spec ah_ip4_spec; 377 struct ethtool_ah_espip4_spec esp_ip4_spec; 378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 379 struct ethtool_usrip4_spec usr_ip4_spec; 380 struct ethhdr ether_spec; 381 __u8 hdata[72]; 382 } h_u, m_u; 383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 384 __u16 vlan_tag; 385 __u16 vlan_tag_mask; 386 __u64 data; 387 __u64 data_mask; 388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 389 __s32 action; 390 #define ETHTOOL_RXNTUPLE_ACTION_DROP (- 1) 391 #define ETHTOOL_RXNTUPLE_ACTION_CLEAR (- 2) 392 }; 393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 394 struct ethtool_rx_ntuple { 395 __u32 cmd; 396 struct ethtool_rx_ntuple_flow_spec fs; 397 }; 398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 399 #define ETHTOOL_FLASH_MAX_FILENAME 128 400 enum ethtool_flash_op_type { 401 ETHTOOL_FLASH_ALL_REGIONS = 0, 402 }; 403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 404 struct ethtool_flash { 405 __u32 cmd; 406 __u32 region; 407 char data[ETHTOOL_FLASH_MAX_FILENAME]; 408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 409 }; 410 struct ethtool_dump { 411 __u32 cmd; 412 __u32 version; 413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 414 __u32 flag; 415 __u32 len; 416 __u8 data[0]; 417 }; 418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 419 #define ETH_FW_DUMP_DISABLE 0 420 struct ethtool_get_features_block { 421 __u32 available; 422 __u32 requested; 423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 424 __u32 active; 425 __u32 never_changed; 426 }; 427 struct ethtool_gfeatures { 428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 429 __u32 cmd; 430 __u32 size; 431 struct ethtool_get_features_block features[0]; 432 }; 433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 434 struct ethtool_set_features_block { 435 __u32 valid; 436 __u32 requested; 437 }; 438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 439 struct ethtool_sfeatures { 440 __u32 cmd; 441 __u32 size; 442 struct ethtool_set_features_block features[0]; 443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 444 }; 445 struct ethtool_ts_info { 446 __u32 cmd; 447 __u32 so_timestamping; 448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 449 __s32 phc_index; 450 __u32 tx_types; 451 __u32 tx_reserved[3]; 452 __u32 rx_filters; 453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 454 __u32 rx_reserved[3]; 455 }; 456 enum ethtool_sfeatures_retval_bits { 457 ETHTOOL_F_UNSUPPORTED__BIT, 458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 459 ETHTOOL_F_WISH__BIT, 460 ETHTOOL_F_COMPAT__BIT, 461 }; 462 #define ETHTOOL_F_UNSUPPORTED (1 << ETHTOOL_F_UNSUPPORTED__BIT) 463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 464 #define ETHTOOL_F_WISH (1 << ETHTOOL_F_WISH__BIT) 465 #define ETHTOOL_F_COMPAT (1 << ETHTOOL_F_COMPAT__BIT) 466 #define ETHTOOL_GSET 0x00000001 467 #define ETHTOOL_SSET 0x00000002 468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 469 #define ETHTOOL_GDRVINFO 0x00000003 470 #define ETHTOOL_GREGS 0x00000004 471 #define ETHTOOL_GWOL 0x00000005 472 #define ETHTOOL_SWOL 0x00000006 473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 474 #define ETHTOOL_GMSGLVL 0x00000007 475 #define ETHTOOL_SMSGLVL 0x00000008 476 #define ETHTOOL_NWAY_RST 0x00000009 477 #define ETHTOOL_GLINK 0x0000000a 478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 479 #define ETHTOOL_GEEPROM 0x0000000b 480 #define ETHTOOL_SEEPROM 0x0000000c 481 #define ETHTOOL_GCOALESCE 0x0000000e 482 #define ETHTOOL_SCOALESCE 0x0000000f 483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 484 #define ETHTOOL_GRINGPARAM 0x00000010 485 #define ETHTOOL_SRINGPARAM 0x00000011 486 #define ETHTOOL_GPAUSEPARAM 0x00000012 487 #define ETHTOOL_SPAUSEPARAM 0x00000013 488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 489 #define ETHTOOL_GRXCSUM 0x00000014 490 #define ETHTOOL_SRXCSUM 0x00000015 491 #define ETHTOOL_GTXCSUM 0x00000016 492 #define ETHTOOL_STXCSUM 0x00000017 493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 494 #define ETHTOOL_GSG 0x00000018 495 #define ETHTOOL_SSG 0x00000019 496 #define ETHTOOL_TEST 0x0000001a 497 #define ETHTOOL_GSTRINGS 0x0000001b 498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 499 #define ETHTOOL_PHYS_ID 0x0000001c 500 #define ETHTOOL_GSTATS 0x0000001d 501 #define ETHTOOL_GTSO 0x0000001e 502 #define ETHTOOL_STSO 0x0000001f 503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 504 #define ETHTOOL_GPERMADDR 0x00000020 505 #define ETHTOOL_GUFO 0x00000021 506 #define ETHTOOL_SUFO 0x00000022 507 #define ETHTOOL_GGSO 0x00000023 508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 509 #define ETHTOOL_SGSO 0x00000024 510 #define ETHTOOL_GFLAGS 0x00000025 511 #define ETHTOOL_SFLAGS 0x00000026 512 #define ETHTOOL_GPFLAGS 0x00000027 513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 514 #define ETHTOOL_SPFLAGS 0x00000028 515 #define ETHTOOL_GRXFH 0x00000029 516 #define ETHTOOL_SRXFH 0x0000002a 517 #define ETHTOOL_GGRO 0x0000002b 518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 519 #define ETHTOOL_SGRO 0x0000002c 520 #define ETHTOOL_GRXRINGS 0x0000002d 521 #define ETHTOOL_GRXCLSRLCNT 0x0000002e 522 #define ETHTOOL_GRXCLSRULE 0x0000002f 523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 524 #define ETHTOOL_GRXCLSRLALL 0x00000030 525 #define ETHTOOL_SRXCLSRLDEL 0x00000031 526 #define ETHTOOL_SRXCLSRLINS 0x00000032 527 #define ETHTOOL_FLASHDEV 0x00000033 528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 529 #define ETHTOOL_RESET 0x00000034 530 #define ETHTOOL_SRXNTUPLE 0x00000035 531 #define ETHTOOL_GRXNTUPLE 0x00000036 532 #define ETHTOOL_GSSET_INFO 0x00000037 533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 534 #define ETHTOOL_GRXFHINDIR 0x00000038 535 #define ETHTOOL_SRXFHINDIR 0x00000039 536 #define ETHTOOL_GFEATURES 0x0000003a 537 #define ETHTOOL_SFEATURES 0x0000003b 538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 539 #define ETHTOOL_GCHANNELS 0x0000003c 540 #define ETHTOOL_SCHANNELS 0x0000003d 541 #define ETHTOOL_SET_DUMP 0x0000003e 542 #define ETHTOOL_GET_DUMP_FLAG 0x0000003f 543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 544 #define ETHTOOL_GET_DUMP_DATA 0x00000040 545 #define ETHTOOL_GET_TS_INFO 0x00000041 546 #define ETHTOOL_GMODULEINFO 0x00000042 547 #define ETHTOOL_GMODULEEEPROM 0x00000043 548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 549 #define ETHTOOL_GEEE 0x00000044 550 #define ETHTOOL_SEEE 0x00000045 551 #define ETHTOOL_GRSSH 0x00000046 552 #define ETHTOOL_SRSSH 0x00000047 553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 554 #define ETHTOOL_GTUNABLE 0x00000048 555 #define ETHTOOL_STUNABLE 0x00000049 556 #define SPARC_ETH_GSET ETHTOOL_GSET 557 #define SPARC_ETH_SSET ETHTOOL_SSET 558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 559 #define SUPPORTED_10baseT_Half (1 << 0) 560 #define SUPPORTED_10baseT_Full (1 << 1) 561 #define SUPPORTED_100baseT_Half (1 << 2) 562 #define SUPPORTED_100baseT_Full (1 << 3) 563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 564 #define SUPPORTED_1000baseT_Half (1 << 4) 565 #define SUPPORTED_1000baseT_Full (1 << 5) 566 #define SUPPORTED_Autoneg (1 << 6) 567 #define SUPPORTED_TP (1 << 7) 568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 569 #define SUPPORTED_AUI (1 << 8) 570 #define SUPPORTED_MII (1 << 9) 571 #define SUPPORTED_FIBRE (1 << 10) 572 #define SUPPORTED_BNC (1 << 11) 573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 574 #define SUPPORTED_10000baseT_Full (1 << 12) 575 #define SUPPORTED_Pause (1 << 13) 576 #define SUPPORTED_Asym_Pause (1 << 14) 577 #define SUPPORTED_2500baseX_Full (1 << 15) 578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 579 #define SUPPORTED_Backplane (1 << 16) 580 #define SUPPORTED_1000baseKX_Full (1 << 17) 581 #define SUPPORTED_10000baseKX4_Full (1 << 18) 582 #define SUPPORTED_10000baseKR_Full (1 << 19) 583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 584 #define SUPPORTED_10000baseR_FEC (1 << 20) 585 #define SUPPORTED_20000baseMLD2_Full (1 << 21) 586 #define SUPPORTED_20000baseKR2_Full (1 << 22) 587 #define SUPPORTED_40000baseKR4_Full (1 << 23) 588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 589 #define SUPPORTED_40000baseCR4_Full (1 << 24) 590 #define SUPPORTED_40000baseSR4_Full (1 << 25) 591 #define SUPPORTED_40000baseLR4_Full (1 << 26) 592 #define SUPPORTED_56000baseKR4_Full (1 << 27) 593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 594 #define SUPPORTED_56000baseCR4_Full (1 << 28) 595 #define SUPPORTED_56000baseSR4_Full (1 << 29) 596 #define SUPPORTED_56000baseLR4_Full (1 << 30) 597 #define ADVERTISED_10baseT_Half (1 << 0) 598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 599 #define ADVERTISED_10baseT_Full (1 << 1) 600 #define ADVERTISED_100baseT_Half (1 << 2) 601 #define ADVERTISED_100baseT_Full (1 << 3) 602 #define ADVERTISED_1000baseT_Half (1 << 4) 603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 604 #define ADVERTISED_1000baseT_Full (1 << 5) 605 #define ADVERTISED_Autoneg (1 << 6) 606 #define ADVERTISED_TP (1 << 7) 607 #define ADVERTISED_AUI (1 << 8) 608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 609 #define ADVERTISED_MII (1 << 9) 610 #define ADVERTISED_FIBRE (1 << 10) 611 #define ADVERTISED_BNC (1 << 11) 612 #define ADVERTISED_10000baseT_Full (1 << 12) 613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 614 #define ADVERTISED_Pause (1 << 13) 615 #define ADVERTISED_Asym_Pause (1 << 14) 616 #define ADVERTISED_2500baseX_Full (1 << 15) 617 #define ADVERTISED_Backplane (1 << 16) 618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 619 #define ADVERTISED_1000baseKX_Full (1 << 17) 620 #define ADVERTISED_10000baseKX4_Full (1 << 18) 621 #define ADVERTISED_10000baseKR_Full (1 << 19) 622 #define ADVERTISED_10000baseR_FEC (1 << 20) 623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 624 #define ADVERTISED_20000baseMLD2_Full (1 << 21) 625 #define ADVERTISED_20000baseKR2_Full (1 << 22) 626 #define ADVERTISED_40000baseKR4_Full (1 << 23) 627 #define ADVERTISED_40000baseCR4_Full (1 << 24) 628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 629 #define ADVERTISED_40000baseSR4_Full (1 << 25) 630 #define ADVERTISED_40000baseLR4_Full (1 << 26) 631 #define ADVERTISED_56000baseKR4_Full (1 << 27) 632 #define ADVERTISED_56000baseCR4_Full (1 << 28) 633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 634 #define ADVERTISED_56000baseSR4_Full (1 << 29) 635 #define ADVERTISED_56000baseLR4_Full (1 << 30) 636 #define SPEED_10 10 637 #define SPEED_100 100 638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 639 #define SPEED_1000 1000 640 #define SPEED_2500 2500 641 #define SPEED_5000 5000 642 #define SPEED_10000 10000 643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 644 #define SPEED_20000 20000 645 #define SPEED_25000 25000 646 #define SPEED_40000 40000 647 #define SPEED_50000 50000 648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 649 #define SPEED_56000 56000 650 #define SPEED_100000 100000 651 #define SPEED_UNKNOWN - 1 652 #define DUPLEX_HALF 0x00 653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 654 #define DUPLEX_FULL 0x01 655 #define DUPLEX_UNKNOWN 0xff 656 #define PORT_TP 0x00 657 #define PORT_AUI 0x01 658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 659 #define PORT_MII 0x02 660 #define PORT_FIBRE 0x03 661 #define PORT_BNC 0x04 662 #define PORT_DA 0x05 663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 664 #define PORT_NONE 0xef 665 #define PORT_OTHER 0xff 666 #define XCVR_INTERNAL 0x00 667 #define XCVR_EXTERNAL 0x01 668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 669 #define XCVR_DUMMY1 0x02 670 #define XCVR_DUMMY2 0x03 671 #define XCVR_DUMMY3 0x04 672 #define AUTONEG_DISABLE 0x00 673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 674 #define AUTONEG_ENABLE 0x01 675 #define ETH_TP_MDI_INVALID 0x00 676 #define ETH_TP_MDI 0x01 677 #define ETH_TP_MDI_X 0x02 678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 679 #define ETH_TP_MDI_AUTO 0x03 680 #define WAKE_PHY (1 << 0) 681 #define WAKE_UCAST (1 << 1) 682 #define WAKE_MCAST (1 << 2) 683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 684 #define WAKE_BCAST (1 << 3) 685 #define WAKE_ARP (1 << 4) 686 #define WAKE_MAGIC (1 << 5) 687 #define WAKE_MAGICSECURE (1 << 6) 688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 689 #define TCP_V4_FLOW 0x01 690 #define UDP_V4_FLOW 0x02 691 #define SCTP_V4_FLOW 0x03 692 #define AH_ESP_V4_FLOW 0x04 693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 694 #define TCP_V6_FLOW 0x05 695 #define UDP_V6_FLOW 0x06 696 #define SCTP_V6_FLOW 0x07 697 #define AH_ESP_V6_FLOW 0x08 698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 699 #define AH_V4_FLOW 0x09 700 #define ESP_V4_FLOW 0x0a 701 #define AH_V6_FLOW 0x0b 702 #define ESP_V6_FLOW 0x0c 703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 704 #define IP_USER_FLOW 0x0d 705 #define IPV4_FLOW 0x10 706 #define IPV6_FLOW 0x11 707 #define ETHER_FLOW 0x12 708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 709 #define FLOW_EXT 0x80000000 710 #define FLOW_MAC_EXT 0x40000000 711 #define RXH_L2DA (1 << 1) 712 #define RXH_VLAN (1 << 2) 713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 714 #define RXH_L3_PROTO (1 << 3) 715 #define RXH_IP_SRC (1 << 4) 716 #define RXH_IP_DST (1 << 5) 717 #define RXH_L4_B_0_1 (1 << 6) 718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 719 #define RXH_L4_B_2_3 (1 << 7) 720 #define RXH_DISCARD (1 << 31) 721 #define RX_CLS_FLOW_DISC 0xffffffffffffffffULL 722 #define RX_CLS_LOC_SPECIAL 0x80000000 723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 724 #define RX_CLS_LOC_ANY 0xffffffff 725 #define RX_CLS_LOC_FIRST 0xfffffffe 726 #define RX_CLS_LOC_LAST 0xfffffffd 727 #define ETH_MODULE_SFF_8079 0x1 728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 729 #define ETH_MODULE_SFF_8079_LEN 256 730 #define ETH_MODULE_SFF_8472 0x2 731 #define ETH_MODULE_SFF_8472_LEN 512 732 #define ETH_MODULE_SFF_8636 0x3 733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 734 #define ETH_MODULE_SFF_8636_LEN 256 735 #define ETH_MODULE_SFF_8436 0x4 736 #define ETH_MODULE_SFF_8436_LEN 256 737 enum ethtool_reset_flags { 738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 739 ETH_RESET_MGMT = 1 << 0, 740 ETH_RESET_IRQ = 1 << 1, 741 ETH_RESET_DMA = 1 << 2, 742 ETH_RESET_FILTER = 1 << 3, 743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 744 ETH_RESET_OFFLOAD = 1 << 4, 745 ETH_RESET_MAC = 1 << 5, 746 ETH_RESET_PHY = 1 << 6, 747 ETH_RESET_RAM = 1 << 7, 748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 749 ETH_RESET_DEDICATED = 0x0000ffff, 750 ETH_RESET_ALL = 0xffffffff, 751 }; 752 #define ETH_RESET_SHARED_SHIFT 16 753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 754 #endif 755