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 |
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; >
> -----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 --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;