diff mbox series

[iwl-net,1/2] ixgbevf: stop attempting IPSEC offload on Mailbox API 1.5

Message ID 20241101-jk-ixgbevf-mailbox-v1-5-fixes-v1-1-f556dc9a66ed@intel.com
State Accepted
Delegated to: Anthony Nguyen
Headers show
Series ixgbe: fix incompatibility with Mailbox API v1.5 | expand

Commit Message

Keller, Jacob E Nov. 1, 2024, 11:05 p.m. UTC
Commit 339f28964147 ("ixgbevf: Add support for new mailbox communication
between PF and VF") added support for v1.5 of the PF to VF mailbox
communication API. This commit mistakenly enabled IPSEC offload for API
v1.5.

No implementation of the v1.5 API has support for IPSEC offload. This
offload is only supported by the Linux PF as mailbox API v1.4. In fact, the
v1.5 API is not implemented in any Linux PF.

Attempting to enable IPSEC offload on a PF which supports v1.5 API will not
work. Only the Linux upstream ixgbe and ixgbevf support IPSEC offload, and
only as part of the v1.4 API.

Fix the ixgbevf Linux driver to stop attempting IPSEC offload when
the mailbox API does not support it.

The existing API design choice makes it difficult to support future API
versions, as other non-Linux hosts do not implement IPSEC offload. If we
add support for v1.5 to the Linux PF, then we lose support for IPSEC
offload.

A full solution likely requires a new mailbox API with a proper negotiation
to check that IPSEC is actually supported by the host.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
---
 drivers/net/ethernet/intel/ixgbevf/ipsec.c | 1 -
 1 file changed, 1 deletion(-)

Comments

Keller, Jacob E Nov. 5, 2024, 10:41 p.m. UTC | #1
On 11/1/2024 4:05 PM, Jacob Keller wrote:
> Commit 339f28964147 ("ixgbevf: Add support for new mailbox communication
> between PF and VF") added support for v1.5 of the PF to VF mailbox
> communication API. This commit mistakenly enabled IPSEC offload for API
> v1.5.
> 
> No implementation of the v1.5 API has support for IPSEC offload. This
> offload is only supported by the Linux PF as mailbox API v1.4. In fact, the
> v1.5 API is not implemented in any Linux PF.
> 
> Attempting to enable IPSEC offload on a PF which supports v1.5 API will not
> work. Only the Linux upstream ixgbe and ixgbevf support IPSEC offload, and
> only as part of the v1.4 API.
> 
> Fix the ixgbevf Linux driver to stop attempting IPSEC offload when
> the mailbox API does not support it.
> 
> The existing API design choice makes it difficult to support future API
> versions, as other non-Linux hosts do not implement IPSEC offload. If we
> add support for v1.5 to the Linux PF, then we lose support for IPSEC
> offload.
> 
> A full solution likely requires a new mailbox API with a proper negotiation
> to check that IPSEC is actually supported by the host.
> 

Fixes: 339f28964147 ("ixgbevf: Add support for new mailbox communication
between PF and VF")

> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
> ---
>  drivers/net/ethernet/intel/ixgbevf/ipsec.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/intel/ixgbevf/ipsec.c b/drivers/net/ethernet/intel/ixgbevf/ipsec.c
> index 66cf17f19408..f804b35d79c7 100644
> --- a/drivers/net/ethernet/intel/ixgbevf/ipsec.c
> +++ b/drivers/net/ethernet/intel/ixgbevf/ipsec.c
> @@ -629,7 +629,6 @@ void ixgbevf_init_ipsec_offload(struct ixgbevf_adapter *adapter)
>  
>  	switch (adapter->hw.api_version) {
>  	case ixgbe_mbox_api_14:
> -	case ixgbe_mbox_api_15:
>  		break;
>  	default:
>  		return;
>
Romanowski, Rafal Nov. 14, 2024, 10:30 a.m. UTC | #2
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Jacob
> Keller
> Sent: Tuesday, November 5, 2024 11:42 PM
> To: Intel Wired LAN <intel-wired-lan@lists.osuosl.org>
> Cc: Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com>
> Subject: Re: [Intel-wired-lan] [PATCH iwl-net 1/2] ixgbevf: stop attempting IPSEC
> offload on Mailbox API 1.5
> 
> 
> 
> On 11/1/2024 4:05 PM, Jacob Keller wrote:
> > Commit 339f28964147 ("ixgbevf: Add support for new mailbox
> > communication between PF and VF") added support for v1.5 of the PF to
> > VF mailbox communication API. This commit mistakenly enabled IPSEC
> > offload for API v1.5.
> >
> > No implementation of the v1.5 API has support for IPSEC offload. This
> > offload is only supported by the Linux PF as mailbox API v1.4. In
> > fact, the
> > v1.5 API is not implemented in any Linux PF.
> >
> > Attempting to enable IPSEC offload on a PF which supports v1.5 API
> > will not work. Only the Linux upstream ixgbe and ixgbevf support IPSEC
> > offload, and only as part of the v1.4 API.
> >
> > Fix the ixgbevf Linux driver to stop attempting IPSEC offload when the
> > mailbox API does not support it.
> >
> > The existing API design choice makes it difficult to support future
> > API versions, as other non-Linux hosts do not implement IPSEC offload.
> > If we add support for v1.5 to the Linux PF, then we lose support for
> > IPSEC offload.
> >
> > A full solution likely requires a new mailbox API with a proper
> > negotiation to check that IPSEC is actually supported by the host.
> >
> 
> Fixes: 339f28964147 ("ixgbevf: Add support for new mailbox communication
> between PF and VF")
> 
> > Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
> > ---
> >  drivers/net/ethernet/intel/ixgbevf/ipsec.c | 1 -
> >  1 file changed, 1 deletion(-)
> >
> > diff --git a/drivers/net/ethernet/intel/ixgbevf/ipsec.c
> > b/drivers/net/ethernet/intel/ixgbevf/ipsec.c
> > index 66cf17f19408..f804b35d79c7 100644
> > --- a/drivers/net/ethernet/intel/ixgbevf/ipsec.c
> > +++ b/drivers/net/ethernet/intel/ixgbevf/ipsec.c
> > @@ -629,7 +629,6 @@ void ixgbevf_init_ipsec_offload(struct


Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
diff mbox series

Patch

diff --git a/drivers/net/ethernet/intel/ixgbevf/ipsec.c b/drivers/net/ethernet/intel/ixgbevf/ipsec.c
index 66cf17f19408..f804b35d79c7 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ipsec.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ipsec.c
@@ -629,7 +629,6 @@  void ixgbevf_init_ipsec_offload(struct ixgbevf_adapter *adapter)
 
 	switch (adapter->hw.api_version) {
 	case ixgbe_mbox_api_14:
-	case ixgbe_mbox_api_15:
 		break;
 	default:
 		return;