From: Beilei Xing <beilei.xing@intel.com>
To: wenzhuo.lu@intel.com
Cc: dev@dpdk.org, Beilei Xing <beilei.xing@intel.com>
Subject: [dpdk-dev] [PATCH v2 10/30] ixgbe/base: clear stale pool mappings
Date: Tue, 14 Jun 2016 14:59:36 +0800 [thread overview]
Message-ID: <1465887596-10346-11-git-send-email-beilei.xing@intel.com> (raw)
In-Reply-To: <1465887596-10346-1-git-send-email-beilei.xing@intel.com>
This patch adds clearing the pool mappings when configuring default
MAC addresses for the interface. Without this there will be the risk
of leaking an address into pool 0 which really belongs to VF 0 when
SR-IOV is enabled.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
---
drivers/net/ixgbe/base/ixgbe_82599.c | 9 ++++++---
drivers/net/ixgbe/base/ixgbe_common.c | 7 ++++---
drivers/net/ixgbe/base/ixgbe_x540.c | 9 ++++++---
3 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/drivers/net/ixgbe/base/ixgbe_82599.c b/drivers/net/ixgbe/base/ixgbe_82599.c
index 154c1f1..5bc7c2b 100644
--- a/drivers/net/ixgbe/base/ixgbe_82599.c
+++ b/drivers/net/ixgbe/base/ixgbe_82599.c
@@ -1176,11 +1176,14 @@ mac_reset_top:
/* Add the SAN MAC address to the RAR only if it's a valid address */
if (ixgbe_validate_mac_addr(hw->mac.san_addr) == 0) {
- hw->mac.ops.set_rar(hw, hw->mac.num_rar_entries - 1,
- hw->mac.san_addr, 0, IXGBE_RAH_AV);
-
/* Save the SAN MAC RAR index */
hw->mac.san_mac_rar_index = hw->mac.num_rar_entries - 1;
+ hw->mac.ops.set_rar(hw, hw->mac.san_mac_rar_index,
+ hw->mac.san_addr, 0, IXGBE_RAH_AV);
+
+ /* clear VMDq pool/queue selection for this RAR */
+ hw->mac.ops.clear_vmdq(hw, hw->mac.san_mac_rar_index,
+ IXGBE_CLEAR_VMDQ_ALL);
/* Reserve the last RAR for the SAN MAC address */
hw->mac.num_rar_entries--;
diff --git a/drivers/net/ixgbe/base/ixgbe_common.c b/drivers/net/ixgbe/base/ixgbe_common.c
index 82a8416..d211303 100644
--- a/drivers/net/ixgbe/base/ixgbe_common.c
+++ b/drivers/net/ixgbe/base/ixgbe_common.c
@@ -2406,10 +2406,11 @@ s32 ixgbe_init_rx_addrs_generic(struct ixgbe_hw *hw)
hw->mac.addr[4], hw->mac.addr[5]);
hw->mac.ops.set_rar(hw, 0, hw->mac.addr, 0, IXGBE_RAH_AV);
-
- /* clear VMDq pool/queue selection for RAR 0 */
- hw->mac.ops.clear_vmdq(hw, 0, IXGBE_CLEAR_VMDQ_ALL);
}
+
+ /* clear VMDq pool/queue selection for RAR 0 */
+ hw->mac.ops.clear_vmdq(hw, 0, IXGBE_CLEAR_VMDQ_ALL);
+
hw->addr_ctrl.overflow_promisc = 0;
hw->addr_ctrl.rar_used_count = 1;
diff --git a/drivers/net/ixgbe/base/ixgbe_x540.c b/drivers/net/ixgbe/base/ixgbe_x540.c
index 9ade1b5..0678913 100644
--- a/drivers/net/ixgbe/base/ixgbe_x540.c
+++ b/drivers/net/ixgbe/base/ixgbe_x540.c
@@ -268,11 +268,14 @@ mac_reset_top:
/* Add the SAN MAC address to the RAR only if it's a valid address */
if (ixgbe_validate_mac_addr(hw->mac.san_addr) == 0) {
- hw->mac.ops.set_rar(hw, hw->mac.num_rar_entries - 1,
- hw->mac.san_addr, 0, IXGBE_RAH_AV);
-
/* Save the SAN MAC RAR index */
hw->mac.san_mac_rar_index = hw->mac.num_rar_entries - 1;
+ hw->mac.ops.set_rar(hw, hw->mac.san_mac_rar_index,
+ hw->mac.san_addr, 0, IXGBE_RAH_AV);
+
+ /* clear VMDq pool/queue selection for this RAR */
+ hw->mac.ops.clear_vmdq(hw, hw->mac.san_mac_rar_index,
+ IXGBE_CLEAR_VMDQ_ALL);
/* Reserve the last RAR for the SAN MAC address */
hw->mac.num_rar_entries--;
--
2.5.0
next prev parent reply other threads:[~2016-06-14 7:00 UTC|newest]
Thread overview: 142+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-06 6:07 [dpdk-dev] [PATCH 00/29] ixgbe/base: update base driver Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 01/29] ixgbe/base: add new VF requests for mailbox API Beilei Xing
2016-05-19 7:41 ` Gu, YongjieX
2016-05-06 6:07 ` [dpdk-dev] [PATCH 02/29] ixgbe/base: add sgmii link for X550 Beilei Xing
2016-06-13 16:27 ` Ferruh Yigit
2016-05-06 6:07 ` [dpdk-dev] [PATCH 03/29] ixgbe/base: fix problematic return value Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 04/29] ixgbe/base: add mac link setup for x550a SFP Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 05/29] ixgbe/base: fix checksum error of checking PHY token Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 06/29] ixgbe/base: refactor eee setup for x550 Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 07/29] ixgbe/base: change access method Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 08/29] ixgbe/base: add KR support for X550EM_A devices Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 09/29] ixgbe/base: add link mac setup for x550a SFP+ Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 10/29] ixgbe/base: clear stale pool mappings Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 11/29] ixgbe/base: rename macro of TDL Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 12/29] ixgbe/base: fix error path to release lock Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 13/29] ixgbe/base: refactor NW management interface ops Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 14/29] ixgbe/base: fix for code style Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 15/29] ixgbe/base: fix firmware commands on x550em_a Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 16/29] ixgbe/base: add new phy definitions Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 17/29] ixgbe/base: change device IDs Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 18/29] ixgbe/base: update swfw semaphore function Beilei Xing
2016-06-13 16:26 ` Ferruh Yigit
2016-06-13 16:28 ` Ferruh Yigit
2016-05-06 6:07 ` [dpdk-dev] [PATCH 19/29] ixgbe/base: fix register access error Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 20/29] ixgbe/base: limit PHY token accessing to MDIO only Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 21/29] ixgbe/base: smplify add/remove VLANs Beilei Xing
2016-06-13 16:26 ` Ferruh Yigit
2016-05-06 6:07 ` [dpdk-dev] [PATCH 22/29] ixgbe/base: add bypassing VLVF Beilei Xing
2016-06-13 14:46 ` Ferruh Yigit
2016-05-06 6:07 ` [dpdk-dev] [PATCH 23/29] ixgbe/base: unify coding style Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 24/29] ixgbe/base: use u8 to replace u16 for a variable Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 25/29] ixgbe/base: fix endianness issues Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 26/29] ixgbe/base: allow setting mac anti spoofing per vf Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 27/29] ixgbe/base: add flow control autoneg for x550a Beilei Xing
2016-05-06 6:07 ` [dpdk-dev] [PATCH 28/29] ixgbe/base: define if enable crosstalk work around Beilei Xing
2016-06-13 16:27 ` Ferruh Yigit
2016-05-06 6:07 ` [dpdk-dev] [PATCH 29/29] ixgbe/base: update README Beilei Xing
2016-06-13 16:28 ` Ferruh Yigit
2016-06-14 1:00 ` Xing, Beilei
2016-06-06 1:24 ` [dpdk-dev] [PATCH 00/29] ixgbe/base: update base driver Zhang, Helin
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 00/30] " Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 01/30] ixgbe/base: add new VF requests for mailbox API Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 02/30] ixgbe/base: add sgmii link for X550 Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 03/30] ixgbe/base: fix problematic return value Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 04/30] ixgbe/base: add mac link setup for x550a SFP Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 05/30] ixgbe/base: fix checksum error of checking PHY token Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 06/30] ixgbe/base: refactor eee setup for x550 Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 07/30] ixgbe/base: change access method Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 08/30] ixgbe/base: add KR support for X550EM_A devices Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 09/30] ixgbe/base: add link mac setup for x550a SFP+ Beilei Xing
2016-06-14 6:59 ` Beilei Xing [this message]
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 11/30] ixgbe/base: rename macro of TDL Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 12/30] ixgbe/base: fix error path to release lock Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 13/30] ixgbe/base: fix for code style Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 14/30] ixgbe/base: fix firmware commands on x550em_a Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 15/30] ixgbe/base: refactor NW management interface ops Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 16/30] ixgbe/base: add new phy definitions Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 17/30] ixgbe/base: change device IDs Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 18/30] ixgbe/base: add function to reset swfw semaphore Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 19/30] ixgbe/base: fix possible race issue Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 20/30] ixgbe/base: fix register access error Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 21/30] ixgbe/base: limit PHY token accessing to MDIO only Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 22/30] ixgbe/base: simplify add/remove VLANs Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 23/30] ixgbe/base: add bypassing VLVF Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 24/30] ixgbe/base: unify coding style Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 25/30] ixgbe/base: use u8 to replace u16 for a variable Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 26/30] ixgbe/base: fix endianness issues Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 27/30] ixgbe/base: allow setting mac anti spoofing per vf Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 28/30] ixgbe/base: add flow control autoneg for x550a Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 29/30] ixgbe/base: define if enable crosstalk work around Beilei Xing
2016-06-14 6:59 ` [dpdk-dev] [PATCH v2 30/30] ixgbe/base: update README Beilei Xing
2016-06-14 10:36 ` [dpdk-dev] [PATCH v2 00/30] ixgbe/base: update base driver Ferruh Yigit
2016-06-14 10:54 ` Ferruh Yigit
2016-06-15 2:56 ` Xing, Beilei
2016-06-15 8:07 ` Thomas Monjalon
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 00/30] Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 01/30] ixgbe/base: add new VF requests for mailbox API Beilei Xing
2016-06-21 14:39 ` Bruce Richardson
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 02/30] ixgbe/base: add sgmii link for X550 Beilei Xing
2016-06-21 14:40 ` Bruce Richardson
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 03/30] ixgbe/base: fix problematic return value Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 04/30] ixgbe/base: add MAC link setup for X550a SFP Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 05/30] ixgbe/base: fix checksum error of checking PHY token Beilei Xing
2016-06-21 14:35 ` Bruce Richardson
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 06/30] ixgbe/base: refactor eee setup for X550 Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 07/30] ixgbe/base: change access method Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 08/30] ixgbe/base: add KR support for X550em_a devices Beilei Xing
2016-06-21 14:53 ` Bruce Richardson
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 09/30] ixgbe/base: add link MAC setup for X550a SFP+ Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 10/30] ixgbe/base: clear stale pool mappings Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 11/30] ixgbe/base: rename macro of TDL Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 12/30] ixgbe/base: fix error path to release lock Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 13/30] ixgbe/base: fix for code style Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 14/30] ixgbe/base: fix firmware commands on X550em_a Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 15/30] ixgbe/base: refactor NW management interface ops Beilei Xing
2016-06-21 16:19 ` Bruce Richardson
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 16/30] ixgbe/base: add new phy definitions Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 17/30] ixgbe/base: change device IDs Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 18/30] ixgbe/base: add function to reset swfw semaphore Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 19/30] ixgbe/base: fix possible race issue Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 20/30] ixgbe/base: fix register access error Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 21/30] ixgbe/base: limit PHY token accessing to MDIO only Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 22/30] ixgbe/base: simplify add/remove VLANs Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 23/30] ixgbe/base: add bypassing VLVF Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 24/30] ixgbe/base: unify coding style Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 25/30] ixgbe/base: use u8 to replace u16 for a variable Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 26/30] ixgbe/base: fix endianness issues Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 27/30] ixgbe/base: allow setting MAC anti spoofing per VF Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 28/30] ixgbe/base: add flow control autoneg for X550a Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 29/30] ixgbe/base: define if enable crosstalk work around Beilei Xing
2016-06-15 7:53 ` [dpdk-dev] [PATCH v3 30/30] ixgbe/base: update README Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 00/29] ixgbe/base: update base driver Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 01/29] ixgbe/base: add new VF requests for mailbox API Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 02/29] ixgbe/base: add sgmii link for X550 Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 03/29] ixgbe/base: fix problematic return value Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 04/29] ixgbe/base: add MAC link setup for X550a SFP Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 05/29] ixgbe/base: fix firmware command checksum error Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 06/29] ixgbe/base: refactor eee setup for X550 Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 07/29] ixgbe/base: add KR support for X550em_a devices Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 08/29] ixgbe/base: change access method Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 09/29] ixgbe/base: add link MAC setup for X550a SFP+ Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 10/29] ixgbe/base: clear stale pool mappings Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 11/29] ixgbe/base: rename macro of TDL Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 12/29] ixgbe/base: fix error path to release lock Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 13/29] ixgbe/base: fix for code style Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 14/29] ixgbe/base: optimize internal PHY mode determination Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 15/29] ixgbe/base: add new phy definitions Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 16/29] ixgbe/base: change device IDs Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 17/29] ixgbe/base: add function to reset swfw semaphore Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 18/29] ixgbe/base: fix possible race issue Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 19/29] ixgbe/base: fix register access error Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 20/29] ixgbe/base: limit PHY token accessing to MDIO only Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 21/29] ixgbe/base: simplify add/remove VLANs Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 22/29] ixgbe/base: add bypassing VLVF Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 23/29] ixgbe/base: unify coding style Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 24/29] ixgbe/base: use u8 to replace u16 for a variable Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 25/29] ixgbe/base: fix endianness issues Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 26/29] ixgbe/base: allow setting MAC anti spoofing per VF Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 27/29] ixgbe/base: add flow control autoneg for X550a Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 28/29] ixgbe/base: define if enable crosstalk work around Beilei Xing
2016-06-23 7:22 ` [dpdk-dev] [PATCH v4 29/29] ixgbe/base: update README Beilei Xing
2016-06-27 14:20 ` [dpdk-dev] [PATCH v4 00/29] ixgbe/base: update base driver Bruce Richardson
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=1465887596-10346-11-git-send-email-beilei.xing@intel.com \
--to=beilei.xing@intel.com \
--cc=dev@dpdk.org \
--cc=wenzhuo.lu@intel.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).