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