diff mbox series

[net-next,v2,07/12] i40e: Remove misleading messages for untrusted VF

Message ID 20190416225733.24072-8-jeffrey.t.kirsher@intel.com
State Accepted
Delegated to: David Miller
Headers show
Series 40GbE Intel Wired LAN Driver Updates 2019-04-16 | expand

Commit Message

Kirsher, Jeffrey T April 16, 2019, 10:57 p.m. UTC
From: Grzegorz Siwik <grzegorz.siwik@intel.com>

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 | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

Comments

Sergei Shtylyov April 17, 2019, 8:22 a.m. UTC | #1
On 17.04.2019 1:57, Jeff Kirsher wrote:

> From: Grzegorz Siwik <grzegorz.siwik@intel.com>
> 
> 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 | 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 13e694249380..0ce9fd6bb0f4 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);
> +		}

    Mhm, this asks to be converted to a *switch*...

[...]

MBR, Sergei
diff mbox series

Patch

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 13e694249380..0ce9fd6bb0f4 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);
+		}
 	}
 }