Message ID | 20241101-jk-ixgbevf-mailbox-v1-5-fixes-v1-1-f556dc9a66ed@intel.com |
---|---|
State | Under Review |
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; >
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;