linux/drivers/net/ethernet/intel/ice
Qi Zhang dc6e44c9d6 ice: refactor RSS configuration
Refactor the driver to use a communication data structure for RSS
config. To do so we introduce the new ice_rss_hash_cfg struct, and then
pass it as an argument to several functions.

Also introduce enum ice_rss_cfg_hdr_type to specify a more granular and
flexible RSS configuration:

ICE_RSS_OUTER_HEADERS - take outer layer as RSS input set
ICE_RSS_INNER_HEADERS - take inner layer as RSS input set
ICE_RSS_INNER_HEADERS_W_OUTER_IPV4 - take inner layer as RSS input set for
                                     packet with outer IPV4
ICE_RSS_INNER_HEADERS_W_OUTER_IPV6 - take inner layer as RSS input set for
                                     packet with outer IPV6
ICE_RSS_ANY_HEADERS - try with outer first then inner (same as the
		      behaviour without this change)

Finally, move the virtchnl_rss_algorithm enum to be with the other RSS
related structures in the virtchnl.h file.

There should be no functional change due to this patch.

Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Co-developed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Co-developed-by: Ahmed Zaki <ahmed.zaki@intel.com>
Signed-off-by: Ahmed Zaki <ahmed.zaki@intel.com>
Link: https://lore.kernel.org/r/20231213003321.605376-6-ahmed.zaki@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-12-13 22:07:17 -08:00
..
ice.h ice: read internal temperature sensor 2023-12-05 11:40:12 +01:00
ice_adminq_cmd.h ice: fix ICE_AQ_VSI_Q_OPT_RSS_* register values 2023-12-13 22:07:16 -08:00
ice_arfs.c
ice_arfs.h
ice_base.c ice: Add support in the driver for associating queue with napi 2023-12-04 18:04:05 -08:00
ice_base.h
ice_cgu_regs.h
ice_common.c ice: read internal temperature sensor 2023-12-05 11:40:12 +01:00
ice_common.h ice: read internal temperature sensor 2023-12-05 11:40:12 +01:00
ice_controlq.c
ice_controlq.h
ice_dcb.c
ice_dcb.h
ice_dcb_lib.c
ice_dcb_lib.h
ice_dcb_nl.c
ice_dcb_nl.h
ice_ddp.c ice: fix DDP package download for packages without signature segment 2023-11-13 10:56:58 -08:00
ice_ddp.h ice: Add support for E830 DDP package segment 2023-10-26 20:32:39 -07:00
ice_devids.h ice: Add E830 device IDs, MAC type and registers 2023-10-26 20:32:38 -07:00
ice_devlink.c ice: add CGU info to devlink info callback 2023-12-05 11:40:12 +01:00
ice_devlink.h ice: set Tx topology every time new repr is added 2023-11-13 11:42:14 -08:00
ice_dpll.c dpll: remove leftover mode_supported() op and use mode_get() instead 2023-12-13 10:31:19 +00:00
ice_dpll.h ice: dpll: fix check for dpll input priority range 2023-11-13 10:02:15 -08:00
ice_eswitch.c ice: fix error code in ice_eswitch_attach() 2023-11-28 20:09:11 -08:00
ice_eswitch.h ice: reserve number of CP queues 2023-11-13 11:42:15 -08:00
ice_eswitch_br.c ice: make representor code generic 2023-11-13 11:42:14 -08:00
ice_eswitch_br.h
ice_ethtool.c ice: refactor RSS configuration 2023-12-13 22:07:17 -08:00
ice_ethtool.h ice: Add 200G speed/phy type use 2023-10-26 20:32:38 -07:00
ice_ethtool_fdir.c ice: Improve logs for max ntuple errors 2023-12-05 11:40:12 +01:00
ice_fdir.c
ice_fdir.h
ice_flex_pipe.c ice: Reduce scope of variables 2023-01-19 08:18:03 -08:00
ice_flex_pipe.h
ice_flex_type.h
ice_flow.c ice: refactor RSS configuration 2023-12-13 22:07:17 -08:00
ice_flow.h ice: refactor RSS configuration 2023-12-13 22:07:17 -08:00
ice_fltr.c
ice_fltr.h
ice_fw_update.c ice: split ice_aq_wait_for_event() func into two 2023-08-17 13:59:46 -07:00
ice_fw_update.h
ice_gnss.c ice: check netlist before enabling ICE_F_GNSS 2023-09-18 11:27:33 -07:00
ice_gnss.h
ice_hw_autogen.h ice: Add E830 device IDs, MAC type and registers 2023-10-26 20:32:38 -07:00
ice_hwmon.c ice: read internal temperature sensor 2023-12-05 11:40:12 +01:00
ice_hwmon.h ice: read internal temperature sensor 2023-12-05 11:40:12 +01:00
ice_idc.c
ice_idc_int.h
ice_irq.c
ice_irq.h
ice_lag.c ice: Fix VF Reset paths when interface in a failed over aggregate 2023-11-29 19:55:49 -08:00
ice_lag.h ice: Fix VF Reset paths when interface in a failed over aggregate 2023-11-29 19:55:49 -08:00
ice_lan_tx_rx.h
ice_lib.c ice: refactor RSS configuration 2023-12-13 22:07:17 -08:00
ice_lib.h ice: Add support in the driver for associating queue with napi 2023-12-04 18:04:05 -08:00
ice_main.c ice: Re-enable timestamping correctly after reset 2023-12-05 11:40:12 +01:00
ice_nvm.c
ice_nvm.h
ice_osdep.h
ice_pf_vsi_vlan_ops.c
ice_pf_vsi_vlan_ops.h
ice_protocol_type.h
ice_ptp.c ice: Rename E822 to E82X 2023-12-05 11:40:12 +01:00
ice_ptp.h ice: Rename E822 to E82X 2023-12-05 11:40:12 +01:00
ice_ptp_consts.h ice: Rename E822 to E82X 2023-12-05 11:40:12 +01:00
ice_ptp_hw.c ice: Rename E822 to E82X 2023-12-05 11:40:12 +01:00
ice_ptp_hw.h ice: Rename E822 to E82X 2023-12-05 11:40:12 +01:00
ice_repr.c ice: add VF representors one by one 2023-11-13 11:42:14 -08:00
ice_repr.h ice: add VF representors one by one 2023-11-13 11:42:14 -08:00
ice_sbq_cmd.h
ice_sched.c ice: drop two params of ice_aq_move_sched_elems() 2023-10-03 12:17:11 -07:00
ice_sched.h ice: drop two params of ice_aq_move_sched_elems() 2023-10-03 12:17:11 -07:00
ice_sriov.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-12-07 17:53:17 -08:00
ice_sriov.h ice: set MSI-X vector count on VF 2023-10-20 12:53:05 +01:00
ice_switch.c ice: make use of DEFINE_FLEX() in ice_switch.c 2023-10-03 12:17:11 -07:00
ice_switch.h
ice_tc_lib.c ice: rename switchdev to eswitch 2023-11-13 11:42:12 -08:00
ice_tc_lib.h
ice_trace.h
ice_txrx.c ice: remove ptp_tx ring parameter flag 2023-11-23 15:27:32 +01:00
ice_txrx.h ice: remove ptp_tx ring parameter flag 2023-11-23 15:27:32 +01:00
ice_txrx_lib.c net: Tree wide: Replace xdp_do_flush_map() with xdp_do_flush(). 2023-10-03 07:34:51 -07:00
ice_txrx_lib.h
ice_type.h ice: Rename E822 to E82X 2023-12-05 11:40:12 +01:00
ice_vf_lib.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-11-30 16:11:19 -08:00
ice_vf_lib.h ice: make representor code generic 2023-11-13 11:42:14 -08:00
ice_vf_lib_private.h
ice_vf_mbx.c
ice_vf_mbx.h
ice_vf_vsi_vlan_ops.c ice: Restore fix disabling RX VLAN filtering 2023-12-05 10:51:22 -08:00
ice_vf_vsi_vlan_ops.h
ice_virtchnl.c ice: refactor RSS configuration 2023-12-13 22:07:17 -08:00
ice_virtchnl.h
ice_virtchnl_allowlist.c
ice_virtchnl_allowlist.h
ice_virtchnl_fdir.c ice: Add E830 device IDs, MAC type and registers 2023-10-26 20:32:38 -07:00
ice_virtchnl_fdir.h
ice_vlan.h
ice_vlan_mode.c
ice_vlan_mode.h
ice_vsi_vlan_lib.c
ice_vsi_vlan_lib.h
ice_vsi_vlan_ops.c
ice_vsi_vlan_ops.h
ice_xsk.c ice: make use of DEFINE_FLEX() for struct ice_aqc_add_tx_qgrp 2023-10-03 12:17:11 -07:00
ice_xsk.h
Makefile ice: read internal temperature sensor 2023-12-05 11:40:12 +01:00