All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Zhang, RobinX" <robinx.zhang@intel.com>
To: Kevin Traynor <ktraynor@redhat.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "Xing, Beilei" <beilei.xing@intel.com>,
	"Guo, Junfeng" <junfeng.guo@intel.com>,
	"Yang, SteveX" <stevex.yang@intel.com>
Subject: Re: [dpdk-dev] [PATCH] net/i40e: fix remove MAC/VLAN addresses error
Date: Tue, 28 Sep 2021 10:36:15 +0000	[thread overview]
Message-ID: <BN9PR11MB552966F55D21478A3519A2AC9BA89@BN9PR11MB5529.namprd11.prod.outlook.com> (raw)
In-Reply-To: <fa9e5228-4a39-934a-de20-8aa45a9c7aaf@redhat.com>

Hi,

> -----Original Message-----
> From: Kevin Traynor <ktraynor@redhat.com>
> Sent: Tuesday, September 28, 2021 5:54 PM
> To: Zhang, RobinX <robinx.zhang@intel.com>; dev@dpdk.org
> Cc: Xing, Beilei <beilei.xing@intel.com>; Guo, Junfeng
> <junfeng.guo@intel.com>; Yang, SteveX <stevex.yang@intel.com>
> Subject: Re: [dpdk-dev] [PATCH] net/i40e: fix remove MAC/VLAN addresses
> error
> 
> On 28/09/2021 09:40, Robin Zhang wrote:
> > Firmware will return I40E_AQ_RC_ENOENT when try to delete non-
> existent
> > MAC/VLAN addresses from the HW filtering, this should not be
> > considered as an Admin Queue error. But in i40e_asq_send_command, it
> > will return I40E_ERR_ADMIN_QUEUE_ERROR if the return value of Admin
> > Queue command processed by Firmware is not I40E_AQ_RC_OK or
> I40E_AQ_RC_EBUSY.
> >
> > Use i40e_aq_remove_macvlan_v2 instead so that we can get the
> > corresponding Admin Queue status, and not report as an error in DPDK
> > when Firmware return I40E_AQ_RC_ENOENT.
> >
> > Fixes: 4861cde46116 ("i40e: new poll mode driver")
> >
> 
> Is it relevant to stable releases (20.11/19.11) with earlier firmware?
> https://git.dpdk.org/dpdk/tree/doc/guides/nics/i40e.rst#n101
> 

No, i40e_aq_remove_macvlan_v2 is added in latest i40e share code.
So this patch cannot cc stable either.

> > Signed-off-by: Robin Zhang <robinx.zhang@intel.com>
> > ---
> >   drivers/net/i40e/i40e_ethdev.c | 15 +++++++++++----
> >   1 file changed, 11 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/net/i40e/i40e_ethdev.c
> > b/drivers/net/i40e/i40e_ethdev.c index acbe7380b1..fdc9943034 100644
> > --- a/drivers/net/i40e/i40e_ethdev.c
> > +++ b/drivers/net/i40e/i40e_ethdev.c
> > @@ -7036,6 +7036,7 @@ i40e_remove_macvlan_filters(struct i40e_vsi *vsi,
> >   	int ret = I40E_SUCCESS;
> >   	struct i40e_hw *hw = I40E_VSI_TO_HW(vsi);
> >   	struct i40e_aqc_remove_macvlan_element_data *req_list;
> > +	enum i40e_admin_queue_err aq_status;
> >
> >   	if (filter == NULL  || total == 0)
> >   		return I40E_ERR_PARAM;
> > @@ -7083,11 +7084,17 @@ i40e_remove_macvlan_filters(struct i40e_vsi
> *vsi,
> >   			req_list[i].flags = rte_cpu_to_le_16(flags);
> >   		}
> >
> > -		ret = i40e_aq_remove_macvlan(hw, vsi->seid, req_list,
> > -						actual_num, NULL);
> > +		ret = i40e_aq_remove_macvlan_v2(hw, vsi->seid, req_list,
> > +						actual_num, NULL,
> &aq_status);
> > +
> >   		if (ret != I40E_SUCCESS) {
> > -			PMD_DRV_LOG(ERR, "Failed to remove macvlan
> filter");
> > -			goto DONE;
> > +			/* Do not report as an error when firmware returns
> ENOENT */
> > +			if (aq_status == I40E_AQ_RC_ENOENT) {
> > +				ret = I40E_SUCCESS;
> > +			} else {
> > +				PMD_DRV_LOG(ERR, "Failed to remove
> macvlan filter");
> > +				goto DONE;
> > +			}
> >   		}
> >   		num += actual_num;
> >   	} while (num < total);
> >


  reply	other threads:[~2021-09-28 10:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-28  8:40 [dpdk-dev] [PATCH] net/i40e: fix remove MAC/VLAN addresses error Robin Zhang
2021-09-28  9:53 ` Kevin Traynor
2021-09-28 10:36   ` Zhang, RobinX [this message]
2021-10-09  9:21     ` Zhang, Qi Z
2021-10-11  8:12 ` [dpdk-dev] [PATCH v2] net/i40e: upgrade AQ command of MAC/VLAN remove Robin Zhang
2021-10-13  2:21   ` Zhang, Qi Z

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=BN9PR11MB552966F55D21478A3519A2AC9BA89@BN9PR11MB5529.namprd11.prod.outlook.com \
    --to=robinx.zhang@intel.com \
    --cc=beilei.xing@intel.com \
    --cc=dev@dpdk.org \
    --cc=junfeng.guo@intel.com \
    --cc=ktraynor@redhat.com \
    --cc=stevex.yang@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.