summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAnjali Singhai Jain <anjali.singhai@intel.com>2016-04-13 10:08:23 (GMT)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2016-05-02 00:03:37 (GMT)
commita856b5cb83fea40f28634a0220d7587d42e529d2 (patch)
tree3eadbde29df92c9fcf84eb99c82b34aa0e196760 /drivers
parent5f527ba962e277963b08f4c7f12fbeeac3f34e3c (diff)
downloadlinux-a856b5cb83fea40f28634a0220d7587d42e529d2.tar.xz
i40e: Prevent falling to promiscuous if the VF is not trusted
With this change a non trusted VF can never fall to promiscuous mode when there is no room for a MAC/VLAN filter. Change-Id: I8a155aa25c0bcdc6093414920c9ade4ee0bd20e8 Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_main.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 39b3b56..a45748e 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -2098,6 +2098,12 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
}
}
+ /* if the VF is not trusted do not do promisc */
+ if ((vsi->type == I40E_VSI_SRIOV) && !pf->vf[vsi->vf_id].trusted) {
+ clear_bit(__I40E_FILTER_OVERFLOW_PROMISC, &vsi->state);
+ goto out;
+ }
+
/* check for changes in promiscuous modes */
if (changed_flags & IFF_ALLMULTI) {
bool cur_multipromisc;