netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tony Nguyen <anthony.l.nguyen@intel.com>
To: davem@davemloft.net, kuba@kernel.org, pabeni@redhat.com,
	edumazet@google.com
Cc: Grzegorz Siwik <grzegorz.siwik@intel.com>,
	netdev@vger.kernel.org, anthony.l.nguyen@intel.com,
	Jaroslav Pulchart <jaroslav.pulchart@gooddata.com>,
	Igor Raits <igor@gooddata.com>,
	Gurucharan <gurucharanx.g@intel.com>
Subject: [PATCH net 1/5] ice: Fix double VLAN error when entering promisc mode
Date: Wed, 17 Aug 2022 10:13:25 -0700	[thread overview]
Message-ID: <20220817171329.65285-2-anthony.l.nguyen@intel.com> (raw)
In-Reply-To: <20220817171329.65285-1-anthony.l.nguyen@intel.com>

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

Avoid enabling or disabling VLAN 0 when trying to set promiscuous
VLAN mode if double VLAN mode is enabled. This fix is needed
because the driver tries to add the VLAN 0 filter twice (once for
inner and once for outer) when double VLAN mode is enabled. The
filter program is rejected by the firmware when double VLAN is
enabled, because the promiscuous filter only needs to be set once.

This issue was missed in the initial implementation of double VLAN
mode.

Fixes: 5eda8afd6bcc ("ice: Add support for PF/VF promiscuous mode")
Signed-off-by: Grzegorz Siwik <grzegorz.siwik@intel.com>
Link: https://lore.kernel.org/all/CAK8fFZ7m-KR57M_rYX6xZN39K89O=LGooYkKsu6HKt0Bs+x6xQ@mail.gmail.com/
Tested-by: Jaroslav Pulchart <jaroslav.pulchart@gooddata.com>
Tested-by: Igor Raits <igor@gooddata.com>
Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_switch.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/ethernet/intel/ice/ice_switch.c b/drivers/net/ethernet/intel/ice/ice_switch.c
index 262e553e3b58..0c265739cce2 100644
--- a/drivers/net/ethernet/intel/ice/ice_switch.c
+++ b/drivers/net/ethernet/intel/ice/ice_switch.c
@@ -4445,6 +4445,13 @@ ice_set_vlan_vsi_promisc(struct ice_hw *hw, u16 vsi_handle, u8 promisc_mask,
 		goto free_fltr_list;
 
 	list_for_each_entry(list_itr, &vsi_list_head, list_entry) {
+		/* Avoid enabling or disabling VLAN zero twice when in double
+		 * VLAN mode
+		 */
+		if (ice_is_dvm_ena(hw) &&
+		    list_itr->fltr_info.l_data.vlan.tpid == 0)
+			continue;
+
 		vlan_id = list_itr->fltr_info.l_data.vlan.vlan_id;
 		if (rm_vlan_promisc)
 			status = ice_clear_vsi_promisc(hw, vsi_handle,
-- 
2.35.1


  reply	other threads:[~2022-08-17 17:13 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-17 17:13 [PATCH net 0/5][pull request] Intel Wired LAN Driver Updates 2022-08-17 (ice) Tony Nguyen
2022-08-17 17:13 ` Tony Nguyen [this message]
2022-08-17 17:13 ` [PATCH net 2/5] ice: Ignore EEXIST when setting promisc mode Tony Nguyen
2022-08-17 17:13 ` [PATCH net 3/5] ice: Fix clearing of promisc mode with bridge over bond Tony Nguyen
2022-08-17 17:13 ` [PATCH net 4/5] ice: Ignore error message when setting same promiscuous mode Tony Nguyen
2022-08-17 17:13 ` [PATCH net 5/5] ice: Fix VF not able to send tagged traffic with no VLAN filters Tony Nguyen
2022-08-18 18:30 ` [PATCH net 0/5][pull request] Intel Wired LAN Driver Updates 2022-08-17 (ice) patchwork-bot+netdevbpf

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=20220817171329.65285-2-anthony.l.nguyen@intel.com \
    --to=anthony.l.nguyen@intel.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=grzegorz.siwik@intel.com \
    --cc=gurucharanx.g@intel.com \
    --cc=igor@gooddata.com \
    --cc=jaroslav.pulchart@gooddata.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).