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 13/30] i40e/base: set shared bit for multicast filters
Date: Thu, 18 Feb 2016 14:30:03 +0800	[thread overview]
Message-ID: <1455777020-12095-14-git-send-email-helin.zhang@intel.com> (raw)
In-Reply-To: <1455777020-12095-1-git-send-email-helin.zhang@intel.com>

Add the use of the new Shared MAC filter bit for multicast
and broadcast filters in order to make better use of the
filters available from the device. The FW folks have assured
that setting this bit on older FW will have no affect, so it
doesn't need a version check.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
---
 drivers/net/i40e/base/i40e_adminq_cmd.h | 1 +
 drivers/net/i40e/base/i40e_common.c     | 8 +++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
index aa11bcd..cd55a36 100644
--- a/drivers/net/i40e/base/i40e_adminq_cmd.h
+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
@@ -1033,6 +1033,7 @@ struct i40e_aqc_add_macvlan_element_data {
 #define I40E_AQC_MACVLAN_ADD_HASH_MATCH		0x0002
 #define I40E_AQC_MACVLAN_ADD_IGNORE_VLAN	0x0004
 #define I40E_AQC_MACVLAN_ADD_TO_QUEUE		0x0008
+#define I40E_AQC_MACVLAN_ADD_USE_SHARED_MAC	0x0010
 	__le16	queue_number;
 #define I40E_AQC_MACVLAN_CMD_QUEUE_SHIFT	0
 #define I40E_AQC_MACVLAN_CMD_QUEUE_MASK		(0x7FF << \
diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index cc8a63e..44855b3 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -2777,6 +2777,7 @@ enum i40e_status_code i40e_aq_add_macvlan(struct i40e_hw *hw, u16 seid,
 		(struct i40e_aqc_macvlan *)&desc.params.raw;
 	enum i40e_status_code status;
 	u16 buf_size;
+	int i;
 
 	if (count == 0 || !mv_list || !hw)
 		return I40E_ERR_PARAM;
@@ -2790,12 +2791,17 @@ enum i40e_status_code i40e_aq_add_macvlan(struct i40e_hw *hw, u16 seid,
 	cmd->seid[1] = 0;
 	cmd->seid[2] = 0;
 
+	for (i = 0; i < count; i++)
+		if (I40E_IS_MULTICAST(mv_list[i].mac_addr))
+			mv_list[i].flags |=
+			    CPU_TO_LE16(I40E_AQC_MACVLAN_ADD_USE_SHARED_MAC);
+
 	desc.flags |= CPU_TO_LE16((u16)(I40E_AQ_FLAG_BUF | I40E_AQ_FLAG_RD));
 	if (buf_size > I40E_AQ_LARGE_BUF)
 		desc.flags |= CPU_TO_LE16((u16)I40E_AQ_FLAG_LB);
 
 	status = i40e_asq_send_command(hw, &desc, mv_list, buf_size,
-				    cmd_details);
+				       cmd_details);
 
 	return status;
 }
-- 
2.5.0

  parent reply	other threads:[~2016-02-18  6:31 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-15  2:40 [dpdk-dev] [PATCH 00/29] i40e base driver update Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 01/29] i40e/base: use explicit cast from u16 to u8 Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 02/29] i40e/base: Acquire NVM, before issuing an AQ read nvm command Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 03/29] i40e/base: add hw flag for doing the SRCTL access using AQ for X722 Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 04/29] i40e/base: add changes in nvm read to support X722 Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 05/29] i40e/base: Limit DCB FW version checks to XL710/X710 devices Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 06/29] i40e/base: check for stopped admin queue Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 07/29] i40e/base: set aq count after memory allocation Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 08/29] i40e/base: clean event descriptor before use Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 09/29] i40e/base: add new device IDs and delete deprecated one Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 10/29] i40e/base: fix up recent proxy and wol bits for X722_SUPPORT Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 11/29] i40e/base: define function capabilities in only one place Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 12/29] i40e/base: Fix for PHY NVM interaction problem Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 13/29] i40e/base: set shared bit for multicast filters Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 14/29] i40e/base: add APIs to Add/remove port mirroring rules Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 15/29] i40e/base: add VEB stat control and remove L2 cloud filter Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 16/29] i40e/base: implement the API function for aq_set_switch_config Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 17/29] i40e/base: Add functions to blink led on Coppervale PHY Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 18/29] i40e/base: When in promisc mode apply promisc mode to Tx Traffic as well Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 19/29] i40e/base: Increase timeout when checking GLGEN_RSTAT_DEVSTATE bit Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 20/29] i40e/base: Save off VSI resource count when updating VSI Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 21/29] i40e/base: coding style fixes Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 22/29] i40e/base: use FW to read/write rx control registers Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 23/29] i40e/base: expose some registers to program parser, FD and RSS logic Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 24/29] i40e/base: Add a Virtchnl offload for RSS PCTYPE V2 Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 25/29] i40e/base: add AQ thermal sensor control struct Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 26/29] i40e/base: add/update structure and macro definitions Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 27/29] i40e: add base driver release info Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 28/29] i40e: add/remove new device IDs Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 29/29] i40e: use rx control function for rx control registers Helin Zhang
2016-01-15 10:48 ` [dpdk-dev] [PATCH 00/29] i40e base driver update Bruce Richardson
2016-01-17 13:43   ` Zhang, Helin
2016-02-14  1:57 ` Wu, Jingjing
2016-02-18  6:29 ` [dpdk-dev] [PATCH v2 00/30] " Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 01/30] i40e/base: use explicit cast from u16 to u8 Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 02/30] i40e/base: acquire NVM, before issuing an AQ read nvm command Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 03/30] i40e/base: add hw flag for SRCTL access using AQ for X722 Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 04/30] i40e/base: add changes in nvm read to support X722 Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 05/30] i40e/base: limit DCB FW version checks to XL710/X710 devices Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 06/30] i40e/base: check for stopped admin queue Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 07/30] i40e/base: set aq count after memory allocation Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 08/30] i40e/base: clean event descriptor before use Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 09/30] i40e/base: add new device IDs and delete deprecated one Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 10/30] i40e/base: fix up recent proxy and wol bits for X722_SUPPORT Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 11/30] i40e/base: define function capabilities in only one place Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 12/30] i40e/base: fix for PHY NVM interaction problem Helin Zhang
2016-02-18  6:30   ` Helin Zhang [this message]
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 14/30] i40e/base: add APIs to Add/remove port mirroring rules Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 15/30] i40e/base: add VEB stat control and remove L2 cloud filter Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 16/30] i40e/base: implement the API function for aq_set_switch_config Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 17/30] i40e/base: add functions to blink led on Coppervale PHY Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 18/30] i40e/base: apply promisc mode to Tx Traffic Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 19/30] i40e/base: increase timeout when checking GLGEN_RSTAT_DEVSTATE bit Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 20/30] i40e/base: save off VSI resource count when updating VSI Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 21/30] i40e/base: coding style fixes Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 22/30] i40e/base: use FW to read/write rx control registers Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 23/30] i40e/base: expose some registers to program parser, FD and RSS logic Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 24/30] i40e/base: add a Virtchnl offload for RSS PCTYPE V2 Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 25/30] i40e/base: add AQ thermal sensor control struct Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 26/30] i40e/base: add/update structure and macro definitions Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 27/30] i40e: add base driver release info Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 28/30] i40e: add/remove new device IDs Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 29/30] i40e: use rx control function for rx control registers Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 30/30] i40evf: use base driver defined interface Helin Zhang

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=1455777020-12095-14-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).