Lines Matching +full:packet +full:- +full:verification +full:- +full:low +full:- +full:power
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
24 * have the same layout for 32-bit and 64-bit userland.
36 * struct ethtool_cmd - DEPRECATED, link control and status
41 * interface supports autonegotiation or auto-detection.
42 * Read-only.
46 * auto-detection.
47 * @speed: Low bits of the speed, 1Mb units, 0 to INT_MAX or SPEED_UNKNOWN
54 * @autoneg: Enable/disable autonegotiation and auto-detection;
58 * Read-only.
60 * obsoleted by &struct ethtool_coalesce. Read-only; deprecated.
62 * obsoleted by &struct ethtool_coalesce. Read-only; deprecated.
64 * @eth_tp_mdix: Ethernet twisted-pair MDI(-X) status; one of
66 * value will be %ETH_TP_MDI_INVALID. Read-only.
67 * @eth_tp_mdix_ctrl: Ethernet twisted pair MDI(-X) control; one of
68 * %ETH_TP_MDI_*. If MDI(-X) control is not implemented, reads
75 * Read-only.
84 * link modes. If it is enabled then they are read-only; if the link
96 * Users should assume that all fields not marked read-only are
126 ep->speed = (__u16)(speed & 0xFFFF); in ethtool_cmd_speed_set()
127 ep->speed_hi = (__u16)(speed >> 16); in ethtool_cmd_speed_set()
132 return (ep->speed_hi << 16) | ep->speed; in ethtool_cmd_speed()
154 * struct ethtool_drvinfo - general driver and device information
201 * struct ethtool_wolinfo - Wake-On-Lan configuration
203 * @supported: Bitmask of %WAKE_* flags for supported Wake-On-Lan modes.
204 * Read-only.
205 * @wolopts: Bitmask of %WAKE_* flags for enabled Wake-On-Lan modes.
269 /* Energy Detect Power Down (EDPD) is a feature supported by some PHYs, where
270 * the PHY's RX & TX blocks are put into a low-power mode when there is no
271 * link detected (typically cable is un-plugged). For RX, only a minimal
272 * link-detection is available, and for TX the PHY wakes up to send link pulses
273 * to avoid any lock-ups in case the peer PHY may also be running in EDPD mode.
275 * Some PHYs may support configuration of the wake-up interval for TX pulses,
280 * The interval units for TX wake-up are in milliseconds, since this should
282 * - from 1 millisecond, which does not sound like much of a power-saver
283 * - to ~65 seconds which is quite a lot to wait for a link to come up when
303 * struct ethtool_regs - hardware register dump
305 * @version: Dump format version. This is driver-specific and may
325 * struct ethtool_eeprom - EEPROM dump
339 * the length of an on-board or module EEPROM, respectively. They
351 * struct ethtool_eee - Energy Efficient Ethernet information
381 * struct ethtool_modinfo - plugin module eeprom information
399 * struct ethtool_coalesce - coalescing parameters for IRQs and stats updates
402 * a packet arrives.
411 * a packet is sent.
419 * @stats_block_coalesce_usecs: How many usecs to delay in-memory
421 * in-memory statistic block, and in such cases this value is
425 * @pkt_rate_low: Threshold for low packet rate (packets per second).
427 * a packet arrives, when the packet rate is below @pkt_rate_low.
429 * before an RX interrupt, when the packet rate is below @pkt_rate_low.
431 * a packet is sent, when the packet rate is below @pkt_rate_low.
433 * a TX interrupt, when the packet rate is below @pkt_rate_low.
434 * @pkt_rate_high: Threshold for high packet rate (packets per second).
436 * a packet arrives, when the packet rate is above @pkt_rate_high.
438 * before an RX interrupt, when the packet rate is above @pkt_rate_high.
440 * a packet is sent, when the packet rate is above @pkt_rate_high.
442 * a TX interrupt, when the packet rate is above @pkt_rate_high.
443 * @rate_sample_interval: How often to do adaptive coalescing packet rate
462 * drivers to improve latency under low packet rates and improve
463 * throughput under high packet rates. Some drivers only implement
467 * When the packet rate is below @pkt_rate_high but above
498 * struct ethtool_ringparam - RX/TX ring parameters
501 * RX ring. Read-only.
503 * per RX mini ring. Read-only.
505 * per RX jumbo ring. Read-only.
507 * TX ring. Read-only.
519 * There may also be driver-dependent minimum values for the number
535 * struct ethtool_channels - configuring number of network channel
563 * struct ethtool_pauseparam - Ethernet pause (flow control) parameters
569 * Drivers should reject a non-zero setting of @autoneg when
579 * If @autoneg is non-zero, the MAC is configured to send and/or
658 * enum ethtool_stringset - string set ID
659 * @ETH_SS_TEST: Self-test result names, for use with %ETHTOOL_TEST
672 * @ETH_SS_WOL_MODES: wake-on-lan modes
713 * enum ethtool_mac_stats_src - source of ethtool MAC statistics
731 * enum ethtool_module_power_mode_policy - plug-in module power mode policy
732 * @ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH: Module is always in high power mode.
734 * to high power mode when the first port using it is put administratively
735 * up and to low power mode when the last port using it is put
744 * enum ethtool_module_power_mode - plug-in module power mode
745 * @ETHTOOL_MODULE_POWER_MODE_LOW: Module is in low power mode.
746 * @ETHTOOL_MODULE_POWER_MODE_HIGH: Module is in high power mode.
754 * enum ethtool_c33_pse_ext_state - groups of PSE extended states
755 * functions. IEEE 802.3-2022 33.2.4.4 Variables
783 * enum ethtool_c33_pse_ext_substate_mr_mps_valid - mr_mps_valid states
784 * functions. IEEE 802.3-2022 33.2.4.4 Variables
791 * The PSE monitors either the DC or AC Maintain Power Signature
801 * enum ethtool_c33_pse_ext_substate_error_condition - error_condition states
802 * functions. IEEE 802.3-2022 33.2.4.4 Variables
804 * @ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT: Non-existing
823 * implementation-specific fault conditions or optionally other system faults
825 * require the PSE not to source power. These error conditions are different
841 * enum ethtool_c33_pse_ext_substate_mr_pse_enable - mr_pse_enable states
842 * functions. IEEE 802.3-2022 33.2.4.4 Variables
855 * enum ethtool_c33_pse_ext_substate_option_detect_ted - option_detect_ted
856 * states functions. IEEE 802.3-2022 33.2.4.4 Variables
872 * enum ethtool_c33_pse_ext_substate_option_vport_lim - option_vport_lim states
873 * functions. IEEE 802.3-2022 33.2.4.4 Variables
878 * voltage is low
892 * enum ethtool_c33_pse_ext_substate_ovld_detected - ovld_detected states
893 * functions. IEEE 802.3-2022 33.2.4.4 Variables
898 * in an overload condition (see 33.2.7.6) for at least TCUT of a one-second
906 * enum ethtool_c33_pse_ext_substate_power_not_available - power_not_available
907 * states functions. IEEE 802.3-2022 33.2.4.4 Variables
909 * @ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED: Power
912 * Configured port power limit exceeded controller power budget
914 * Power request from PD exceeds port limit
915 * @ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT: Power
916 * denied due to Hardware power limit
919 * implementation-dependent manner when the PSE is no longer capable of
920 * sourcing sufficient power to support the attached PD. Sufficient power
931 * enum ethtool_c33_pse_ext_substate_short_detected - short_detected states
932 * functions. IEEE 802.3-2022 33.2.4.4 Variables
945 * enum ethtool_pse_types - Types of PSE controller.
957 * enum ethtool_c33_pse_admin_state - operational state of the PoDL PSE
958 * functions. IEEE 802.3-2022 30.9.1.1.2 aPSEAdminState
970 * enum ethtool_c33_pse_pw_d_status - power detection status of the PSE.
971 * IEEE 802.3-2022 30.9.1.1.3 aPoDLPSEPowerDetectionStatus:
1000 * enum ethtool_podl_pse_admin_state - operational state of the PoDL PSE
1001 * functions. IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminState
1014 * enum ethtool_podl_pse_pw_d_status - power detection status of the PoDL PSE.
1015 * IEEE 802.3-2018 30.15.1.1.3 aPoDLPSEPowerDetectionStatus:
1045 * enum ethtool_mm_verify_status - status of MAC Merge Verify function
1047 * verification status is unknown
1058 * verification of preemption operation is disabled
1070 * enum ethtool_module_fw_flash_status - plug-in module firmware flashing status
1088 * struct ethtool_gstrings - string set for data tagging
1092 * @data: Buffer for strings. Each string is null-padded to a size of
1107 * struct ethtool_sset_info - string set information
1132 * enum ethtool_test_flags - flags definition of ethtool_test
1149 * struct ethtool_test - device self-test invocation
1172 * struct ethtool_stats - device-specific statistics
1189 * struct ethtool_perm_addr - permanent hardware address
1205 /* boolean flags controlling per-interface behavior characteristics.
1210 * Some behaviors may read-only (unconditionally absent or present).
1211 * If such is the case, return EINVAL in the set-flags operation if the
1212 * flag differs from the read-only value.
1218 ETH_FLAG_NTUPLE = (1 << 27), /* N-tuple filters enabled */
1223 * classification and RX n-tuple configuration. Note, all multibyte
1229 * struct ethtool_tcpip4_spec - flow specification for TCP/IPv4 etc.
1234 * @tos: Type-of-service
1247 * struct ethtool_ah_espip4_spec - flow specification for IPsec/IPv4
1251 * @tos: Type-of-service
1265 * struct ethtool_usrip4_spec - general flow specification for IPv4
1269 * @tos: Type-of-service
1283 * struct ethtool_tcpip6_spec - flow specification for TCP/IPv6 etc.
1301 * struct ethtool_ah_espip6_spec - flow specification for IPsec/IPv6
1317 * struct ethtool_usrip6_spec - general flow specification for IPv6
1350 * struct ethtool_flow_ext - additional RX flow fields
1370 * struct ethtool_rx_flow_spec - classification rule for RX flows
1381 * packets should be used for Wake-on-LAN with %WAKE_FILTER
1422 * struct ethtool_rxnfc - command to get or set RX flow classification rules
1423 * @cmd: Specific command number - %ETHTOOL_GRXFH, %ETHTOOL_SRXFH,
1427 * @data: Command-dependent value
1443 * rules on return. If @data is non-zero on return then it is the
1479 * defined in future and drivers must return -%EINVAL for any
1496 * struct ethtool_rxfh_indir - command to get or set RX flow hash indirection
1497 * @cmd: Specific command number - %ETHTOOL_GRXFHINDIR or %ETHTOOL_SRXFHINDIR
1515 * struct ethtool_rxfh - command to get/set RX flow hash indir or/and hash key.
1516 * @cmd: Specific command number - %ETHTOOL_GRSSH or %ETHTOOL_SRSSH
1561 * struct ethtool_rx_ntuple_flow_spec - specification for RX flow filter
1567 * @data: Driver-dependent data to match
1568 * @data_mask: Mask for driver-dependent data bits to be ignored
1569 * @action: RX ring/queue index to deliver to (non-negative) or other action
1595 #define ETHTOOL_RXNTUPLE_ACTION_DROP (-1) /* drop packet */
1596 #define ETHTOOL_RXNTUPLE_ACTION_CLEAR (-2) /* clear filter */
1600 * struct ethtool_rx_ntuple - command to set or clear RX flow filter
1601 * @cmd: Command number - %ETHTOOL_SRXNTUPLE
1622 * struct ethtool_dump - used for retrieving, setting device dump
1623 * @cmd: Command number - %ETHTOOL_GET_DUMP_FLAG, %ETHTOOL_GET_DUMP_DATA, or
1648 * struct ethtool_get_features_block - block with state of 32 features
1662 * struct ethtool_gfeatures - command to get state of device's features
1676 * struct ethtool_set_features_block - block with request for 32 features
1686 * struct ethtool_sfeatures - command to request change in device's features
1698 * struct ethtool_ts_info - holds a device's timestamping and PHC association
1701 * @phc_index: device index of the associated PHC, or -1 if there is none
1732 * Returns %EINVAL when .valid contains undefined or never-changeable bits
1733 * or size is not equal to required number of features words (32-bit blocks).
1735 * %ETHTOOL_F_UNSUPPORTED - there were bits set in .valid that are not
1738 * %ETHTOOL_F_WISH - some or all changes requested were recorded but the
1740 * Probably there are other device-specific constraints on some features
1743 * %ETHTOOL_F_COMPAT - some or all changes requested were made by calling
1748 * bits in the arrays - always multiple of 32) and %ETHTOOL_GSTRINGS commands
1765 * struct ethtool_per_queue_op - apply sub command to the queues in mask.
1779 * struct ethtool_fecparam - Ethernet Forward Error Correction parameters
1816 * enum ethtool_fec_config_bits - flags definition of ethtool_fec_configuration
1823 * @ETHTOOL_FEC_RS_BIT: Reed-Solomon FEC Mode
1824 * @ETHTOOL_FEC_BASER_BIT: Base-R/Reed-Solomon FEC Mode
1825 * @ETHTOOL_FEC_LLRS_BIT: Low Latency Reed Solomon FEC Mode (25G/50G Ethernet
1853 #define ETHTOOL_GWOL 0x00000005 /* Get wake-on-lan options. */
1854 #define ETHTOOL_SWOL 0x00000006 /* Set wake-on-lan options. */
1873 #define ETHTOOL_GSG 0x00000018 /* Get scatter-gather enable
1875 #define ETHTOOL_SSG 0x00000019 /* Set scatter-gather enable
1877 #define ETHTOOL_TEST 0x0000001a /* execute NIC self-test. */
1880 #define ETHTOOL_GSTATS 0x0000001d /* get NIC-specific statistics */
1890 #define ETHTOOL_GPFLAGS 0x00000027 /* Get driver-private flags bitmap */
1891 #define ETHTOOL_SPFLAGS 0x00000028 /* Set driver-private flags bitmap */
1905 #define ETHTOOL_SRXNTUPLE 0x00000035 /* Add an n-tuple filter to device */
1919 #define ETHTOOL_GMODULEINFO 0x00000042 /* Get plug-in module information */
1920 #define ETHTOOL_GMODULEEEPROM 0x00000043 /* Get plug-in module eeprom */
1928 #define ETHTOOL_GPHYSTATS 0x0000004a /* get PHY-specific statistics */
2170 #define SPEED_UNKNOWN -1
2217 /* The MAC is programmed with a sufficiently-large IPG. */
2241 /* MDI or MDI-X status/control - if MDI/MDI_X/AUTO is set then
2246 #define ETH_TP_MDI_X 0x02 /* status: MDI-X; control: force MDI-X */
2247 #define ETH_TP_MDI_AUTO 0x03 /* control: auto-select */
2249 /* Wake-On-Lan options. */
2270 /* L2-L4 network traffic flow types */
2290 /* Used for GTP-U IPv4 and IPv6.
2298 /* Use for GTP-C IPv4 and v6.
2307 /* Use for GTP-C IPv4 and v6.
2309 * After session creation, it becomes this packet.
2315 /* Use for GTP-U and extended headers for the PSC (PDU Session Container).
2323 /* Use for GTP-U IPv4 and v6 PSC (PDU Session Container) extended headers.
2342 /* L3-L4 network traffic flow hash options */
2408 * struct ethtool_link_settings - link control and status
2411 * user-space tools, please first try %ETHTOOL_GLINKSETTINGS, and
2427 * @autoneg: Enable/disable autonegotiation and auto-detection;
2431 * Read-only.
2432 * @eth_tp_mdix: Ethernet twisted-pair MDI(-X) status; one of
2434 * value will be %ETH_TP_MDI_INVALID. Read-only.
2435 * @eth_tp_mdix_ctrl: Ethernet twisted pair MDI(-X) control; one of
2436 * %ETH_TP_MDI_*. If MDI(-X) control is not implemented, reads
2440 * @link_mode_masks_nwords: Number of 32-bit words for each of the
2455 * reported consistently by PHYLIB. Read-only.
2464 * link modes. If it is enabled then they are read-only; if the link
2479 * fail if any of them is set to non-zero value.
2481 * Users should assume that all fields not marked read-only are
2493 * and @link_mode_masks_nwords that are not described as read-only or
2494 * deprecated, and must ignore all fields described as read-only.
2498 * - supported: Bitmap with each bit meaning given by
2501 * supports autonegotiation or auto-detection. Read-only.
2502 * - advertising: Bitmap with each bit meaning given by
2505 * autonegotiation or enabled for auto-detection.
2506 * - lp_advertising: Bitmap with each bit meaning given by
2509 * autonegotiation; 0 if unknown or not applicable. Read-only.
2536 * enum phy_upstream - Represents the upstream component a given PHY device
2539 * an intermediate PHY used as a media-converter, which will driver another