mirror of
https://github.com/systemd/systemd.git
synced 2025-01-25 10:04:04 +03:00
shared/linux: update linux headers from v5.16-rc6
This commit is contained in:
parent
d25cc8321c
commit
254a7d66c6
File diff suppressed because it is too large
Load Diff
@ -134,15 +134,31 @@ struct bpf_insn;
|
|||||||
.off = OFF, \
|
.off = OFF, \
|
||||||
.imm = 0 })
|
.imm = 0 })
|
||||||
|
|
||||||
/* Atomic memory add, *(uint *)(dst_reg + off16) += src_reg */
|
/*
|
||||||
|
* Atomic operations:
|
||||||
|
*
|
||||||
|
* BPF_ADD *(uint *) (dst_reg + off16) += src_reg
|
||||||
|
* BPF_AND *(uint *) (dst_reg + off16) &= src_reg
|
||||||
|
* BPF_OR *(uint *) (dst_reg + off16) |= src_reg
|
||||||
|
* BPF_XOR *(uint *) (dst_reg + off16) ^= src_reg
|
||||||
|
* BPF_ADD | BPF_FETCH src_reg = atomic_fetch_add(dst_reg + off16, src_reg);
|
||||||
|
* BPF_AND | BPF_FETCH src_reg = atomic_fetch_and(dst_reg + off16, src_reg);
|
||||||
|
* BPF_OR | BPF_FETCH src_reg = atomic_fetch_or(dst_reg + off16, src_reg);
|
||||||
|
* BPF_XOR | BPF_FETCH src_reg = atomic_fetch_xor(dst_reg + off16, src_reg);
|
||||||
|
* BPF_XCHG src_reg = atomic_xchg(dst_reg + off16, src_reg)
|
||||||
|
* BPF_CMPXCHG r0 = atomic_cmpxchg(dst_reg + off16, r0, src_reg)
|
||||||
|
*/
|
||||||
|
|
||||||
#define BPF_STX_XADD(SIZE, DST, SRC, OFF) \
|
#define BPF_ATOMIC_OP(SIZE, OP, DST, SRC, OFF) \
|
||||||
((struct bpf_insn) { \
|
((struct bpf_insn) { \
|
||||||
.code = BPF_STX | BPF_SIZE(SIZE) | BPF_XADD, \
|
.code = BPF_STX | BPF_SIZE(SIZE) | BPF_ATOMIC, \
|
||||||
.dst_reg = DST, \
|
.dst_reg = DST, \
|
||||||
.src_reg = SRC, \
|
.src_reg = SRC, \
|
||||||
.off = OFF, \
|
.off = OFF, \
|
||||||
.imm = 0 })
|
.imm = OP })
|
||||||
|
|
||||||
|
/* Legacy alias */
|
||||||
|
#define BPF_STX_XADD(SIZE, DST, SRC, OFF) BPF_ATOMIC_OP(SIZE, BPF_ADD, DST, SRC, OFF)
|
||||||
|
|
||||||
/* Memory store, *(uint *) (dst_reg + off16) = imm32 */
|
/* Memory store, *(uint *) (dst_reg + off16) = imm32 */
|
||||||
|
|
||||||
|
@ -193,8 +193,22 @@ struct dm_name_list {
|
|||||||
__u32 next; /* offset to the next record from
|
__u32 next; /* offset to the next record from
|
||||||
the _start_ of this */
|
the _start_ of this */
|
||||||
char name[0];
|
char name[0];
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The following members can be accessed by taking a pointer that
|
||||||
|
* points immediately after the terminating zero character in "name"
|
||||||
|
* and aligning this pointer to next 8-byte boundary.
|
||||||
|
* Uuid is present if the flag DM_NAME_LIST_FLAG_HAS_UUID is set.
|
||||||
|
*
|
||||||
|
* __u32 event_nr;
|
||||||
|
* __u32 flags;
|
||||||
|
* char uuid[0];
|
||||||
|
*/
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define DM_NAME_LIST_FLAG_HAS_UUID 1
|
||||||
|
#define DM_NAME_LIST_FLAG_DOESNT_HAVE_UUID 2
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Used to retrieve the target versions
|
* Used to retrieve the target versions
|
||||||
*/
|
*/
|
||||||
@ -274,7 +288,7 @@ enum {
|
|||||||
#define DM_VERSION_MAJOR 4
|
#define DM_VERSION_MAJOR 4
|
||||||
#define DM_VERSION_MINOR 27
|
#define DM_VERSION_MINOR 27
|
||||||
#define DM_VERSION_PATCHLEVEL 0
|
#define DM_VERSION_PATCHLEVEL 0
|
||||||
#define DM_VERSION_EXTRA "-ioctl (2020-10-01)"
|
#define DM_VERSION_EXTRA "-ioctl (2021-03-22)"
|
||||||
|
|
||||||
/* Status bits */
|
/* Status bits */
|
||||||
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
||||||
@ -362,4 +376,10 @@ enum {
|
|||||||
*/
|
*/
|
||||||
#define DM_INTERNAL_SUSPEND_FLAG (1 << 18) /* Out */
|
#define DM_INTERNAL_SUSPEND_FLAG (1 << 18) /* Out */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If set, returns in the in buffer passed by UM, the raw table information
|
||||||
|
* that would be measured by IMA subsystem on device state change.
|
||||||
|
*/
|
||||||
|
#define DM_IMA_MEASUREMENT_FLAG (1 << 19) /* In */
|
||||||
|
|
||||||
#endif /* _LINUX_DM_IOCTL_H */
|
#endif /* _LINUX_DM_IOCTL_H */
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#ifndef _UAPI_LINUX_ETHTOOL_H
|
#ifndef _UAPI_LINUX_ETHTOOL_H
|
||||||
#define _UAPI_LINUX_ETHTOOL_H
|
#define _UAPI_LINUX_ETHTOOL_H
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/const.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/if_ether.h>
|
#include <linux/if_ether.h>
|
||||||
|
|
||||||
@ -30,6 +30,14 @@
|
|||||||
* have the same layout for 32-bit and 64-bit userland.
|
* have the same layout for 32-bit and 64-bit userland.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Note on reserved space.
|
||||||
|
* Reserved fields must not be accessed directly by user space because
|
||||||
|
* they may be replaced by a different field in the future. They must
|
||||||
|
* be initialized to zero before making the request, e.g. via memset
|
||||||
|
* of the entire structure or implicitly by not being set in a structure
|
||||||
|
* initializer.
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct ethtool_cmd - DEPRECATED, link control and status
|
* struct ethtool_cmd - DEPRECATED, link control and status
|
||||||
* This structure is DEPRECATED, please use struct ethtool_link_settings.
|
* This structure is DEPRECATED, please use struct ethtool_link_settings.
|
||||||
@ -71,6 +79,7 @@
|
|||||||
* and other link features that the link partner advertised
|
* and other link features that the link partner advertised
|
||||||
* through autonegotiation; 0 if unknown or not applicable.
|
* through autonegotiation; 0 if unknown or not applicable.
|
||||||
* Read-only.
|
* Read-only.
|
||||||
|
* @reserved: Reserved for future use; see the note on reserved space.
|
||||||
*
|
*
|
||||||
* The link speed in Mbps is split between @speed and @speed_hi. Use
|
* The link speed in Mbps is split between @speed and @speed_hi. Use
|
||||||
* the ethtool_cmd_speed() and ethtool_cmd_speed_set() functions to
|
* the ethtool_cmd_speed() and ethtool_cmd_speed_set() functions to
|
||||||
@ -159,6 +168,7 @@ static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep)
|
|||||||
* @bus_info: Device bus address. This should match the dev_name()
|
* @bus_info: Device bus address. This should match the dev_name()
|
||||||
* string for the underlying bus device, if there is one. May be
|
* string for the underlying bus device, if there is one. May be
|
||||||
* an empty string.
|
* an empty string.
|
||||||
|
* @reserved2: Reserved for future use; see the note on reserved space.
|
||||||
* @n_priv_flags: Number of flags valid for %ETHTOOL_GPFLAGS and
|
* @n_priv_flags: Number of flags valid for %ETHTOOL_GPFLAGS and
|
||||||
* %ETHTOOL_SPFLAGS commands; also the number of strings in the
|
* %ETHTOOL_SPFLAGS commands; also the number of strings in the
|
||||||
* %ETH_SS_PRIV_FLAGS set
|
* %ETH_SS_PRIV_FLAGS set
|
||||||
@ -227,7 +237,7 @@ enum tunable_id {
|
|||||||
ETHTOOL_PFC_PREVENTION_TOUT, /* timeout in msecs */
|
ETHTOOL_PFC_PREVENTION_TOUT, /* timeout in msecs */
|
||||||
/*
|
/*
|
||||||
* Add your fresh new tunable attribute above and remember to update
|
* Add your fresh new tunable attribute above and remember to update
|
||||||
* tunable_strings[] in net/core/ethtool.c
|
* tunable_strings[] in net/ethtool/common.c
|
||||||
*/
|
*/
|
||||||
__ETHTOOL_TUNABLE_COUNT,
|
__ETHTOOL_TUNABLE_COUNT,
|
||||||
};
|
};
|
||||||
@ -291,7 +301,7 @@ enum phy_tunable_id {
|
|||||||
ETHTOOL_PHY_EDPD,
|
ETHTOOL_PHY_EDPD,
|
||||||
/*
|
/*
|
||||||
* Add your fresh new phy tunable attribute above and remember to update
|
* Add your fresh new phy tunable attribute above and remember to update
|
||||||
* phy_tunable_strings[] in net/core/ethtool.c
|
* phy_tunable_strings[] in net/ethtool/common.c
|
||||||
*/
|
*/
|
||||||
__ETHTOOL_PHY_TUNABLE_COUNT,
|
__ETHTOOL_PHY_TUNABLE_COUNT,
|
||||||
};
|
};
|
||||||
@ -360,6 +370,7 @@ struct ethtool_eeprom {
|
|||||||
* @tx_lpi_timer: Time in microseconds the interface delays prior to asserting
|
* @tx_lpi_timer: Time in microseconds the interface delays prior to asserting
|
||||||
* its tx lpi (after reaching 'idle' state). Effective only when eee
|
* its tx lpi (after reaching 'idle' state). Effective only when eee
|
||||||
* was negotiated and tx_lpi_enabled was set.
|
* was negotiated and tx_lpi_enabled was set.
|
||||||
|
* @reserved: Reserved for future use; see the note on reserved space.
|
||||||
*/
|
*/
|
||||||
struct ethtool_eee {
|
struct ethtool_eee {
|
||||||
__u32 cmd;
|
__u32 cmd;
|
||||||
@ -378,6 +389,7 @@ struct ethtool_eee {
|
|||||||
* @cmd: %ETHTOOL_GMODULEINFO
|
* @cmd: %ETHTOOL_GMODULEINFO
|
||||||
* @type: Standard the module information conforms to %ETH_MODULE_SFF_xxxx
|
* @type: Standard the module information conforms to %ETH_MODULE_SFF_xxxx
|
||||||
* @eeprom_len: Length of the eeprom
|
* @eeprom_len: Length of the eeprom
|
||||||
|
* @reserved: Reserved for future use; see the note on reserved space.
|
||||||
*
|
*
|
||||||
* This structure is used to return the information to
|
* This structure is used to return the information to
|
||||||
* properly size memory for a subsequent call to %ETHTOOL_GMODULEEEPROM.
|
* properly size memory for a subsequent call to %ETHTOOL_GMODULEEEPROM.
|
||||||
@ -583,9 +595,7 @@ struct ethtool_pauseparam {
|
|||||||
__u32 tx_pause;
|
__u32 tx_pause;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/* Link extended state */
|
||||||
* enum ethtool_link_ext_state - link extended state
|
|
||||||
*/
|
|
||||||
enum ethtool_link_ext_state {
|
enum ethtool_link_ext_state {
|
||||||
ETHTOOL_LINK_EXT_STATE_AUTONEG,
|
ETHTOOL_LINK_EXT_STATE_AUTONEG,
|
||||||
ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE,
|
ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE,
|
||||||
@ -597,12 +607,10 @@ enum ethtool_link_ext_state {
|
|||||||
ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE,
|
ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE,
|
||||||
ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED,
|
ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED,
|
||||||
ETHTOOL_LINK_EXT_STATE_OVERHEAT,
|
ETHTOOL_LINK_EXT_STATE_OVERHEAT,
|
||||||
|
ETHTOOL_LINK_EXT_STATE_MODULE,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/* More information in addition to ETHTOOL_LINK_EXT_STATE_AUTONEG. */
|
||||||
* enum ethtool_link_ext_substate_autoneg - more information in addition to
|
|
||||||
* ETHTOOL_LINK_EXT_STATE_AUTONEG.
|
|
||||||
*/
|
|
||||||
enum ethtool_link_ext_substate_autoneg {
|
enum ethtool_link_ext_substate_autoneg {
|
||||||
ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 1,
|
ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 1,
|
||||||
ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED,
|
ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED,
|
||||||
@ -612,9 +620,7 @@ enum ethtool_link_ext_substate_autoneg {
|
|||||||
ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD,
|
ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/* More information in addition to ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE.
|
||||||
* enum ethtool_link_ext_substate_link_training - more information in addition to
|
|
||||||
* ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE.
|
|
||||||
*/
|
*/
|
||||||
enum ethtool_link_ext_substate_link_training {
|
enum ethtool_link_ext_substate_link_training {
|
||||||
ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 1,
|
ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 1,
|
||||||
@ -623,9 +629,7 @@ enum ethtool_link_ext_substate_link_training {
|
|||||||
ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT,
|
ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/* More information in addition to ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH.
|
||||||
* enum ethtool_link_ext_substate_logical_mismatch - more information in addition
|
|
||||||
* to ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH.
|
|
||||||
*/
|
*/
|
||||||
enum ethtool_link_ext_substate_link_logical_mismatch {
|
enum ethtool_link_ext_substate_link_logical_mismatch {
|
||||||
ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 1,
|
ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 1,
|
||||||
@ -635,24 +639,26 @@ enum ethtool_link_ext_substate_link_logical_mismatch {
|
|||||||
ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED,
|
ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/* More information in addition to ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY.
|
||||||
* enum ethtool_link_ext_substate_bad_signal_integrity - more information in
|
|
||||||
* addition to ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY.
|
|
||||||
*/
|
*/
|
||||||
enum ethtool_link_ext_substate_bad_signal_integrity {
|
enum ethtool_link_ext_substate_bad_signal_integrity {
|
||||||
ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 1,
|
ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 1,
|
||||||
ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE,
|
ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE,
|
||||||
|
ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST,
|
||||||
|
ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/* More information in addition to ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE. */
|
||||||
* enum ethtool_link_ext_substate_cable_issue - more information in
|
|
||||||
* addition to ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE.
|
|
||||||
*/
|
|
||||||
enum ethtool_link_ext_substate_cable_issue {
|
enum ethtool_link_ext_substate_cable_issue {
|
||||||
ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 1,
|
ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 1,
|
||||||
ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE,
|
ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* More information in addition to ETHTOOL_LINK_EXT_STATE_MODULE. */
|
||||||
|
enum ethtool_link_ext_substate_module {
|
||||||
|
ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY = 1,
|
||||||
|
};
|
||||||
|
|
||||||
#define ETH_GSTRING_LEN 32
|
#define ETH_GSTRING_LEN 32
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -665,6 +671,7 @@ enum ethtool_link_ext_substate_cable_issue {
|
|||||||
* now deprecated
|
* now deprecated
|
||||||
* @ETH_SS_FEATURES: Device feature names
|
* @ETH_SS_FEATURES: Device feature names
|
||||||
* @ETH_SS_RSS_HASH_FUNCS: RSS hush function names
|
* @ETH_SS_RSS_HASH_FUNCS: RSS hush function names
|
||||||
|
* @ETH_SS_TUNABLES: tunable names
|
||||||
* @ETH_SS_PHY_STATS: Statistic names, for use with %ETHTOOL_GPHYSTATS
|
* @ETH_SS_PHY_STATS: Statistic names, for use with %ETHTOOL_GPHYSTATS
|
||||||
* @ETH_SS_PHY_TUNABLES: PHY tunable names
|
* @ETH_SS_PHY_TUNABLES: PHY tunable names
|
||||||
* @ETH_SS_LINK_MODES: link mode names
|
* @ETH_SS_LINK_MODES: link mode names
|
||||||
@ -674,6 +681,13 @@ enum ethtool_link_ext_substate_cable_issue {
|
|||||||
* @ETH_SS_TS_TX_TYPES: timestamping Tx types
|
* @ETH_SS_TS_TX_TYPES: timestamping Tx types
|
||||||
* @ETH_SS_TS_RX_FILTERS: timestamping Rx filters
|
* @ETH_SS_TS_RX_FILTERS: timestamping Rx filters
|
||||||
* @ETH_SS_UDP_TUNNEL_TYPES: UDP tunnel types
|
* @ETH_SS_UDP_TUNNEL_TYPES: UDP tunnel types
|
||||||
|
* @ETH_SS_STATS_STD: standardized stats
|
||||||
|
* @ETH_SS_STATS_ETH_PHY: names of IEEE 802.3 PHY statistics
|
||||||
|
* @ETH_SS_STATS_ETH_MAC: names of IEEE 802.3 MAC statistics
|
||||||
|
* @ETH_SS_STATS_ETH_CTRL: names of IEEE 802.3 MAC Control statistics
|
||||||
|
* @ETH_SS_STATS_RMON: names of RMON statistics
|
||||||
|
*
|
||||||
|
* @ETH_SS_COUNT: number of defined string sets
|
||||||
*/
|
*/
|
||||||
enum ethtool_stringset {
|
enum ethtool_stringset {
|
||||||
ETH_SS_TEST = 0,
|
ETH_SS_TEST = 0,
|
||||||
@ -692,11 +706,39 @@ enum ethtool_stringset {
|
|||||||
ETH_SS_TS_TX_TYPES,
|
ETH_SS_TS_TX_TYPES,
|
||||||
ETH_SS_TS_RX_FILTERS,
|
ETH_SS_TS_RX_FILTERS,
|
||||||
ETH_SS_UDP_TUNNEL_TYPES,
|
ETH_SS_UDP_TUNNEL_TYPES,
|
||||||
|
ETH_SS_STATS_STD,
|
||||||
|
ETH_SS_STATS_ETH_PHY,
|
||||||
|
ETH_SS_STATS_ETH_MAC,
|
||||||
|
ETH_SS_STATS_ETH_CTRL,
|
||||||
|
ETH_SS_STATS_RMON,
|
||||||
|
|
||||||
/* add new constants above here */
|
/* add new constants above here */
|
||||||
ETH_SS_COUNT
|
ETH_SS_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum ethtool_module_power_mode_policy - plug-in module power mode policy
|
||||||
|
* @ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH: Module is always in high power mode.
|
||||||
|
* @ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO: Module is transitioned by the host
|
||||||
|
* to high power mode when the first port using it is put administratively
|
||||||
|
* up and to low power mode when the last port using it is put
|
||||||
|
* administratively down.
|
||||||
|
*/
|
||||||
|
enum ethtool_module_power_mode_policy {
|
||||||
|
ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH = 1,
|
||||||
|
ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum ethtool_module_power_mode - plug-in module power mode
|
||||||
|
* @ETHTOOL_MODULE_POWER_MODE_LOW: Module is in low power mode.
|
||||||
|
* @ETHTOOL_MODULE_POWER_MODE_HIGH: Module is in high power mode.
|
||||||
|
*/
|
||||||
|
enum ethtool_module_power_mode {
|
||||||
|
ETHTOOL_MODULE_POWER_MODE_LOW = 1,
|
||||||
|
ETHTOOL_MODULE_POWER_MODE_HIGH,
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct ethtool_gstrings - string set for data tagging
|
* struct ethtool_gstrings - string set for data tagging
|
||||||
* @cmd: Command number = %ETHTOOL_GSTRINGS
|
* @cmd: Command number = %ETHTOOL_GSTRINGS
|
||||||
@ -719,6 +761,7 @@ struct ethtool_gstrings {
|
|||||||
/**
|
/**
|
||||||
* struct ethtool_sset_info - string set information
|
* struct ethtool_sset_info - string set information
|
||||||
* @cmd: Command number = %ETHTOOL_GSSET_INFO
|
* @cmd: Command number = %ETHTOOL_GSSET_INFO
|
||||||
|
* @reserved: Reserved for future use; see the note on reserved space.
|
||||||
* @sset_mask: On entry, a bitmask of string sets to query, with bits
|
* @sset_mask: On entry, a bitmask of string sets to query, with bits
|
||||||
* numbered according to &enum ethtool_stringset. On return, a
|
* numbered according to &enum ethtool_stringset. On return, a
|
||||||
* bitmask of those string sets queried that are supported.
|
* bitmask of those string sets queried that are supported.
|
||||||
@ -763,6 +806,7 @@ enum ethtool_test_flags {
|
|||||||
* @flags: A bitmask of flags from &enum ethtool_test_flags. Some
|
* @flags: A bitmask of flags from &enum ethtool_test_flags. Some
|
||||||
* flags may be set by the user on entry; others may be set by
|
* flags may be set by the user on entry; others may be set by
|
||||||
* the driver on return.
|
* the driver on return.
|
||||||
|
* @reserved: Reserved for future use; see the note on reserved space.
|
||||||
* @len: On return, the number of test results
|
* @len: On return, the number of test results
|
||||||
* @data: Array of test results
|
* @data: Array of test results
|
||||||
*
|
*
|
||||||
@ -963,6 +1007,7 @@ union ethtool_flow_union {
|
|||||||
* @vlan_etype: VLAN EtherType
|
* @vlan_etype: VLAN EtherType
|
||||||
* @vlan_tci: VLAN tag control information
|
* @vlan_tci: VLAN tag control information
|
||||||
* @data: user defined data
|
* @data: user defined data
|
||||||
|
* @padding: Reserved for future use; see the note on reserved space.
|
||||||
*
|
*
|
||||||
* Note, @vlan_etype, @vlan_tci, and @data are only valid if %FLOW_EXT
|
* Note, @vlan_etype, @vlan_tci, and @data are only valid if %FLOW_EXT
|
||||||
* is set in &struct ethtool_rx_flow_spec @flow_type.
|
* is set in &struct ethtool_rx_flow_spec @flow_type.
|
||||||
@ -1138,7 +1183,8 @@ struct ethtool_rxfh_indir {
|
|||||||
* hardware hash key.
|
* hardware hash key.
|
||||||
* @hfunc: Defines the current RSS hash function used by HW (or to be set to).
|
* @hfunc: Defines the current RSS hash function used by HW (or to be set to).
|
||||||
* Valid values are one of the %ETH_RSS_HASH_*.
|
* Valid values are one of the %ETH_RSS_HASH_*.
|
||||||
* @rsvd: Reserved for future extensions.
|
* @rsvd8: Reserved for future use; see the note on reserved space.
|
||||||
|
* @rsvd32: Reserved for future use; see the note on reserved space.
|
||||||
* @rss_config: RX ring/queue index for each hash value i.e., indirection table
|
* @rss_config: RX ring/queue index for each hash value i.e., indirection table
|
||||||
* of @indir_size __u32 elements, followed by hash key of @key_size
|
* of @indir_size __u32 elements, followed by hash key of @key_size
|
||||||
* bytes.
|
* bytes.
|
||||||
@ -1306,7 +1352,9 @@ struct ethtool_sfeatures {
|
|||||||
* @so_timestamping: bit mask of the sum of the supported SO_TIMESTAMPING flags
|
* @so_timestamping: bit mask of the sum of the supported SO_TIMESTAMPING flags
|
||||||
* @phc_index: device index of the associated PHC, or -1 if there is none
|
* @phc_index: device index of the associated PHC, or -1 if there is none
|
||||||
* @tx_types: bit mask of the supported hwtstamp_tx_types enumeration values
|
* @tx_types: bit mask of the supported hwtstamp_tx_types enumeration values
|
||||||
|
* @tx_reserved: Reserved for future use; see the note on reserved space.
|
||||||
* @rx_filters: bit mask of the supported hwtstamp_rx_filters enumeration values
|
* @rx_filters: bit mask of the supported hwtstamp_rx_filters enumeration values
|
||||||
|
* @rx_reserved: Reserved for future use; see the note on reserved space.
|
||||||
*
|
*
|
||||||
* The bits in the 'tx_types' and 'rx_filters' fields correspond to
|
* The bits in the 'tx_types' and 'rx_filters' fields correspond to
|
||||||
* the 'hwtstamp_tx_types' and 'hwtstamp_rx_filters' enumeration values,
|
* the 'hwtstamp_tx_types' and 'hwtstamp_rx_filters' enumeration values,
|
||||||
@ -1380,15 +1428,33 @@ struct ethtool_per_queue_op {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct ethtool_fecparam - Ethernet forward error correction(fec) parameters
|
* struct ethtool_fecparam - Ethernet Forward Error Correction parameters
|
||||||
* @cmd: Command number = %ETHTOOL_GFECPARAM or %ETHTOOL_SFECPARAM
|
* @cmd: Command number = %ETHTOOL_GFECPARAM or %ETHTOOL_SFECPARAM
|
||||||
* @active_fec: FEC mode which is active on porte
|
* @active_fec: FEC mode which is active on the port, single bit set, GET only.
|
||||||
* @fec: Bitmask of supported/configured FEC modes
|
* @fec: Bitmask of configured FEC modes.
|
||||||
* @rsvd: Reserved for future extensions. i.e FEC bypass feature.
|
* @reserved: Reserved for future extensions, ignore on GET, write 0 for SET.
|
||||||
*
|
*
|
||||||
* Drivers should reject a non-zero setting of @autoneg when
|
* Note that @reserved was never validated on input and ethtool user space
|
||||||
* autoneogotiation is disabled (or not supported) for the link.
|
* left it uninitialized when calling SET. Hence going forward it can only be
|
||||||
|
* used to return a value to userspace with GET.
|
||||||
*
|
*
|
||||||
|
* FEC modes supported by the device can be read via %ETHTOOL_GLINKSETTINGS.
|
||||||
|
* FEC settings are configured by link autonegotiation whenever it's enabled.
|
||||||
|
* With autoneg on %ETHTOOL_GFECPARAM can be used to read the current mode.
|
||||||
|
*
|
||||||
|
* When autoneg is disabled %ETHTOOL_SFECPARAM controls the FEC settings.
|
||||||
|
* It is recommended that drivers only accept a single bit set in @fec.
|
||||||
|
* When multiple bits are set in @fec drivers may pick mode in an implementation
|
||||||
|
* dependent way. Drivers should reject mixing %ETHTOOL_FEC_AUTO_BIT with other
|
||||||
|
* FEC modes, because it's unclear whether in this case other modes constrain
|
||||||
|
* AUTO or are independent choices.
|
||||||
|
* Drivers must reject SET requests if they support none of the requested modes.
|
||||||
|
*
|
||||||
|
* If device does not support FEC drivers may use %ETHTOOL_FEC_NONE instead
|
||||||
|
* of returning %EOPNOTSUPP from %ETHTOOL_GFECPARAM.
|
||||||
|
*
|
||||||
|
* See enum ethtool_fec_config_bits for definition of valid bits for both
|
||||||
|
* @fec and @active_fec.
|
||||||
*/
|
*/
|
||||||
struct ethtool_fecparam {
|
struct ethtool_fecparam {
|
||||||
__u32 cmd;
|
__u32 cmd;
|
||||||
@ -1400,11 +1466,16 @@ struct ethtool_fecparam {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* enum ethtool_fec_config_bits - flags definition of ethtool_fec_configuration
|
* enum ethtool_fec_config_bits - flags definition of ethtool_fec_configuration
|
||||||
* @ETHTOOL_FEC_NONE: FEC mode configuration is not supported
|
* @ETHTOOL_FEC_NONE_BIT: FEC mode configuration is not supported. Should not
|
||||||
* @ETHTOOL_FEC_AUTO: Default/Best FEC mode provided by driver
|
* be used together with other bits. GET only.
|
||||||
* @ETHTOOL_FEC_OFF: No FEC Mode
|
* @ETHTOOL_FEC_AUTO_BIT: Select default/best FEC mode automatically, usually
|
||||||
* @ETHTOOL_FEC_RS: Reed-Solomon Forward Error Detection mode
|
* based link mode and SFP parameters read from module's
|
||||||
* @ETHTOOL_FEC_BASER: Base-R/Reed-Solomon Forward Error Detection mode
|
* EEPROM. This bit does _not_ mean autonegotiation.
|
||||||
|
* @ETHTOOL_FEC_OFF_BIT: No FEC Mode
|
||||||
|
* @ETHTOOL_FEC_RS_BIT: Reed-Solomon FEC Mode
|
||||||
|
* @ETHTOOL_FEC_BASER_BIT: Base-R/Reed-Solomon FEC Mode
|
||||||
|
* @ETHTOOL_FEC_LLRS_BIT: Low Latency Reed Solomon FEC Mode (25G/50G Ethernet
|
||||||
|
* Consortium)
|
||||||
*/
|
*/
|
||||||
enum ethtool_fec_config_bits {
|
enum ethtool_fec_config_bits {
|
||||||
ETHTOOL_FEC_NONE_BIT,
|
ETHTOOL_FEC_NONE_BIT,
|
||||||
@ -1962,6 +2033,11 @@ enum ethtool_reset_flags {
|
|||||||
* autonegotiation; 0 if unknown or not applicable. Read-only.
|
* autonegotiation; 0 if unknown or not applicable. Read-only.
|
||||||
* @transceiver: Used to distinguish different possible PHY types,
|
* @transceiver: Used to distinguish different possible PHY types,
|
||||||
* reported consistently by PHYLIB. Read-only.
|
* reported consistently by PHYLIB. Read-only.
|
||||||
|
* @master_slave_cfg: Master/slave port mode.
|
||||||
|
* @master_slave_state: Master/slave port state.
|
||||||
|
* @reserved: Reserved for future use; see the note on reserved space.
|
||||||
|
* @reserved1: Reserved for future use; see the note on reserved space.
|
||||||
|
* @link_mode_masks: Variable length bitmaps.
|
||||||
*
|
*
|
||||||
* If autonegotiation is disabled, the speed and @duplex represent the
|
* If autonegotiation is disabled, the speed and @duplex represent the
|
||||||
* fixed link mode and are writable if the driver supports multiple
|
* fixed link mode and are writable if the driver supports multiple
|
||||||
|
Loading…
x
Reference in New Issue
Block a user