DPDK patches and discussions
 help / color / mirror / Atom feed
From: Helin Zhang <helin.zhang@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH v2 6/7] i40e: ignore the failure of updating default macvlan filter
Date: Mon, 23 Jun 2014 20:57:10 +0800	[thread overview]
Message-ID: <1403528231-4099-7-git-send-email-helin.zhang@intel.com> (raw)
In-Reply-To: <1403528231-4099-1-git-send-email-helin.zhang@intel.com>

For NVM4.2.2 or after, the firmware has the correct configurations
and load the macvlan filter as expected. It is not needed to
Update the default macvlan filter which cannot be removed at
all during initialization.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
---
 lib/librte_pmd_i40e/i40e_ethdev.c | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/lib/librte_pmd_i40e/i40e_ethdev.c b/lib/librte_pmd_i40e/i40e_ethdev.c
index 204d2cb..3311d73 100644
--- a/lib/librte_pmd_i40e/i40e_ethdev.c
+++ b/lib/librte_pmd_i40e/i40e_ethdev.c
@@ -2306,11 +2306,10 @@ i40e_update_default_filter_setting(struct i40e_vsi *vsi)
 	ret = i40e_aq_remove_macvlan(hw, vsi->seid, &def_filter, 1, NULL);
 	if (ret != I40E_SUCCESS) {
 		struct i40e_mac_filter *f;
-		PMD_DRV_LOG(WARNING, "Failed to remove default [mac,vlan] config\n");
 
-		/* Even failed to update default setting, still needs to add the permanent
-		 *  mac into mac list.
-		 */
+		PMD_DRV_LOG(WARNING, "Cannot remove the default "
+						"macvlan filter\n");
+		/* It needs to add the permanent mac into mac list */
 		f = rte_zmalloc("macv_filter", sizeof(*f), 0);
 		if (f == NULL) {
 			PMD_DRV_LOG(ERR, "failed to allocate memory\n");
@@ -2320,6 +2319,7 @@ i40e_update_default_filter_setting(struct i40e_vsi *vsi)
 				ETH_ADDR_LEN);
 		TAILQ_INSERT_TAIL(&vsi->mac_list, f, next);
 		vsi->mac_num++;
+
 		return ret;
 	}
 
@@ -2516,14 +2516,19 @@ i40e_vsi_setup(struct i40e_pf *pf,
 
 		(void)rte_memcpy(pf->dev_addr.addr_bytes, hw->mac.perm_addr,
 				ETH_ADDR_LEN);
-		ret = i40e_update_default_filter_setting(vsi);
-		if (ret != I40E_SUCCESS) {
-			PMD_DRV_LOG(ERR, "Failed to remove default "
-						"filter setting\n");
-			goto fail_msix_alloc;
-		}
-	}
-	else if (type == I40E_VSI_SRIOV) {
+
+		/**
+		 * Updating default filter settings are necessary to prevent
+		 * reception of tagged packets.
+		 * Some old firmware configurations load a default macvlan
+		 * filter which accepts both tagged and untagged packets.
+		 * The updating is to use a normal filter instead if needed.
+		 * For NVM 4.2.2 or after, the updating is not needed anymore.
+		 * The firmware with correct configurations load the default
+		 * macvlan filter which is expected and cannot be removed.
+		 */
+		i40e_update_default_filter_setting(vsi);
+	} else if (type == I40E_VSI_SRIOV) {
 		memset(&ctxt, 0, sizeof(ctxt));
 		/**
 		 * For other VSI, the uplink_seid equals to uplink VSI's
-- 
1.8.1.4

  parent reply	other threads:[~2014-06-23 12:57 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-23 12:57 [dpdk-dev] [PATCH v2 0/7] enhancements for i40e Helin Zhang
2014-06-23 12:57 ` [dpdk-dev] [PATCH v2 1/7] i40e: fix for getting correct RSS hash result Helin Zhang
2014-06-23 12:57 ` [dpdk-dev] [PATCH v2 2/7] i40evf: remove an interface which is not used Helin Zhang
2014-06-23 12:57 ` [dpdk-dev] [PATCH v2 3/7] i40evf: fix for copying wrong size of link info Helin Zhang
2014-06-23 12:57 ` [dpdk-dev] [PATCH v2 4/7] i40e: fix for updating the hash lookup table of PF RSS Helin Zhang
2014-06-23 12:57 ` [dpdk-dev] [PATCH v2 5/7] i40e: double vlan should be specifically disabled by default Helin Zhang
2014-06-23 12:57 ` Helin Zhang [this message]
2014-06-23 12:57 ` [dpdk-dev] [PATCH v2 7/7] app/testpmd: rework for displaying different size of RX descriptors Helin Zhang
2014-06-23 15:43   ` Thomas Monjalon

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=1403528231-4099-7-git-send-email-helin.zhang@intel.com \
    --to=helin.zhang@intel.com \
    --cc=dev@dpdk.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 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).