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 27/30] ixgbe/base: allow setting mac anti spoofing per vf
Date: Tue, 14 Jun 2016 14:59:53 +0800 [thread overview]
Message-ID: <1465887596-10346-28-git-send-email-beilei.xing@intel.com> (raw)
In-Reply-To: <1465887596-10346-1-git-send-email-beilei.xing@intel.com>
Make ixgbe_set_mac_anti_spoofing() consistent with the other
functions that deal with setting VLAN and Ethertype spoofing by
changing the prototype to accept a VF parameter.
Also change the logic for writing the PFVFSPOOF register to be similar
to the MAC and Ethertype functions.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
---
drivers/net/ixgbe/base/ixgbe_common.c | 40 ++++++++++-------------------------
drivers/net/ixgbe/base/ixgbe_common.h | 2 +-
2 files changed, 12 insertions(+), 30 deletions(-)
diff --git a/drivers/net/ixgbe/base/ixgbe_common.c b/drivers/net/ixgbe/base/ixgbe_common.c
index 6e54628..e1d09e2 100644
--- a/drivers/net/ixgbe/base/ixgbe_common.c
+++ b/drivers/net/ixgbe/base/ixgbe_common.c
@@ -4203,43 +4203,25 @@ out:
/**
* ixgbe_set_mac_anti_spoofing - Enable/Disable MAC anti-spoofing
* @hw: pointer to hardware structure
- * @enable: enable or disable switch for anti-spoofing
- * @pf: Physical Function pool - do not enable anti-spoofing for the PF
+ * @enable: enable or disable switch for MAC anti-spoofing
+ * @vf: Virtual Function pool - VF Pool to set for MAC anti-spoofing
*
**/
-void ixgbe_set_mac_anti_spoofing(struct ixgbe_hw *hw, bool enable, int pf)
+void ixgbe_set_mac_anti_spoofing(struct ixgbe_hw *hw, bool enable, int vf)
{
- int j;
- int pf_target_reg = pf >> 3;
- int pf_target_shift = pf % 8;
- u32 pfvfspoof = 0;
+ int vf_target_reg = vf >> 3;
+ int vf_target_shift = vf % 8;
+ u32 pfvfspoof;
if (hw->mac.type == ixgbe_mac_82598EB)
return;
+ pfvfspoof = IXGBE_READ_REG(hw, IXGBE_PFVFSPOOF(vf_target_reg));
if (enable)
- pfvfspoof = IXGBE_SPOOF_MACAS_MASK;
-
- /*
- * PFVFSPOOF register array is size 8 with 8 bits assigned to
- * MAC anti-spoof enables in each register array element.
- */
- for (j = 0; j < pf_target_reg; j++)
- IXGBE_WRITE_REG(hw, IXGBE_PFVFSPOOF(j), pfvfspoof);
-
- /*
- * The PF should be allowed to spoof so that it can support
- * emulation mode NICs. Do not set the bits assigned to the PF
- */
- pfvfspoof &= (1 << pf_target_shift) - 1;
- IXGBE_WRITE_REG(hw, IXGBE_PFVFSPOOF(j), pfvfspoof);
-
- /*
- * Remaining pools belong to the PF so they do not need to have
- * anti-spoofing enabled.
- */
- for (j++; j < IXGBE_PFVFSPOOF_REG_COUNT; j++)
- IXGBE_WRITE_REG(hw, IXGBE_PFVFSPOOF(j), 0);
+ pfvfspoof |= (1 << vf_target_shift);
+ else
+ pfvfspoof &= ~(1 << vf_target_shift);
+ IXGBE_WRITE_REG(hw, IXGBE_PFVFSPOOF(vf_target_reg), pfvfspoof);
}
/**
diff --git a/drivers/net/ixgbe/base/ixgbe_common.h b/drivers/net/ixgbe/base/ixgbe_common.h
index a790ede..0545f85 100644
--- a/drivers/net/ixgbe/base/ixgbe_common.h
+++ b/drivers/net/ixgbe/base/ixgbe_common.h
@@ -148,7 +148,7 @@ s32 ixgbe_get_wwn_prefix_generic(struct ixgbe_hw *hw, u16 *wwnn_prefix,
u16 *wwpn_prefix);
s32 ixgbe_get_fcoe_boot_status_generic(struct ixgbe_hw *hw, u16 *bs);
-void ixgbe_set_mac_anti_spoofing(struct ixgbe_hw *hw, bool enable, int pf);
+void ixgbe_set_mac_anti_spoofing(struct ixgbe_hw *hw, bool enable, int vf);
void ixgbe_set_vlan_anti_spoofing(struct ixgbe_hw *hw, bool enable, int vf);
s32 ixgbe_get_device_caps_generic(struct ixgbe_hw *hw, u16 *device_caps);
void ixgbe_set_rxpba_generic(struct ixgbe_hw *hw, int num_pb, u32 headroom,
--
2.5.0
next prev parent reply other threads:[~2016-06-14 7:01 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 ` [dpdk-dev] [PATCH v2 10/30] ixgbe/base: clear stale pool mappings Beilei Xing
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 ` Beilei Xing [this message]
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-28-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).