All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alice Michael <alice.michael@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [next PATCH S3 9/9] i40e: fix misleading message about promisc setting on un-trusted VF
Date: Thu, 28 Feb 2019 09:52:55 -0800	[thread overview]
Message-ID: <20190228175255.54754-9-alice.michael@intel.com> (raw)
In-Reply-To: <20190228175255.54754-1-alice.michael@intel.com>

From: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com>

A refactor of the i40e_vc_config_promiscuous_mode_msg function moved
the check for un-trusted VF into another function. We have to lie to
an un-trusted VF that its request to set promiscuous mode is
successful even when it is not because we don't want the VF to find
out its trust status this way. With the refactor, we were running into
a case where even though we were not setting promiscuous mode for an
un-trusted VF, we still printed a misleading message that it was
successful.

This patch fixes that by ensuring that a success message is printed
on the host side only when the promiscuous mode change has been
successful.

Signed-off-by: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com>
---
 .../ethernet/intel/i40e/i40e_virtchnl_pf.c    | 28 +++++++++++--------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 925ca880bea3..8a6fb9c03955 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -1112,15 +1112,6 @@ static i40e_status i40e_config_vf_promiscuous_mode(struct i40e_vf *vf,
 	if (!i40e_vc_isvalid_vsi_id(vf, vsi_id) || !vsi)
 		return I40E_ERR_PARAM;
 
-	if (!test_bit(I40E_VIRTCHNL_VF_CAP_PRIVILEGE, &vf->vf_caps) &&
-	    (allmulti || alluni)) {
-		dev_err(&pf->pdev->dev,
-			"Unprivileged VF %d is attempting to configure promiscuous mode\n",
-			vf->vf_id);
-		/* Lie to the VF on purpose. */
-		return 0;
-	}
-
 	if (vf->port_vlan_id) {
 		aq_ret = i40e_aq_set_vsi_mc_promisc_on_vlan(hw, vsi->seid,
 							    allmulti,
@@ -1997,8 +1988,21 @@ static int i40e_vc_config_promiscuous_mode_msg(struct i40e_vf *vf, u8 *msg)
 	bool allmulti = false;
 	bool alluni = false;
 
-	if (!test_bit(I40E_VF_STATE_ACTIVE, &vf->vf_states))
-		return I40E_ERR_PARAM;
+	if (!test_bit(I40E_VF_STATE_ACTIVE, &vf->vf_states)) {
+		aq_ret = I40E_ERR_PARAM;
+		goto err_out;
+	}
+	if (!test_bit(I40E_VIRTCHNL_VF_CAP_PRIVILEGE, &vf->vf_caps)) {
+		dev_err(&pf->pdev->dev,
+			"Unprivileged VF %d is attempting to configure promiscuous mode\n",
+			vf->vf_id);
+
+		/* Lie to the VF on purpose, because this is an error we can
+		 * ignore. Unprivileged VF is not a virtual channel error.
+		 */
+		aq_ret = 0;
+		goto err_out;
+	}
 
 	/* Multicast promiscuous handling*/
 	if (info->flags & FLAG_VF_MULTICAST_PROMISC)
@@ -2032,7 +2036,7 @@ static int i40e_vc_config_promiscuous_mode_msg(struct i40e_vf *vf, u8 *msg)
 			clear_bit(I40E_VF_STATE_UC_PROMISC, &vf->vf_states);
 		}
 	}
-
+err_out:
 	/* send the response to the VF */
 	return i40e_vc_send_resp_to_vf(vf,
 				       VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE,
-- 
2.19.2


  parent reply	other threads:[~2019-02-28 17:52 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-28 17:52 [Intel-wired-lan] [next PATCH S3 1/9] i40e: Fix for allowing too many MDD events on VF Alice Michael
2019-02-28 17:52 ` [Intel-wired-lan] [next PATCH S3 2/9] i40e: change behavior on PF in response to MDD event Alice Michael
2019-03-02  0:22   ` Bowers, AndrewX
2019-02-28 17:52 ` [Intel-wired-lan] [next PATCH S3 3/9] i40e: remove error msg when vf with port vlan tries to remove vlan 0 Alice Michael
2019-02-28 17:57   ` Loktionov, Aleksandr
2019-03-02  0:22   ` Bowers, AndrewX
2019-02-28 17:52 ` [Intel-wired-lan] [next PATCH S3 4/9] i40e: ShadowRAM checksum calculation change Alice Michael
2019-03-02  0:23   ` Bowers, AndrewX
2019-02-28 17:52 ` [Intel-wired-lan] [next PATCH S3 5/9] i40e: Report advertised link modes on 40GBase_LR4, CR4 and fibre Alice Michael
2019-03-02  0:23   ` Bowers, AndrewX
2019-03-04  9:11   ` Ludkiewicz, Adam
2019-02-28 17:52 ` [Intel-wired-lan] [next PATCH S3 6/9] i40e: Further implementation of LLDP Alice Michael
2019-02-28 17:56   ` Loktionov, Aleksandr
2019-03-02  0:24   ` Bowers, AndrewX
2019-02-28 17:52 ` [Intel-wired-lan] [next PATCH S3 7/9] i40e: remove out-of-range comparisions in i40e_validate_cloud_filter Alice Michael
2019-03-02  0:24   ` Bowers, AndrewX
2019-02-28 17:52 ` [Intel-wired-lan] [next PATCH S3 8/9] i40e: update version number Alice Michael
2019-03-02  0:25   ` Bowers, AndrewX
2019-02-28 17:52 ` Alice Michael [this message]
2019-03-02  0:26   ` [Intel-wired-lan] [next PATCH S3 9/9] i40e: fix misleading message about promisc setting on un-trusted VF Bowers, AndrewX
2019-03-02  0:21 ` [Intel-wired-lan] [next PATCH S3 1/9] i40e: Fix for allowing too many MDD events on VF Bowers, AndrewX

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190228175255.54754-9-alice.michael@intel.com \
    --to=alice.michael@intel.com \
    --cc=intel-wired-lan@osuosl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.