From: Grzegorz Siwik <grzegorz.si...@intel.com>

Removed misleading messages when untrusted VF tries to
add more addresses than NIC limit

Signed-off-by: Grzegorz Siwik <grzegorz.si...@intel.com>
Tested-by: Andrew Bowers <andrewx.bow...@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirs...@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c 
b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 8dd943d396de..9e8e76310561 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -2107,11 +2107,22 @@ void i40e_aqc_add_filters(struct i40e_vsi *vsi, const 
char *vsi_name,
        fcnt = i40e_update_filter_state(num_add, list, add_head);
 
        if (fcnt != num_add) {
-               set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
-               dev_warn(&vsi->back->pdev->dev,
-                        "Error %s adding RX filters on %s, promiscuous mode 
forced on\n",
-                        i40e_aq_str(hw, aq_err),
-                        vsi_name);
+               if (vsi->type == I40E_VSI_MAIN) {
+                       set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
+                       dev_warn(&vsi->back->pdev->dev,
+                                "Error %s adding RX filters on %s, promiscuous 
mode forced on\n",
+                                i40e_aq_str(hw, aq_err), vsi_name);
+               } else if (vsi->type == I40E_VSI_SRIOV ||
+                          vsi->type == I40E_VSI_VMDQ1 ||
+                          vsi->type == I40E_VSI_VMDQ2) {
+                       dev_warn(&vsi->back->pdev->dev,
+                                "Error %s adding RX filters on %s, please set 
promiscuous on manually for %s\n",
+                                i40e_aq_str(hw, aq_err), vsi_name, vsi_name);
+               } else {
+                       dev_warn(&vsi->back->pdev->dev,
+                                "Error %s adding RX filters on %s, incorrect 
VSI type: %i.\n",
+                                i40e_aq_str(hw, aq_err), vsi_name, vsi->type);
+               }
        }
 }
 
-- 
2.20.1

Reply via email to