OSDN Git Service

i40e: Remove misleading messages for untrusted VF
authorGrzegorz Siwik <grzegorz.siwik@intel.com>
Wed, 6 Feb 2019 23:08:21 +0000 (15:08 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 16 Apr 2019 22:10:50 +0000 (15:10 -0700)
Removed misleading messages when untrusted VF tries to
add more addresses than NIC limit

Signed-off-by: Grzegorz Siwik <grzegorz.siwik@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c

index 13e6942..0ce9fd6 100644 (file)
@@ -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);
+               }
        }
 }