Lines Matching +full:auto +full:- +full:string +full:- +full:detection
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
26 * have the same layout for 32-bit and 64-bit userland.
30 * struct ethtool_cmd - DEPRECATED, link control and status
35 * interface supports autonegotiation or auto-detection.
36 * Read-only.
40 * auto-detection.
48 * @autoneg: Enable/disable autonegotiation and auto-detection;
52 * Read-only.
54 * obsoleted by &struct ethtool_coalesce. Read-only; deprecated.
56 * obsoleted by &struct ethtool_coalesce. Read-only; deprecated.
58 * @eth_tp_mdix: Ethernet twisted-pair MDI(-X) status; one of
60 * value will be %ETH_TP_MDI_INVALID. Read-only.
61 * @eth_tp_mdix_ctrl: Ethernet twisted pair MDI(-X) control; one of
62 * %ETH_TP_MDI_*. If MDI(-X) control is not implemented, reads
69 * Read-only.
77 * link modes. If it is enabled then they are read-only; if the link
89 * Users should assume that all fields not marked read-only are
119 ep->speed = (__u16)(speed & 0xFFFF); in ethtool_cmd_speed_set()
120 ep->speed_hi = (__u16)(speed >> 16); in ethtool_cmd_speed_set()
125 return (ep->speed_hi << 16) | ep->speed; in ethtool_cmd_speed()
147 * struct ethtool_drvinfo - general driver and device information
151 * not be an empty string.
152 * @version: Driver version string; may be an empty string
153 * @fw_version: Firmware version string; may be an empty string
154 * @erom_version: Expansion ROM version string; may be an empty string
156 * string for the underlying bus device, if there is one. May be
157 * an empty string.
171 * strings in any string set (from Linux 2.6.34).
195 * struct ethtool_wolinfo - Wake-On-Lan configuration
197 * @supported: Bitmask of %WAKE_* flags for supported Wake-On-Lan modes.
198 * Read-only.
199 * @wolopts: Bitmask of %WAKE_* flags for enabled Wake-On-Lan modes.
257 * 0xff = off, link down detection according to standard
263 * the PHY's RX & TX blocks are put into a low-power mode when there is no
264 * link detected (typically cable is un-plugged). For RX, only a minimal
265 * link-detection is available, and for TX the PHY wakes up to send link pulses
266 * to avoid any lock-ups in case the peer PHY may also be running in EDPD mode.
268 * Some PHYs may support configuration of the wake-up interval for TX pulses,
273 * The interval units for TX wake-up are in milliseconds, since this should
275 * - from 1 millisecond, which does not sound like much of a power-saver
276 * - to ~65 seconds which is quite a lot to wait for a link to come up when
296 * struct ethtool_regs - hardware register dump
298 * @version: Dump format version. This is driver-specific and may
318 * struct ethtool_eeprom - EEPROM dump
332 * the length of an on-board or module EEPROM, respectively. They
344 * struct ethtool_eee - Energy Efficient Ethernet information
352 * @eee_active: Result of the eee auto negotiation.
373 * struct ethtool_modinfo - plugin module eeprom information
390 * struct ethtool_coalesce - coalescing parameters for IRQs and stats updates
410 * @stats_block_coalesce_usecs: How many usecs to delay in-memory
412 * in-memory statistic block, and in such cases this value is
489 * struct ethtool_ringparam - RX/TX ring parameters
492 * RX ring. Read-only.
494 * per RX mini ring. Read-only.
496 * per RX jumbo ring. Read-only.
498 * TX ring. Read-only.
510 * There may also be driver-dependent minimum values for the number
526 * struct ethtool_channels - configuring number of network channel
554 * struct ethtool_pauseparam - Ethernet pause (flow control) parameters
560 * Drivers should reject a non-zero setting of @autoneg when
570 * If @autoneg is non-zero, the MAC is configured to send and/or
583 * enum ethtool_link_ext_state - link extended state
599 * enum ethtool_link_ext_substate_autoneg - more information in addition to
612 * enum ethtool_link_ext_substate_link_training - more information in addition to
623 * enum ethtool_link_ext_substate_logical_mismatch - more information in addition
635 * enum ethtool_link_ext_substate_bad_signal_integrity - more information in
644 * enum ethtool_link_ext_substate_cable_issue - more information in
655 * enum ethtool_stringset - string set ID
656 * @ETH_SS_TEST: Self-test result names, for use with %ETHTOOL_TEST
668 * @ETH_SS_WOL_MODES: wake-on-lan modes
697 * struct ethtool_gstrings - string set for data tagging
699 * @string_set: String set ID; one of &enum ethtool_stringset
700 * @len: On return, the number of strings in the string set
701 * @data: Buffer for strings. Each string is null-padded to a size of
705 * the string set. They must allocate a buffer of the appropriate
716 * struct ethtool_sset_info - string set information
718 * @sset_mask: On entry, a bitmask of string sets to query, with bits
720 * bitmask of those string sets queried that are supported.
721 * @data: Buffer for string set sizes. On return, this contains the
722 * size of each string set that was queried and supported, in
740 * enum ethtool_test_flags - flags definition of ethtool_test
757 * struct ethtool_test - device self-test invocation
779 * struct ethtool_stats - device-specific statistics
796 * struct ethtool_perm_addr - permanent hardware address
812 /* boolean flags controlling per-interface behavior characteristics.
817 * Some behaviors may read-only (unconditionally absent or present).
818 * If such is the case, return EINVAL in the set-flags operation if the
819 * flag differs from the read-only value.
825 ETH_FLAG_NTUPLE = (1 << 27), /* N-tuple filters enabled */
830 * classification and RX n-tuple configuration. Note, all multibyte
836 * struct ethtool_tcpip4_spec - flow specification for TCP/IPv4 etc.
841 * @tos: Type-of-service
854 * struct ethtool_ah_espip4_spec - flow specification for IPsec/IPv4
858 * @tos: Type-of-service
872 * struct ethtool_usrip4_spec - general flow specification for IPv4
876 * @tos: Type-of-service
890 * struct ethtool_tcpip6_spec - flow specification for TCP/IPv6 etc.
908 * struct ethtool_ah_espip6_spec - flow specification for IPsec/IPv6
924 * struct ethtool_usrip6_spec - general flow specification for IPv6
957 * struct ethtool_flow_ext - additional RX flow fields
976 * struct ethtool_rx_flow_spec - classification rule for RX flows
987 * packets should be used for Wake-on-LAN with %WAKE_FILTER
1028 * struct ethtool_rxnfc - command to get or set RX flow classification rules
1029 * @cmd: Specific command number - %ETHTOOL_GRXFH, %ETHTOOL_SRXFH,
1033 * @data: Command-dependent value
1049 * rules on return. If @data is non-zero on return then it is the
1085 * defined in future and drivers must return -%EINVAL for any
1102 * struct ethtool_rxfh_indir - command to get or set RX flow hash indirection
1103 * @cmd: Specific command number - %ETHTOOL_GRXFHINDIR or %ETHTOOL_SRXFHINDIR
1121 * struct ethtool_rxfh - command to get/set RX flow hash indir or/and hash key.
1122 * @cmd: Specific command number - %ETHTOOL_GRSSH or %ETHTOOL_SRSSH
1163 * struct ethtool_rx_ntuple_flow_spec - specification for RX flow filter
1169 * @data: Driver-dependent data to match
1170 * @data_mask: Mask for driver-dependent data bits to be ignored
1171 * @action: RX ring/queue index to deliver to (non-negative) or other action
1197 #define ETHTOOL_RXNTUPLE_ACTION_DROP (-1) /* drop packet */
1198 #define ETHTOOL_RXNTUPLE_ACTION_CLEAR (-2) /* clear filter */
1202 * struct ethtool_rx_ntuple - command to set or clear RX flow filter
1203 * @cmd: Command number - %ETHTOOL_SRXNTUPLE
1224 * struct ethtool_dump - used for retrieving, setting device dump
1225 * @cmd: Command number - %ETHTOOL_GET_DUMP_FLAG, %ETHTOOL_GET_DUMP_DATA, or
1250 * struct ethtool_get_features_block - block with state of 32 features
1264 * struct ethtool_gfeatures - command to get state of device's features
1278 * struct ethtool_set_features_block - block with request for 32 features
1288 * struct ethtool_sfeatures - command to request change in device's features
1300 * struct ethtool_ts_info - holds a device's timestamping and PHC association
1303 * @phc_index: device index of the associated PHC, or -1 if there is none
1332 * Returns %EINVAL when .valid contains undefined or never-changeable bits
1333 * or size is not equal to required number of features words (32-bit blocks).
1335 * %ETHTOOL_F_UNSUPPORTED - there were bits set in .valid that are not
1338 * %ETHTOOL_F_WISH - some or all changes requested were recorded but the
1340 * Probably there are other device-specific constraints on some features
1343 * %ETHTOOL_F_COMPAT - some or all changes requested were made by calling
1348 * bits in the arrays - always multiple of 32) and %ETHTOOL_GSTRINGS commands
1349 * for ETH_SS_FEATURES string set. First entry in the table corresponds to least
1365 * struct ethtool_per_queue_op - apply sub command to the queues in mask.
1379 * struct ethtool_fecparam - Ethernet forward error correction(fec) parameters
1385 * Drivers should reject a non-zero setting of @autoneg when
1398 * enum ethtool_fec_config_bits - flags definition of ethtool_fec_configuration
1402 * @ETHTOOL_FEC_RS: Reed-Solomon Forward Error Detection mode
1403 * @ETHTOOL_FEC_BASER: Base-R/Reed-Solomon Forward Error Detection mode
1430 #define ETHTOOL_GWOL 0x00000005 /* Get wake-on-lan options. */
1431 #define ETHTOOL_SWOL 0x00000006 /* Set wake-on-lan options. */
1450 #define ETHTOOL_GSG 0x00000018 /* Get scatter-gather enable
1452 #define ETHTOOL_SSG 0x00000019 /* Set scatter-gather enable
1454 #define ETHTOOL_TEST 0x0000001a /* execute NIC self-test. */
1455 #define ETHTOOL_GSTRINGS 0x0000001b /* get specified string set */
1457 #define ETHTOOL_GSTATS 0x0000001d /* get NIC-specific statistics */
1467 #define ETHTOOL_GPFLAGS 0x00000027 /* Get driver-private flags bitmap */
1468 #define ETHTOOL_SPFLAGS 0x00000028 /* Set driver-private flags bitmap */
1482 #define ETHTOOL_SRXNTUPLE 0x00000035 /* Add an n-tuple filter to device */
1484 #define ETHTOOL_GSSET_INFO 0x00000037 /* Get string set info */
1496 #define ETHTOOL_GMODULEINFO 0x00000042 /* Get plug-in module information */
1497 #define ETHTOOL_GMODULEEEPROM 0x00000043 /* Get plug-in module eeprom */
1505 #define ETHTOOL_GPHYSTATS 0x0000004a /* get PHY-specific statistics */
1734 #define SPEED_UNKNOWN -1
1791 /* MDI or MDI-X status/control - if MDI/MDI_X/AUTO is set then
1796 #define ETH_TP_MDI_X 0x02 /* status: MDI-X; control: force MDI-X */
1797 #define ETH_TP_MDI_AUTO 0x03 /* control: auto-select */
1799 /* Wake-On-Lan options. */
1811 /* L2-L4 network traffic flow types */
1836 /* L3-L4 network traffic flow hash options */
1901 * struct ethtool_link_settings - link control and status
1904 * user-space tools, please first try %ETHTOOL_GLINKSETTINGS, and
1920 * @autoneg: Enable/disable autonegotiation and auto-detection;
1924 * Read-only.
1925 * @eth_tp_mdix: Ethernet twisted-pair MDI(-X) status; one of
1927 * value will be %ETH_TP_MDI_INVALID. Read-only.
1928 * @eth_tp_mdix_ctrl: Ethernet twisted pair MDI(-X) control; one of
1929 * %ETH_TP_MDI_*. If MDI(-X) control is not implemented, reads
1933 * @link_mode_masks_nwords: Number of 32-bit words for each of the
1950 * supports autonegotiation or auto-detection. Read-only.
1954 * autonegotiation or enabled for auto-detection.
1958 * autonegotiation; 0 if unknown or not applicable. Read-only.
1960 * reported consistently by PHYLIB. Read-only.
1964 * link modes. If it is enabled then they are read-only; if the link
1979 * fail if any of them is set to non-zero value.
1981 * Users should assume that all fields not marked read-only are
1993 * and @link_mode_masks_nwords that are not described as read-only or
1994 * deprecated, and must ignore all fields described as read-only.