2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/drivers/net/ethernet/intel/ice
Marcin Szycik 74382aebc9 ice: Fix VSI list rule with ICE_SW_LKUP_LAST type
Adding/updating VSI list rule, as well as allocating/freeing VSI list
resource are called several times with type ICE_SW_LKUP_LAST, which fails
because ice_update_vsi_list_rule() and ice_aq_alloc_free_vsi_list()
consider it invalid. Allow calling these functions with ICE_SW_LKUP_LAST.

This fixes at least one issue in switchdev mode, where the same rule with
different action cannot be added, e.g.:

  tc filter add dev $PF1 ingress protocol arp prio 0 flower skip_sw \
    dst_mac ff:ff:ff:ff:ff:ff action mirred egress redirect dev $VF1_PR
  tc filter add dev $PF1 ingress protocol arp prio 0 flower skip_sw \
    dst_mac ff:ff:ff:ff:ff:ff action mirred egress redirect dev $VF2_PR

Fixes: 0f94570d0c ("ice: allow adding advanced rules")
Suggested-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Link: https://lore.kernel.org/r/20240618210206.981885-1-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-06-19 17:20:06 -07:00
..
devlink ice: check for unregistering correct number of devlink params 2024-05-29 18:57:02 -07:00
ice_adapter.c ice: avoid the PTP hardware semaphore in gettimex64 path 2024-04-01 08:58:09 -07:00
ice_adapter.h ice: avoid the PTP hardware semaphore in gettimex64 path 2024-04-01 08:58:09 -07:00
ice_adminq_cmd.h ice: Add tx_scheduling_layers devlink param 2024-04-22 13:05:19 -07:00
ice_arfs.c net: introduce include/net/rps.h 2024-03-07 21:12:43 -08:00
ice_arfs.h
ice_base.c ice: map XDP queues to vectors in ice_vsi_map_rings_to_vectors() 2024-06-05 19:27:56 -07:00
ice_base.h ice: make ice_vsi_cfg_txq() static 2024-02-02 09:13:13 -08:00
ice_cgu_regs.h
ice_common.c ice: fix 200G PHY types to link speed mapping 2024-05-29 18:57:02 -07:00
ice_common.h ice: cleanup line splitting for context set functions 2024-03-04 10:28:15 -08:00
ice_controlq.c ice: Add helper function ice_is_generic_mac 2024-02-12 10:06:18 -08:00
ice_controlq.h ice: reduce initial wait for control queue messages 2023-06-22 10:23:44 -07:00
ice_dcb_lib.c ice: move ice_devlink.[ch] to devlink folder 2024-04-01 08:58:09 -07:00
ice_dcb_lib.h
ice_dcb_nl.c ice: field get conversion 2023-12-18 11:20:43 -08:00
ice_dcb_nl.h
ice_dcb.c ice: cleanup inconsistent code 2023-12-18 11:20:43 -08:00
ice_dcb.h
ice_ddp.c ice: implement AQ download pkg retry 2024-06-13 08:24:17 -07:00
ice_ddp.h ice: Support 5 layer topology 2024-04-22 13:05:19 -07:00
ice_debugfs.c ice: ensure the copied buf is NUL terminated 2024-04-25 19:23:11 -07:00
ice_devids.h ice: update E830 device ids and comments 2024-05-06 09:18:48 -07:00
ice_dpll.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-03-07 10:29:36 -08:00
ice_dpll.h ice: dpll: fix check for dpll input priority range 2023-11-13 10:02: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: implement static version of ageing 2023-07-24 08:53:42 -07:00
ice_eswitch.c ice: remove correct filters during eswitch release 2024-05-08 09:24:43 -07:00
ice_eswitch.h ice: do switchdev slow-path Rx using PF VSI 2024-03-25 13:08:47 -07:00
ice_ethtool_fdir.c ice: Implement 'flow-type ether' rules 2024-04-12 10:34:24 -07:00
ice_ethtool.c ice: Interpret .set_channels() input differently 2024-05-23 13:02:26 +02:00
ice_ethtool.h ice: Add 200G speed/phy type use 2023-10-26 20:32:38 -07:00
ice_fdir.c ice: Implement 'flow-type ether' rules 2024-04-12 10:34:24 -07:00
ice_fdir.h ice: Implement 'flow-type ether' rules 2024-04-12 10:34:24 -07:00
ice_flex_pipe.c ice: field prep conversion 2023-12-18 11:20:26 -08:00
ice_flex_pipe.h ice: enable symmetric-xor RSS for Toeplitz hash function 2023-12-13 22:07:17 -08:00
ice_flex_type.h ice: Add support for PFCP hardware offload in switchdev 2024-04-01 10:49:29 +01:00
ice_flow.c ice: enable symmetric-xor RSS for Toeplitz hash function 2023-12-13 22:07:17 -08:00
ice_flow.h ice: Implement RSS settings for GTP using ethtool 2024-03-06 09:31:49 -08:00
ice_fltr.c
ice_fltr.h
ice_fw_update.c ice: Add tx_scheduling_layers devlink param 2024-04-22 13:05:19 -07:00
ice_fw_update.h ice: Add tx_scheduling_layers devlink param 2024-04-22 13:05:19 -07:00
ice_fwlog.c ice: Fix debugfs with devlink reload 2024-02-12 10:12:42 -08:00
ice_fwlog.h ice: add ability to read and configure FW log data 2023-12-14 09:50:58 -08:00
ice_gnss.c ice: check netlist before enabling ICE_F_GNSS 2023-09-18 11:27:33 -07:00
ice_gnss.h ice: make writes to /dev/gnssX synchronous 2023-06-07 10:51:58 +01:00
ice_hw_autogen.h ice: Enable SW interrupt from FW for LL TS 2024-01-02 11:18:32 -08: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_int.h
ice_idc.c ice: add dynamic interrupt allocation 2023-05-16 09:38:38 -07:00
ice_irq.c ice: add dynamic interrupt allocation 2023-05-16 09:38:38 -07:00
ice_irq.h ice: add dynamic interrupt allocation 2023-05-16 09:38:38 -07:00
ice_lag.c Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 2024-03-28 22:50:22 -07:00
ice_lag.h ice: control default Tx rule in lag 2024-03-25 13:08:05 -07:00
ice_lan_tx_rx.h net: intel: introduce {, Intel} Ethernet common library 2024-04-24 11:06:25 -07:00
ice_lib.c ice: map XDP queues to vectors in ice_vsi_map_rings_to_vectors() 2024-06-05 19:27:56 -07:00
ice_lib.h ice: refactor struct ice_vsi_cfg_params to be inside of struct ice_vsi 2024-05-06 09:21:00 -07:00
ice_main.c ice: fix 200G link speed message log 2024-06-13 08:24:17 -07:00
ice_nvm.c ice: fix reads from NVM Shadow RAM on E830 and E825-C devices 2024-06-05 19:27:55 -07:00
ice_nvm.h ice: Add tx_scheduling_layers devlink param 2024-04-22 13:05:19 -07:00
ice_osdep.h net: intel: fix old compiler regressions 2024-02-07 09:15:27 -08:00
ice_pf_vsi_vlan_ops.c
ice_pf_vsi_vlan_ops.h
ice_protocol_type.h ice: Add support for PFCP hardware offload in switchdev 2024-04-01 10:49:29 +01:00
ice_ptp_consts.h ice: Rename E822 to E82X 2023-12-05 11:40:12 +01:00
ice_ptp_hw.c ice: avoid the PTP hardware semaphore in gettimex64 path 2024-04-01 08:58:09 -07:00
ice_ptp_hw.h ice: Enable SW interrupt from FW for LL TS 2024-01-02 11:18:32 -08:00
ice_ptp.c ice: fold ice_ptp_read_time into ice_ptp_gettimex64 2024-04-01 08:58:09 -07:00
ice_ptp.h ice: factor out ice_ptp_rebuild_owner() 2024-01-30 11:49:04 +01:00
ice_repr.c ice: Remove ndo_get_phys_port_name 2024-04-17 09:40:33 -07:00
ice_repr.h ice: count representor stats 2024-03-25 13:09:36 -07:00
ice_sbq_cmd.h
ice_sched.c ice: Adjust the VSI/Aggregator layers 2024-04-22 13:05:19 -07:00
ice_sched.h ice: Support 5 layer topology 2024-04-22 13:05:19 -07:00
ice_sriov.c ice: refactor struct ice_vsi_cfg_params to be inside of struct ice_vsi 2024-05-06 09:21:00 -07:00
ice_sriov.h ice: Add automatic VF reset on Tx MDD events 2024-04-17 08:57:21 -07:00
ice_switch.c ice: Fix VSI list rule with ICE_SW_LKUP_LAST type 2024-06-19 17:20:06 -07:00
ice_switch.h ice: Add switch recipe reusing feature 2024-04-01 08:58:09 -07:00
ice_tc_lib.c ice: flower: validate control flags 2024-05-08 09:21:39 -07:00
ice_tc_lib.h ice: Add support for PFCP hardware offload in switchdev 2024-04-01 10:49:29 +01:00
ice_trace.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
ice_txrx_lib.c net: intel: introduce {, Intel} Ethernet common library 2024-04-24 11:06:25 -07:00
ice_txrx_lib.h ice: work on pre-XDP prog frag count 2024-01-24 16:24:06 -08:00
ice_txrx.c net: remove gfp_mask from napi_alloc_skb() 2024-03-28 18:30:40 -07:00
ice_txrx.h ice: do switchdev slow-path Rx using PF VSI 2024-03-25 13:08:47 -07:00
ice_type.h ice: fix reads from NVM Shadow RAM on E830 and E825-C devices 2024-06-05 19:27:55 -07:00
ice_vf_lib_private.h ice: replace ice_vf_recreate_vsi() with ice_vf_reconfig_vsi() 2024-01-02 11:18:32 -08:00
ice_vf_lib.c ice: refactor struct ice_vsi_cfg_params to be inside of struct ice_vsi 2024-05-06 09:21:00 -07:00
ice_vf_lib.h ice: remove vf->lan_vsi_num field 2024-03-04 10:25:07 -08:00
ice_vf_mbx.c ice: merge ice_mbx_report_malvf with ice_mbx_vf_state_handler 2023-03-13 11:00:10 -07:00
ice_vf_mbx.h ice: initialize mailbox snapshot earlier in PF init 2023-03-13 11:06:05 -07:00
ice_vf_vsi_vlan_ops.c ice: fix enabling RX VLAN filtering 2024-04-03 09:16:19 -07:00
ice_vf_vsi_vlan_ops.h ice: implement bridge port vlan 2023-07-24 08:53:35 -07:00
ice_virtchnl_allowlist.c ice: virtchnl: stop pretending to support RSS over AQ or registers 2024-03-05 09:49:21 -08:00
ice_virtchnl_allowlist.h
ice_virtchnl_fdir.c ice: remove unnecessary duplicate checks for VF VSI ID 2024-03-04 10:23:19 -08:00
ice_virtchnl_fdir.h
ice_virtchnl.c ice: store VF relative MSI-X index in q_vector->vf_reg_idx 2024-04-12 10:34:29 -07:00
ice_virtchnl.h ice: use relative VSI index for VFs instead of PF VSI number 2024-03-04 10:24:13 -08:00
ice_vlan_mode.c ice: define meta data to match in switch 2023-05-19 08:57:43 -07:00
ice_vlan_mode.h
ice_vlan.h
ice_vsi_vlan_lib.c ice: fix accounting if a VLAN already exists 2024-05-27 17:11:43 -07:00
ice_vsi_vlan_lib.h ice: implement bridge port vlan 2023-07-24 08:53:35 -07:00
ice_vsi_vlan_ops.c ice: remove switchdev control plane VSI 2024-03-25 13:08:05 -07:00
ice_vsi_vlan_ops.h ice: implement bridge port vlan 2023-07-24 08:53:35 -07:00
ice_xsk.c ice: remove af_xdp_zc_qps bitmap 2024-06-05 19:27:56 -07:00
ice_xsk.h
ice.h ice: map XDP queues to vectors in ice_vsi_map_rings_to_vectors() 2024-06-05 19:27:56 -07:00
Makefile ice: move devlink port code to a separate file 2024-04-01 09:06:28 -07:00