[Intel-wired-lan] [PATCH Linux-6.8-rc5 1/1] ixgbevf: start negotiate with api version 1.4
yifei.l.liu at oracle.com
yifei.l.liu at oracle.com
Tue Mar 12 00:22:36 UTC 2024
> Hi Paul,
> I apologize for possible html text in the previous email. I cleared
> the format and resend them as plain text.
> Thank you.
> Yifei
>
> From: Yifei Liu <yifei.l.liu at oracle.com>
> Sent: Monday, March 4, 2024 1:48 PM
> To: Paul Menzel <pmenzel at molgen.mpg.de>
> Cc: jesse.brandeburg at intel.com <jesse.brandeburg at intel.com>;
> anthony.l.nguyen at intel.com <anthony.l.nguyen at intel.com>;
> davem at davemloft.net <davem at davemloft.net>; edumazet at google.com
> <edumazet at google.com>; kuba at kernel.org <kuba at kernel.org>;
> pabeni at redhat.com <pabeni at redhat.com>; lihong.yang at intel.com
> <lihong.yang at intel.com>; Harshit Mogalapalli
> <harshit.m.mogalapalli at oracle.com>; linux-kernel at vger.kernel.org
> <linux-kernel at vger.kernel.org>; intel-wired-lan at lists.osuosl.org
> <intel-wired-lan at lists.osuosl.org>; Jack Vogel
> <jack.vogel at oracle.com>; netdev at vger.kernel.org
> <netdev at vger.kernel.org>; Ramanan Govindarajan
> <ramanan.govindarajan at oracle.com>
> Subject: Re: [Intel-wired-lan] [PATCH Linux-6.8-rc5 1/1] ixgbevf:
> start negotiate with api version 1.4
> Hi Paul
> Thank you for your replay. Please see inline.
> From: Paul Menzel <pmenzel at molgen.mpg.de>
> Date: Saturday, March 2, 2024 at 12:20 AM
> To: Yifei Liu <yifei.l.liu at oracle.com>
> Cc: jesse.brandeburg at intel.com <jesse.brandeburg at intel.com>,
> anthony.l.nguyen at intel.com <anthony.l.nguyen at intel.com>,
> davem at davemloft.net <davem at davemloft.net>, edumazet at google.com
> <edumazet at google.com>, kuba at kernel.org <kuba at kernel.org>,
> pabeni at redhat.com <pabeni at redhat.com>, lihong.yang at intel.com
> <lihong.yang at intel.com>, Harshit Mogalapalli
> <harshit.m.mogalapalli at oracle.com>, linux-kernel at vger.kernel.org
> <linux-kernel at vger.kernel.org>, intel-wired-lan at lists.osuosl.org
> <intel-wired-lan at lists.osuosl.org>, Jack Vogel
> <jack.vogel at oracle.com>, netdev at vger.kernel.org
> <netdev at vger.kernel.org>, Ramanan Govindarajan
> <ramanan.govindarajan at oracle.com>
> Subject: Re: [Intel-wired-lan] [PATCH Linux-6.8-rc5 1/1] ixgbevf:
> start negotiate with api version 1.4
> Dear Yifei,
>
>
> Thank you very much for your patch.
>
> Am 02.03.24 um 00:58 schrieb Yifei Liu:
> > ixgbevf updates to api version to 1.5 via
> > commit 339f28964147d ("ixgbevf: Add support for new mailbox
> > communication between PF and VF")
> > while the pf side is not updated to 1.5 properly. It will lead to a
> > failure of negotiation of api version 1.5 This commit will enforce
> > the negotiation to start with 1.4 which is working fine.
> >
> > Normally the pf and vf side should be updated together. Example:
> > commit adef9a26d6c39 ("ixgbevf: add defines for IPsec offload
> request")
> > commit 7269824046376 ("ixgbe: add VF IPsec offload request
> message handling")
>
> Why can’t the PF side not be updated to version 1.5 too?
>
> I tried to add the new api version to the switch in pf side. However,
> that would lead to another issue. Function ixgbe_read_mbx_pf() returns
> an error code -100, which should be IXGBE_ERR_MBX. The root cause of
> this is function ixgbe_obtain_mbx_lock_pf returns that error code. It
> is likely to be a hardware issue communicating with the Ethernet card
> (IXGBE_READ_REG returns a failure)
>
> If you don’t mind, I’d format the commit message like below.
>
> Sure thanks
>
> Commit 339f28964147d ("ixgbevf: Add support for new mailbox communication
> between PF and VF") updates the driver ixgbevf to API version 1.5
> while the
> pf side is not updated to 1.5 properly. This leads to a negotiation
> failure
> of api version 1.5. So, enforce the negotiation to start with 1.4 which is
> working fine.
>
> Normally the pf and vf side should be updated together. Example:
>
> 1. commit adef9a26d6c39 ("ixgbevf: add defines for IPsec offload
> request")
> 2. commit 7269824046376 ("ixgbe: add VF IPsec offload request message
> handling")
>
> > Reported-by: Manjunatha Gowda <manjunatha.gowda at oracle.com>
> > Signed-off-by: Yifei Liu <yifei.l.liu at oracle.com>
> > Reviewed-by: Jack Vogel <jack.vogel at oracle.com>
>
> Please add a Fixes: tag.
>
> Fixes: 39f28964147d ("ixgbevf: Add support for new mailbox communication
> between PF and VF")
>
> Sure. Do I need to resend the patch with the fixes tag and new commit
> message?
>
> Unfortunately, I am unable to find this commit hash. What archive/tree
> is it from?
> The commit message is 339f28964147d. It seems you missed the one of
> the double 3 at the very beginning. It is in linux-stable from Linux
> 5.17.y
>
> > ---
> > drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> > index a44e4bd56142..a1b9b789d1d4 100644
> > --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> > +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> > @@ -2286,6 +2286,12 @@ static void ixgbevf_negotiate_api(struct
> ixgbevf_adapter *adapter)
> >
> > spin_lock_bh(&adapter->mbx_lock);
> >
> > + /* There is no corresponding drivers in pf for
> > + * api version 1.5. Try to negociate with version
>
> negotiate
>
> > + * 1.5 will always fail. Start to negociate with
> > + * version 1.4.
>
> Could you please use the fully allowed line length, so less lines are
> used?
>
> > + */
> > + idx = 1; > while (api[idx] != ixgbe_mbox_api_unknown) {
> > err = hw->mac.ops.negotiate_api_version(hw, api[idx]);
> > if (!err)
>
> Where is `idx` set before?
>
> idx was 0 before in line 2285.
> int err, idx = 0;
>
> Unrelated to the problem at hand, but enums or macros should be used for
> the API version.
>
> I agree. But for this case, there is an integer array defined before
> with a reversed sequence of the api version enum. (the desired attempt
> sequence is from newest to oldest) It may be more readable to use
> index of the api array. (e.g. api[0] means ixgbe_mbox_api_15, which is
> enum 6)
> FYI, the api array starting from line 2276 in
> /drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> static const int api[] = {
> ixgbe_mbox_api_15,
> ixgbe_mbox_api_14,
> ixgbe_mbox_api_13,
> ixgbe_mbox_api_12,
> ixgbe_mbox_api_11,
> ixgbe_mbox_api_10,
> ixgbe_mbox_api_unknown
> };
>
>
> Kind regards,
>
> Paul
> Thank you again.
> Yifei
More information about the Intel-wired-lan
mailing list