Message ID | 20250214085215.2846063-2-larysa.zaremba@intel.com |
---|---|
State | Under Review |
Delegated to: | Anthony Nguyen |
Headers | show |
Series | ice: LLDP support for VFs | expand |
On Fri, Feb 14, 2025 at 09:50:35AM +0100, Larysa Zaremba wrote: > From: Mateusz Pacuszka <mateuszx.pacuszka@intel.com> > > In case the rule already exists and another VSI wants to subscribe to it > new VSI list is being created and both VSIs are moved to it. > Currently, the check for already existing VSI with the same rule is done > based on fdw_id.hw_vsi_id, which applies only to LOOKUP_RX flag. > Change it to vsi_handle. This is software VSI ID, but it can be applied > here, because vsi_map itself is also based on it. > > Additionally change return status in case the VSI already exists in the > VSI map to "Already exists". Such case should be handled by the caller. FWIIW, I might have made this two patches, but I don't feel particularly strongly about it. > > Signed-off-by: Mateusz Pacuszka <mateuszx.pacuszka@intel.com> > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> > Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com> > Signed-off-by: Larysa Zaremba <larysa.zaremba@intel.com> Reviewed-by: Simon Horman <horms@kernel.org>
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of > Simon Horman > Sent: Thursday, February 20, 2025 3:56 PM > To: Zaremba, Larysa <larysa.zaremba@intel.com> > Cc: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; intel-wired- > lan@lists.osuosl.org; Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com>; > Andrew Lunn <andrew+netdev@lunn.ch>; David S. Miller > <davem@davemloft.net>; Eric Dumazet <edumazet@google.com>; Jakub > Kicinski <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; > netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Michal Swiatkowski > <michal.swiatkowski@linux.intel.com>; Pacuszka, MateuszX > <mateuszx.pacuszka@intel.com> > Subject: Re: [Intel-wired-lan] [PATCH iwl-next v4 1/6] ice: fix check for existing > switch rule > > On Fri, Feb 14, 2025 at 09:50:35AM +0100, Larysa Zaremba wrote: > > From: Mateusz Pacuszka <mateuszx.pacuszka@intel.com> > > > > In case the rule already exists and another VSI wants to subscribe to > > it new VSI list is being created and both VSIs are moved to it. > > Currently, the check for already existing VSI with the same rule is > > done based on fdw_id.hw_vsi_id, which applies only to LOOKUP_RX flag. > > Change it to vsi_handle. This is software VSI ID, but it can be > > applied here, because vsi_map itself is also based on it. > > > > Additionally change return status in case the VSI already exists in > > the VSI map to "Already exists". Such case should be handled by the caller. > > FWIIW, I might have made this two patches, but I don't feel particularly > strongly about it. > > > > > Signed-off-by: Mateusz Pacuszka <mateuszx.pacuszka@intel.com> > > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> > > Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com> > > Signed-off-by: Larysa Zaremba <larysa.zaremba@intel.com> > > Reviewed-by: Simon Horman <horms@kernel.org> Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
diff --git a/drivers/net/ethernet/intel/ice/ice_switch.c b/drivers/net/ethernet/intel/ice/ice_switch.c index 4a91e0aaf0a5..9d9a7edd3618 100644 --- a/drivers/net/ethernet/intel/ice/ice_switch.c +++ b/drivers/net/ethernet/intel/ice/ice_switch.c @@ -3146,7 +3146,7 @@ ice_add_update_vsi_list(struct ice_hw *hw, u16 vsi_handle_arr[2]; /* A rule already exists with the new VSI being added */ - if (cur_fltr->fwd_id.hw_vsi_id == new_fltr->fwd_id.hw_vsi_id) + if (cur_fltr->vsi_handle == new_fltr->vsi_handle) return -EEXIST; vsi_handle_arr[0] = cur_fltr->vsi_handle; @@ -5978,7 +5978,7 @@ ice_adv_add_update_vsi_list(struct ice_hw *hw, /* A rule already exists with the new VSI being added */ if (test_bit(vsi_handle, m_entry->vsi_list_info->vsi_map)) - return 0; + return -EEXIST; /* Update the previously created VSI list set with * the new VSI ID passed in