DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Wang, Xiao W" <xiao.w.wang@intel.com>
To: "Yigit, Ferruh" <ferruh.yigit@intel.com>,
	"Lu, Wenzhuo" <wenzhuo.lu@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH 05/39] net/ixgbe/base: support VF multicast promiscuous
Date: Fri, 23 Sep 2016 03:35:44 +0000	[thread overview]
Message-ID: <B7F2E978279D1D49A3034B7786DACF406C21F96D@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <293acea6-24df-690c-78fe-f5b4cb5b913c@intel.com>

Hi Ferruh,

> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Tuesday, September 20, 2016 1:06 AM
> To: Wang, Xiao W <xiao.w.wang@intel.com>; Lu, Wenzhuo
> <wenzhuo.lu@intel.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH 05/39] net/ixgbe/base: support VF multicast
> promiscuous
> 
> On 8/27/2016 4:47 PM, Xiao Wang wrote:
> > Currently, VF is limited to 30 multicast addresses. In order to
> > accommodate more addresses, this patch adds support for VF multicast
> > promiscuous.
> 
> It looks like functionality not changed, just
> ixgbevf_update_xcast_mode() moved to ixgbe_mac_operations struct.
> 
> Is 30 multicast address limitation remains with this patch?
> 

You're right, we have supported this feature in ixgbe_ethdev.c before, now shared
code supports it, so it looks like just a function movement patch.
I will rewrite the commit log to avoid misunderstanding.

> >
> > Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
> > ---
> >  drivers/net/ixgbe/base/ixgbe_mbx.h  |  2 +-
> >  drivers/net/ixgbe/base/ixgbe_type.h |  1 +
> >  drivers/net/ixgbe/base/ixgbe_vf.c   | 38
> ++++++++++++++++++++++++++++++++
> >  drivers/net/ixgbe/base/ixgbe_vf.h   |  1 +
> >  drivers/net/ixgbe/ixgbe_ethdev.c    | 43 ++-----------------------------------
> >  5 files changed, 43 insertions(+), 42 deletions(-)
> >
> > diff --git a/drivers/net/ixgbe/base/ixgbe_mbx.h
> b/drivers/net/ixgbe/base/ixgbe_mbx.h
> > index d775142..c3e301f 100644
> > --- a/drivers/net/ixgbe/base/ixgbe_mbx.h
> > +++ b/drivers/net/ixgbe/base/ixgbe_mbx.h
> > @@ -111,7 +111,7 @@ enum ixgbe_pfvf_api_rev {
> >  /* mailbox API, version 1.2 VF requests */
> >  #define IXGBE_VF_GET_RETA		0x0a /* VF request for RETA */
> >  #define IXGBE_VF_GET_RSS_KEY		0x0b /* get RSS key */
> > -#define IXGBE_VF_UPDATE_XCAST_MODE	0x0C
> > +#define IXGBE_VF_UPDATE_XCAST_MODE	0x0c
> >
> >  /* GET_QUEUES return data indices within the mailbox */
> >  #define IXGBE_VF_TX_QUEUES	1	/* number of Tx queues
> supported */
> > diff --git a/drivers/net/ixgbe/base/ixgbe_type.h
> b/drivers/net/ixgbe/base/ixgbe_type.h
> > index b2fdfcd..96b5cbd 100644
> > --- a/drivers/net/ixgbe/base/ixgbe_type.h
> > +++ b/drivers/net/ixgbe/base/ixgbe_type.h
> > @@ -3883,6 +3883,7 @@ struct ixgbe_mac_operations {
> >  	s32 (*init_uta_tables)(struct ixgbe_hw *);
> >  	void (*set_mac_anti_spoofing)(struct ixgbe_hw *, bool, int);
> >  	void (*set_vlan_anti_spoofing)(struct ixgbe_hw *, bool, int);
> > +	s32 (*update_xcast_mode)(struct ixgbe_hw *, int);
> >
> >  	/* Flow Control */
> >  	s32 (*fc_enable)(struct ixgbe_hw *);
> > diff --git a/drivers/net/ixgbe/base/ixgbe_vf.c
> b/drivers/net/ixgbe/base/ixgbe_vf.c
> > index a75074a..20a739c 100644
> > --- a/drivers/net/ixgbe/base/ixgbe_vf.c
> > +++ b/drivers/net/ixgbe/base/ixgbe_vf.c
> > @@ -75,6 +75,7 @@ s32 ixgbe_init_ops_vf(struct ixgbe_hw *hw)
> >  	hw->mac.ops.set_uc_addr = ixgbevf_set_uc_addr_vf;
> >  	hw->mac.ops.init_rx_addrs = NULL;
> >  	hw->mac.ops.update_mc_addr_list = ixgbe_update_mc_addr_list_vf;
> > +	hw->mac.ops.update_xcast_mode = ixgbevf_update_xcast_mode;
> >  	hw->mac.ops.enable_mc = NULL;
> >  	hw->mac.ops.disable_mc = NULL;
> >  	hw->mac.ops.clear_vfta = NULL;
> > @@ -419,6 +420,43 @@ s32 ixgbe_update_mc_addr_list_vf(struct ixgbe_hw
> *hw, u8 *mc_addr_list,
> >  }
> >
> >  /**
> > + *  ixgbevf_update_xcast_mode - Update Multicast mode
> > + *  @hw: pointer to the HW structure
> > + *  @xcast_mode: new multicast mode
> > + *
> > + *  Updates the Multicast Mode of VF.
> > + **/
> > +s32 ixgbevf_update_xcast_mode(struct ixgbe_hw *hw, int xcast_mode)
> > +{
> > +	struct ixgbe_mbx_info *mbx = &hw->mbx;
> > +	u32 msgbuf[2];
> > +	s32 err;
> > +
> > +	switch (hw->api_version) {
> > +	case ixgbe_mbox_api_12:
> > +		break;
> > +	default:
> > +		return IXGBE_ERR_FEATURE_NOT_SUPPORTED;
> > +	}
> > +
> > +	msgbuf[0] = IXGBE_VF_UPDATE_XCAST_MODE;
> > +	msgbuf[1] = xcast_mode;
> > +
> > +	err = mbx->ops.write_posted(hw, msgbuf, 2, 0);
> > +	if (err)
> > +		return err;
> > +
> > +	err = mbx->ops.read_posted(hw, msgbuf, 2, 0);
> > +	if (err)
> > +		return err;
> > +
> > +	msgbuf[0] &= ~IXGBE_VT_MSGTYPE_CTS;
> > +	if (msgbuf[0] == (IXGBE_VF_UPDATE_XCAST_MODE |
> IXGBE_VT_MSGTYPE_NACK))
> 
> What if other flags set in msgbuf[0]
> Please check 18/39 patch, which fixes something similar to this
> 

This condition should be as (msgbuf[0] == original value of msgbuf[0] | NACK ),
It's what the 18/39 patch fixes. No such issue for this function.

Thanks,
Xiao
> 
> > +		return IXGBE_ERR_FEATURE_NOT_SUPPORTED;
> > +	return IXGBE_SUCCESS;
> > +}
> > +

  reply	other threads:[~2016-09-23  3:35 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-27 15:47 [dpdk-dev] [PATCH 00/39] net/ixgbe: base code update Xiao Wang
2016-08-27 15:47 ` [dpdk-dev] [PATCH 01/39] net/ixgbe/base: fix delta check for setting VFTA Xiao Wang
2016-09-19 17:00   ` Ferruh Yigit
2016-09-22 15:58     ` Wang, Xiao W
2016-09-25  8:59   ` [dpdk-dev] [PATCH v2 00/40] net/ixgbe: base code update Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 01/40] net/ixgbe/base: fix delta check for setting VFTA Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 02/40] net/ixgbe/base: remove X550em SFP iXFI setup Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 03/40] net/ixgbe/base: change endianness of PHY data Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 04/40] net/ixgbe/base: add X550em_a 10G PHY support Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 05/40] net/ixgbe/base: move vf_update_xcast_mode to base code Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 06/40] net/ixgbe/base: introduce new ops init functions Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 07/40] net/ixgbe/base: separate PHY probe code Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 08/40] net/ixgbe/base: fully initialize X550em_a 1G PHYs Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 09/40] net/ixgbe/base: add macros for VF promiscuous mode Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 10/40] net/ixgbe/base: add FC setup for X550em_a fiber Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 11/40] net/ixgbe/base: add FC autoneg " Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 12/40] net/ixgbe/base: clear page register in error path Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 13/40] net/ixgbe/base: configure DMAC for 10Mb operation Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 14/40] net/ixgbe/base: fix function comments about X550 Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 15/40] net/ixgbe/base: report setting LPE register error Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 16/40] net/ixgbe/base: bump mailbox version Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 17/40] net/ixgbe/base: access IOSF by host interface Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 18/40] net/ixgbe/base: fix check on NACK Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 19/40] net/ixgbe/base: define X550 PCIe serial MAC addr Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 20/40] net/ixgbe/base: bypass checking link for crosstalk Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 21/40] net/ixgbe/base: support X550em_a SGMII FC autoneg Xiao Wang
2016-09-25  8:59     ` [dpdk-dev] [PATCH v2 22/40] net/ixgbe/base: add macros for GENEVE UDP port Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 23/40] net/ixgbe/base: add bound check in LED functions Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 24/40] net/ixgbe/base: use default check link function Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 25/40] net/ixgbe/base: set default autoneg speed at reset Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 26/40] net/ixgbe/base: add missing FDIRSCTPM mask setting Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 27/40] net/ixgbe/base: commonize mailbox write and read Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 28/40] net/ixgbe/base: reduce delay for SWFW semaphore Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 29/40] net/ixgbe/base: report autoneg supported for X550 Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 30/40] net/ixgbe/base: remove X550em_a 100Mbps support Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 31/40] net/ixgbe/base: unify link speed value Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 32/40] net/ixgbe/base: separate ops init from PHY init Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 33/40] net/ixgbe/base: add X550em_a FW ALEF support Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 34/40] net/ixgbe/base: add two MAC ops for Hyper-V Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 35/40] net/ixgbe/base: hold semaphore for shadow RAM access Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 36/40] net/ixgbe/base: update X550em_a backplane speed Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 37/40] net/ixgbe/base: clean code of flow control autoneg Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 38/40] net/ixgbe/base: do not skip PHY configuration Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 39/40] net/ixgbe/base: clean up Xiao Wang
2016-09-25  9:00     ` [dpdk-dev] [PATCH v2 40/40] net/ixgbe/base: add base driver update brief Xiao Wang
2016-09-26  2:06     ` [dpdk-dev] [PATCH v2 00/40] net/ixgbe: base code update Lu, Wenzhuo
2016-09-28 15:31       ` Bruce Richardson
2016-08-27 15:47 ` [dpdk-dev] [PATCH 02/39] net/ixgbe/base: remove X550em SFP iXFI setup Xiao Wang
2016-09-19 17:01   ` Ferruh Yigit
2016-08-27 15:47 ` [dpdk-dev] [PATCH 03/39] net/ixgbe/base: change endianness of PHY data Xiao Wang
2016-09-19 17:01   ` Ferruh Yigit
2016-09-25  0:36     ` Wang, Xiao W
2016-08-27 15:47 ` [dpdk-dev] [PATCH 04/39] net/ixgbe/base: add X550em_a 10G PHY support Xiao Wang
2016-08-27 15:47 ` [dpdk-dev] [PATCH 05/39] net/ixgbe/base: support VF multicast promiscuous Xiao Wang
2016-09-19 17:05   ` Ferruh Yigit
2016-09-23  3:35     ` Wang, Xiao W [this message]
2016-08-27 15:47 ` [dpdk-dev] [PATCH 06/39] net/ixgbe/base: introduce new ops init functions Xiao Wang
2016-08-27 15:47 ` [dpdk-dev] [PATCH 07/39] net/ixgbe/base: separate PHY probe code Xiao Wang
2016-08-27 15:47 ` [dpdk-dev] [PATCH 08/39] net/ixgbe/base: fully initialize X550em_a 1G PHYs Xiao Wang
2016-08-27 15:47 ` [dpdk-dev] [PATCH 09/39] net/ixgbe/base: add macros for VF promiscuous mode Xiao Wang
2016-08-27 15:47 ` [dpdk-dev] [PATCH 10/39] net/ixgbe/base: add FC setup for X550em_a fiber Xiao Wang
2016-08-27 15:47 ` [dpdk-dev] [PATCH 11/39] net/ixgbe/base: add FC autoneg " Xiao Wang
2016-08-27 15:47 ` [dpdk-dev] [PATCH 12/39] net/ixgbe/base: clear page register in error path Xiao Wang
2016-08-27 15:47 ` [dpdk-dev] [PATCH 13/39] net/ixgbe/base: configure DMAC for 10Mb operation Xiao Wang
2016-08-27 15:47 ` [dpdk-dev] [PATCH 14/39] net/ixgbe/base: fix function comments about X550 Xiao Wang
2016-08-27 15:47 ` [dpdk-dev] [PATCH 15/39] net/ixgbe/base: report setting LPE register error Xiao Wang
2016-08-27 15:47 ` [dpdk-dev] [PATCH 16/39] net/ixgbe/base: bump mailbox version Xiao Wang
2016-09-19 17:03   ` Ferruh Yigit
2016-09-23  3:50     ` Wang, Xiao W
2016-08-27 15:48 ` [dpdk-dev] [PATCH 17/39] net/ixgbe/base: access IOSF by host interface Xiao Wang
2016-09-19 17:04   ` Ferruh Yigit
2016-09-23  5:16     ` Wang, Xiao W
2016-08-27 15:48 ` [dpdk-dev] [PATCH 18/39] net/ixgbe/base: fix check on NACK Xiao Wang
2016-09-19 17:07   ` Ferruh Yigit
2016-09-23  6:05     ` Wang, Xiao W
2016-08-27 15:48 ` [dpdk-dev] [PATCH 19/39] net/ixgbe/base: define X550 PCIe serial MAC addr Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 20/39] net/ixgbe/base: bypass checking link for crosstalk Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 21/39] net/ixgbe/base: support X550em_a SGMII FC autoneg Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 22/39] net/ixgbe/base: add macros for GENEVE UDP port Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 23/39] net/ixgbe/base: add bound check in LED functions Xiao Wang
2016-09-19 17:06   ` Ferruh Yigit
2016-09-22 16:08     ` Wang, Xiao W
2016-08-27 15:48 ` [dpdk-dev] [PATCH 24/39] net/ixgbe/base: use default check link function Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 25/39] net/ixgbe/base: set default autoneg speed at reset Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 26/39] net/ixgbe/base: add missing FDIRSCTPM mask setting Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 27/39] net/ixgbe/base: commonize mailbox write and read Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 28/39] net/ixgbe/base: reduce delay for SWFW semaphore Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 29/39] net/ixgbe/base: report autoneg supported for X550 Xiao Wang
2016-09-19 17:07   ` Ferruh Yigit
2016-09-23  0:59     ` Wang, Xiao W
2016-08-27 15:48 ` [dpdk-dev] [PATCH 30/39] net/ixgbe/base: remove X550em_a 100Mbps support Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 31/39] net/ixgbe/base: unify link speed value Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 32/39] net/ixgbe/base: separate ops init from PHY init Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 33/39] net/ixgbe/base: add X550em_a FW ALEF support Xiao Wang
2016-09-19 17:07   ` Ferruh Yigit
2016-09-22  2:56     ` Lu, Wenzhuo
2016-09-23  6:47       ` Wang, Xiao W
2016-08-27 15:48 ` [dpdk-dev] [PATCH 34/39] net/ixgbe/base: add two MAC ops for Hyper-V Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 35/39] net/ixgbe/base: hold semaphore for shadow RAM access Xiao Wang
2016-09-19 17:08   ` Ferruh Yigit
2016-09-23  8:06     ` Wang, Xiao W
2016-08-27 15:48 ` [dpdk-dev] [PATCH 36/39] net/ixgbe/base: update X550em_a backplane speed Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 37/39] net/ixgbe/base: clean code of flow control autoneg Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 38/39] net/ixgbe/base: do not skip PHY configuration Xiao Wang
2016-08-27 15:48 ` [dpdk-dev] [PATCH 39/39] net/ixgbe/base: add base driver update brief Xiao Wang
2016-09-19 17:08   ` Ferruh Yigit
2016-09-22  2:55     ` Lu, Wenzhuo

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=B7F2E978279D1D49A3034B7786DACF406C21F96D@SHSMSX101.ccr.corp.intel.com \
    --to=xiao.w.wang@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --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).