mirror of
https://github.com/mii443/qemu.git
synced 2025-08-22 23:25:48 +00:00
Update Linux headers to 4.17-rc6
Update our copy of the Linux headers to upstream 4.17-rc6 (kernel commit 771c577c23bac90597c68). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20180525132755.21839-6-peter.maydell@linaro.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
committed by
Paolo Bonzini
parent
2af1acadc2
commit
65a6d8dd3f
@ -217,10 +217,14 @@ struct ethtool_value {
|
||||
uint32_t data;
|
||||
};
|
||||
|
||||
#define PFC_STORM_PREVENTION_AUTO 0xffff
|
||||
#define PFC_STORM_PREVENTION_DISABLE 0
|
||||
|
||||
enum tunable_id {
|
||||
ETHTOOL_ID_UNSPEC,
|
||||
ETHTOOL_RX_COPYBREAK,
|
||||
ETHTOOL_TX_COPYBREAK,
|
||||
ETHTOOL_PFC_PREVENTION_TOUT, /* timeout in msecs */
|
||||
/*
|
||||
* Add your fresh new tubale attribute above and remember to update
|
||||
* tunable_strings[] in net/core/ethtool.c
|
||||
@ -914,12 +918,15 @@ static inline uint64_t ethtool_get_flow_spec_ring_vf(uint64_t ring_cookie)
|
||||
* @flow_type: Type of flow to be affected, e.g. %TCP_V4_FLOW
|
||||
* @data: Command-dependent value
|
||||
* @fs: Flow classification rule
|
||||
* @rss_context: RSS context to be affected
|
||||
* @rule_cnt: Number of rules to be affected
|
||||
* @rule_locs: Array of used rule locations
|
||||
*
|
||||
* For %ETHTOOL_GRXFH and %ETHTOOL_SRXFH, @data is a bitmask indicating
|
||||
* the fields included in the flow hash, e.g. %RXH_IP_SRC. The following
|
||||
* structure fields must not be used.
|
||||
* structure fields must not be used, except that if @flow_type includes
|
||||
* the %FLOW_RSS flag, then @rss_context determines which RSS context to
|
||||
* act on.
|
||||
*
|
||||
* For %ETHTOOL_GRXRINGS, @data is set to the number of RX rings/queues
|
||||
* on return.
|
||||
@ -931,7 +938,9 @@ static inline uint64_t ethtool_get_flow_spec_ring_vf(uint64_t ring_cookie)
|
||||
* set in @data then special location values should not be used.
|
||||
*
|
||||
* For %ETHTOOL_GRXCLSRULE, @fs.@location specifies the location of an
|
||||
* existing rule on entry and @fs contains the rule on return.
|
||||
* existing rule on entry and @fs contains the rule on return; if
|
||||
* @fs.@flow_type includes the %FLOW_RSS flag, then @rss_context is
|
||||
* filled with the RSS context ID associated with the rule.
|
||||
*
|
||||
* For %ETHTOOL_GRXCLSRLALL, @rule_cnt specifies the array size of the
|
||||
* user buffer for @rule_locs on entry. On return, @data is the size
|
||||
@ -942,7 +951,11 @@ static inline uint64_t ethtool_get_flow_spec_ring_vf(uint64_t ring_cookie)
|
||||
* For %ETHTOOL_SRXCLSRLINS, @fs specifies the rule to add or update.
|
||||
* @fs.@location either specifies the location to use or is a special
|
||||
* location value with %RX_CLS_LOC_SPECIAL flag set. On return,
|
||||
* @fs.@location is the actual rule location.
|
||||
* @fs.@location is the actual rule location. If @fs.@flow_type
|
||||
* includes the %FLOW_RSS flag, @rss_context is the RSS context ID to
|
||||
* use for flow spreading traffic which matches this rule. The value
|
||||
* from the rxfh indirection table will be added to @fs.@ring_cookie
|
||||
* to choose which ring to deliver to.
|
||||
*
|
||||
* For %ETHTOOL_SRXCLSRLDEL, @fs.@location specifies the location of an
|
||||
* existing rule on entry.
|
||||
@ -963,7 +976,10 @@ struct ethtool_rxnfc {
|
||||
uint32_t flow_type;
|
||||
uint64_t data;
|
||||
struct ethtool_rx_flow_spec fs;
|
||||
uint32_t rule_cnt;
|
||||
union {
|
||||
uint32_t rule_cnt;
|
||||
uint32_t rss_context;
|
||||
};
|
||||
uint32_t rule_locs[0];
|
||||
};
|
||||
|
||||
@ -990,7 +1006,11 @@ struct ethtool_rxfh_indir {
|
||||
/**
|
||||
* struct ethtool_rxfh - command to get/set RX flow hash indir or/and hash key.
|
||||
* @cmd: Specific command number - %ETHTOOL_GRSSH or %ETHTOOL_SRSSH
|
||||
* @rss_context: RSS context identifier.
|
||||
* @rss_context: RSS context identifier. Context 0 is the default for normal
|
||||
* traffic; other contexts can be referenced as the destination for RX flow
|
||||
* classification rules. %ETH_RXFH_CONTEXT_ALLOC is used with command
|
||||
* %ETHTOOL_SRSSH to allocate a new RSS context; on return this field will
|
||||
* contain the ID of the newly allocated context.
|
||||
* @indir_size: On entry, the array size of the user buffer for the
|
||||
* indirection table, which may be zero, or (for %ETHTOOL_SRSSH),
|
||||
* %ETH_RXFH_INDIR_NO_CHANGE. On return from %ETHTOOL_GRSSH,
|
||||
@ -1009,7 +1029,8 @@ struct ethtool_rxfh_indir {
|
||||
* size should be returned. For %ETHTOOL_SRSSH, an @indir_size of
|
||||
* %ETH_RXFH_INDIR_NO_CHANGE means that indir table setting is not requested
|
||||
* and a @indir_size of zero means the indir table should be reset to default
|
||||
* values. An hfunc of zero means that hash function setting is not requested.
|
||||
* values (if @rss_context == 0) or that the RSS context should be deleted.
|
||||
* An hfunc of zero means that hash function setting is not requested.
|
||||
*/
|
||||
struct ethtool_rxfh {
|
||||
uint32_t cmd;
|
||||
@ -1021,6 +1042,7 @@ struct ethtool_rxfh {
|
||||
uint32_t rsvd32;
|
||||
uint32_t rss_config[0];
|
||||
};
|
||||
#define ETH_RXFH_CONTEXT_ALLOC 0xffffffff
|
||||
#define ETH_RXFH_INDIR_NO_CHANGE 0xffffffff
|
||||
|
||||
/**
|
||||
@ -1635,6 +1657,8 @@ static inline int ethtool_validate_duplex(uint8_t duplex)
|
||||
/* Flag to enable additional fields in struct ethtool_rx_flow_spec */
|
||||
#define FLOW_EXT 0x80000000
|
||||
#define FLOW_MAC_EXT 0x40000000
|
||||
/* Flag to enable RSS spreading of traffic matching rule (nfc only) */
|
||||
#define FLOW_RSS 0x20000000
|
||||
|
||||
/* L3-L4 network traffic flow hash options */
|
||||
#define RXH_L2DA (1 << 1)
|
||||
|
Reference in New Issue
Block a user