ice: Remove boolean vlan_promisc flag from function
authorBrett Creeley <brett.creeley@intel.com>
Thu, 6 May 2021 15:40:02 +0000 (08:40 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 29 Oct 2021 17:48:16 +0000 (10:48 -0700)
Currently, the vlan_promisc flag is used exclusively by VF VSI to
determine whether or not to toggle VLAN pruning along with
trusted/true-promiscuous mode. This is not needed for a couple of
reasons. First, trusted/true-promiscuous mode is only supposed to allow
all MAC filters within VLANs that a VF has added filters for, so VLAN
pruning should not be disabled. Second, the boolean argument makes the
function confusing and unintuitive. Remove this flag.

Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Tested-by: Tony Brelinski <tony.brelinski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_lib.c
drivers/net/ethernet/intel/ice/ice_lib.h
drivers/net/ethernet/intel/ice/ice_main.c
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c

index 159c52b..4056260 100644 (file)
@@ -2284,11 +2284,10 @@ bool ice_vsi_is_vlan_pruning_ena(struct ice_vsi *vsi)
  * ice_cfg_vlan_pruning - enable or disable VLAN pruning on the VSI
  * @vsi: VSI to enable or disable VLAN pruning on
  * @ena: set to true to enable VLAN pruning and false to disable it
- * @vlan_promisc: enable valid security flags if not in VLAN promiscuous mode
  *
  * returns 0 if VSI is updated, negative otherwise
  */
-int ice_cfg_vlan_pruning(struct ice_vsi *vsi, bool ena, bool vlan_promisc)
+int ice_cfg_vlan_pruning(struct ice_vsi *vsi, bool ena)
 {
        struct ice_vsi_ctx *ctxt;
        struct ice_pf *pf;
@@ -2316,9 +2315,7 @@ int ice_cfg_vlan_pruning(struct ice_vsi *vsi, bool ena, bool vlan_promisc)
        else
                ctxt->info.sw_flags2 &= ~ICE_AQ_VSI_SW_FLAG_RX_VLAN_PRUNE_ENA;
 
-       if (!vlan_promisc)
-               ctxt->info.valid_sections =
-                       cpu_to_le16(ICE_AQ_VSI_PROP_SW_VALID);
+       ctxt->info.valid_sections = cpu_to_le16(ICE_AQ_VSI_PROP_SW_VALID);
 
        status = ice_update_vsi(&pf->hw, vsi->idx, ctxt, NULL);
        if (status) {
index e7f4ecb..6c80340 100644 (file)
@@ -45,7 +45,7 @@ int ice_vsi_stop_xdp_tx_rings(struct ice_vsi *vsi);
 
 bool ice_vsi_is_vlan_pruning_ena(struct ice_vsi *vsi);
 
-int ice_cfg_vlan_pruning(struct ice_vsi *vsi, bool ena, bool vlan_promisc);
+int ice_cfg_vlan_pruning(struct ice_vsi *vsi, bool ena);
 
 void ice_cfg_sw_lldp(struct ice_vsi *vsi, bool tx, bool create);
 
index 66112ad..f099797 100644 (file)
@@ -396,7 +396,7 @@ static int ice_vsi_sync_fltr(struct ice_vsi *vsi)
                                                ~IFF_PROMISC;
                                        goto out_promisc;
                                }
-                               ice_cfg_vlan_pruning(vsi, false, false);
+                               ice_cfg_vlan_pruning(vsi, false);
                        }
                } else {
                        /* Clear Rx filter to remove traffic from wire */
@@ -410,7 +410,7 @@ static int ice_vsi_sync_fltr(struct ice_vsi *vsi)
                                        goto out_promisc;
                                }
                                if (vsi->num_vlan > 1)
-                                       ice_cfg_vlan_pruning(vsi, true, false);
+                                       ice_cfg_vlan_pruning(vsi, true);
                        }
                }
        }
@@ -3387,7 +3387,7 @@ ice_vlan_rx_add_vid(struct net_device *netdev, __always_unused __be16 proto,
 
        /* Enable VLAN pruning when a VLAN other than 0 is added */
        if (!ice_vsi_is_vlan_pruning_ena(vsi)) {
-               ret = ice_cfg_vlan_pruning(vsi, true, false);
+               ret = ice_cfg_vlan_pruning(vsi, true);
                if (ret)
                        return ret;
        }
@@ -3431,7 +3431,7 @@ ice_vlan_rx_kill_vid(struct net_device *netdev, __always_unused __be16 proto,
 
        /* Disable pruning when VLAN 0 is the only VLAN rule */
        if (vsi->num_vlan == 1 && ice_vsi_is_vlan_pruning_ena(vsi))
-               ret = ice_cfg_vlan_pruning(vsi, false, false);
+               ret = ice_cfg_vlan_pruning(vsi, false);
 
        set_bit(ICE_VSI_VLAN_FLTR_CHANGED, vsi->state);
        return ret;
@@ -5616,10 +5616,10 @@ ice_set_features(struct net_device *netdev, netdev_features_t features)
 
        if ((features & NETIF_F_HW_VLAN_CTAG_FILTER) &&
            !(netdev->features & NETIF_F_HW_VLAN_CTAG_FILTER))
-               ret = ice_cfg_vlan_pruning(vsi, true, false);
+               ret = ice_cfg_vlan_pruning(vsi, true);
        else if (!(features & NETIF_F_HW_VLAN_CTAG_FILTER) &&
                 (netdev->features & NETIF_F_HW_VLAN_CTAG_FILTER))
-               ret = ice_cfg_vlan_pruning(vsi, false, false);
+               ret = ice_cfg_vlan_pruning(vsi, false);
 
        if ((features & NETIF_F_NTUPLE) &&
            !(netdev->features & NETIF_F_NTUPLE)) {
index 6a74344..2ac2148 100644 (file)
@@ -3072,7 +3072,10 @@ static int ice_vc_cfg_promiscuous_mode_msg(struct ice_vf *vf, u8 *msg)
                        v_ret = VIRTCHNL_STATUS_ERR_PARAM;
                }
 
-               ret = ice_cfg_vlan_pruning(vsi, true, !rm_promisc);
+               if (rm_promisc)
+                       ret = ice_cfg_vlan_pruning(vsi, true);
+               else
+                       ret = ice_cfg_vlan_pruning(vsi, false);
                if (ret) {
                        dev_err(dev, "Failed to configure VLAN pruning in promiscuous mode\n");
                        v_ret = VIRTCHNL_STATUS_ERR_PARAM;
@@ -4277,7 +4280,7 @@ static int ice_vc_process_vlan_msg(struct ice_vf *vf, u8 *msg, bool add_v)
                        /* Enable VLAN pruning when non-zero VLAN is added */
                        if (!vlan_promisc && vid &&
                            !ice_vsi_is_vlan_pruning_ena(vsi)) {
-                               status = ice_cfg_vlan_pruning(vsi, true, false);
+                               status = ice_cfg_vlan_pruning(vsi, true);
                                if (status) {
                                        v_ret = VIRTCHNL_STATUS_ERR_PARAM;
                                        dev_err(dev, "Enable VLAN pruning on VLAN ID: %d failed error-%d\n",
@@ -4331,7 +4334,7 @@ static int ice_vc_process_vlan_msg(struct ice_vf *vf, u8 *msg, bool add_v)
                        /* Disable VLAN pruning when only VLAN 0 is left */
                        if (vsi->num_vlan == 1 &&
                            ice_vsi_is_vlan_pruning_ena(vsi))
-                               ice_cfg_vlan_pruning(vsi, false, false);
+                               ice_cfg_vlan_pruning(vsi, false);
 
                        /* Disable Unicast/Multicast VLAN promiscuous mode */
                        if (vlan_promisc) {