mirror_ubuntu-kernels/drivers/net/ethernet/intel/ice
Michal Swiatkowski 0ef4479d13 ice: use src VSI instead of src MAC in slow-path
The use of a source MAC to direct packets from the VF to the corresponding
port representor is only ok if there is only one MAC on a VF. To support
this functionality when the number of MACs on a VF is greater, it is
necessary to match a source VSI instead of a source MAC.

Let's use the new switch API that allows matching on metadata.

If MAC isn't used in match criteria there is no need to handle adding
rule after virtchnl command. Instead add new rule while port representor
is being configured.

Remove rule_added field, checking for sp_rule can be used instead.
Remove also checking for switchdev running in deleting rule as it can be
called from unroll context when running flag isn't set. Checking for
sp_rule covers both context (with and without running flag).

Rules are added in eswitch configuration flow, so there is no need to
have replay function.

Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Reviewed-by: Piotr Raczynski <piotr.raczynski@intel.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2023-05-19 09:10:39 -07:00
..
ice_adminq_cmd.h ice: update ICE_PHY_TYPE_HIGH_MAX_INDEX 2023-05-17 08:38:22 -07:00
ice_arfs.c ice: add individual interrupt allocation 2023-05-16 09:38:38 -07:00
ice_arfs.h
ice_base.c ice: add dynamic interrupt allocation 2023-05-16 09:38:38 -07:00
ice_base.h
ice_cgu_regs.h
ice_common.c ice: sleep, don't busy-wait, in the SQ send retry loop 2023-04-20 16:33:14 -07:00
ice_common.h ice: Add GPIO pin support for E823 products 2023-02-14 13:08:02 -08:00
ice_controlq.c ice: sleep, don't busy-wait, for ICE_CTL_Q_SQ_CMD_TIMEOUT 2023-04-20 16:33:14 -07:00
ice_controlq.h ice: sleep, don't busy-wait, for ICE_CTL_Q_SQ_CMD_TIMEOUT 2023-04-20 16:33:14 -07:00
ice_dcb_lib.c ice: Fix undersized tx_flags variable 2023-05-12 09:27:44 +01:00
ice_dcb_lib.h ice: Prevent set_channel from changing queues while RDMA active 2023-01-27 11:32:18 -08:00
ice_dcb_nl.c
ice_dcb_nl.h
ice_dcb.c ice: Fix DSCP PFC TLV creation 2023-03-07 13:02:01 -08:00
ice_dcb.h ice: Handle LLDP MIB Pending change 2023-01-19 08:18:03 -08:00
ice_ddp.c ice: Move support DDP code out of ice_flex_pipe.c 2023-01-19 08:18:03 -08:00
ice_ddp.h ice: Move support DDP code out of ice_flex_pipe.c 2023-01-19 08:18:03 -08:00
ice_devids.h ice: support features on new E810T variants 2022-09-28 11:40:57 -07:00
ice_devlink.c ice: remove comment about not supporting driver reinit 2023-03-30 09:35:07 -07:00
ice_devlink.h ice: Prevent ADQ, DCB coexistence with Custom Tx scheduler 2022-11-17 21:41:28 -08:00
ice_eswitch.c ice: use src VSI instead of src MAC in slow-path 2023-05-19 09:10:39 -07:00
ice_eswitch.h ice: use src VSI instead of src MAC in slow-path 2023-05-19 09:10:39 -07:00
ice_ethtool_fdir.c
ice_ethtool.c ice: refactor PHY type to ethtool link mode 2023-05-17 08:42:10 -07:00
ice_ethtool.h ice: update PHY type to ethtool link mode mapping 2023-05-17 08:43:01 -07: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: Move support DDP code out of ice_flex_pipe.c 2023-01-19 08:18:03 -08:00
ice_flex_type.h ice: Move support DDP code out of ice_flex_pipe.c 2023-01-19 08:18:03 -08:00
ice_flow.c
ice_flow.h
ice_fltr.c ice: sync netdev filters after clearing VSI 2023-02-03 09:54:18 -08:00
ice_fltr.h
ice_fw_update.c
ice_fw_update.h
ice_gnss.c ice: do not busy-wait to read GNSS data 2023-04-20 16:33:14 -07:00
ice_gnss.h ice: increase the GNSS data polling interval to 20 ms 2023-04-20 16:33:14 -07:00
ice_hw_autogen.h ice: Add support Flex RXD 2022-10-27 13:23:43 +02: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 ice: Remove LAG+SRIOV mutual exclusion 2023-05-17 08:43:47 -07:00
ice_lag.h ice: Remove LAG+SRIOV mutual exclusion 2023-05-17 08:43:47 -07:00
ice_lan_tx_rx.h ice: Remove and replace ice speed defines with ethtool.h versions 2022-11-23 08:59:42 -08:00
ice_lib.c Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 2023-05-18 20:04:59 -07:00
ice_lib.h ice: track interrupt vectors with xarray 2023-05-16 09:38:38 -07:00
ice_main.c ice: add dynamic interrupt allocation 2023-05-16 09:38:38 -07:00
ice_nvm.c ice: Remove cppcheck suppressions 2023-01-19 08:18:03 -08:00
ice_nvm.h ice: Add additional flags to ice_nvm_write_activate 2022-08-24 08:45:54 -07:00
ice_osdep.h
ice_pf_vsi_vlan_ops.c
ice_pf_vsi_vlan_ops.h
ice_protocol_type.h ice: use src VSI instead of src MAC in slow-path 2023-05-19 09:10:39 -07:00
ice_ptp_consts.h
ice_ptp_hw.c ice: make Tx and Rx vernier offset calibration independent 2022-12-08 13:15:03 -08:00
ice_ptp_hw.h ice: make Tx and Rx vernier offset calibration independent 2022-12-08 13:15:03 -08:00
ice_ptp.c ice: add individual interrupt allocation 2023-05-16 09:38:38 -07:00
ice_ptp.h ice: handle flushing stale Tx timestamps in ice_ptp_tx_tstamp 2022-12-08 13:15:03 -08:00
ice_repr.c ice: use src VSI instead of src MAC in slow-path 2023-05-19 09:10:39 -07:00
ice_repr.h ice: use src VSI instead of src MAC in slow-path 2023-05-19 09:10:39 -07:00
ice_sbq_cmd.h
ice_sched.c ice: fix invalid check for empty list in ice_sched_assoc_vsi_to_agg() 2023-03-28 09:48:49 -07:00
ice_sched.h ice: Add an option to pre-allocate memory for ice_sched_node 2022-11-17 21:41:28 -08:00
ice_sriov.c Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 2023-05-18 20:04:59 -07:00
ice_sriov.h ice: move ice_is_malicious_vf() to ice_virtchnl.c 2023-03-13 11:06:06 -07:00
ice_switch.c ice: use src VSI instead of src MAC in slow-path 2023-05-19 09:10:39 -07:00
ice_switch.h ice: use src VSI instead of src MAC in slow-path 2023-05-19 09:10:39 -07:00
ice_tc_lib.c ice: allow matching on meta data 2023-05-19 09:09:52 -07:00
ice_tc_lib.h ice: allow matching on meta data 2023-05-19 09:09:52 -07:00
ice_trace.h
ice_txrx_lib.c ice: fix W=1 headers mismatch 2023-03-28 09:42:05 -07:00
ice_txrx_lib.h ice: Micro-optimize .ndo_xdp_xmit() path 2023-02-13 19:13:13 +01:00
ice_txrx.c ice: Fix undersized tx_flags variable 2023-05-12 09:27:44 +01:00
ice_txrx.h ice: Fix undersized tx_flags variable 2023-05-12 09:27:44 +01:00
ice_type.h ice: move VF overflow message count into struct ice_mbx_vf_info 2023-03-13 10:32:32 -07:00
ice_vf_lib_private.h ice: introduce ice_vf_init_host_cfg function 2023-02-06 09:41:56 -08:00
ice_vf_lib.c ice: use src VSI instead of src MAC in slow-path 2023-05-19 09:10:39 -07:00
ice_vf_lib.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-05-18 14:39:34 -07: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 disabling Rx VLAN filtering with port VLAN enabled 2023-02-06 15:13:02 -08:00
ice_vf_vsi_vlan_ops.h
ice_virtchnl_allowlist.c ice: Add support Flex RXD 2022-10-27 13:23:43 +02:00
ice_virtchnl_allowlist.h
ice_virtchnl_fdir.c ice: Reset FDIR counter in FDIR init stage 2023-04-04 08:34:52 -07:00
ice_virtchnl_fdir.h
ice_virtchnl.c ice: use src VSI instead of src MAC in slow-path 2023-05-19 09:10:39 -07:00
ice_virtchnl.h ice: call ice_is_malicious_vf() from ice_vc_process_vf_msg() 2023-03-13 11:06:06 -07: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_vsi_vlan_lib.h
ice_vsi_vlan_ops.c
ice_vsi_vlan_ops.h
ice_xsk.c ice: add individual interrupt allocation 2023-05-16 09:38:38 -07:00
ice_xsk.h ice: xsk: change batched Tx descriptor cleaning 2022-09-27 08:11:02 -07:00
ice.h ice: Remove LAG+SRIOV mutual exclusion 2023-05-17 08:43:47 -07:00
Makefile ice: move interrupt related code to separate file 2023-05-16 09:16:53 -07:00