> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of
> Jedrzej Jagielski
> Sent: Thursday, August 28, 2025 11:52 AM
> To: [email protected]
> Cc: Nguyen, Anthony L <[email protected]>;
> [email protected]; [email protected]; Jagielski, Jedrzej
> <[email protected]>; Keller, Jacob E <[email protected]>;
> Kitszel, Przemyslaw <[email protected]>; Loktionov, Aleksandr
> <[email protected]>
> Subject: [Intel-wired-lan] [PATCH iwl-net v1 3/4] ixgbevf: fix mailbox API
> compatibility by negotiating supported features
> 
> There was backward compatibility in the terms of mailbox API. Various drivers
> from various OSes supporting 10G adapters from Intel portfolio could easily
> negotiate mailbox API.
> 
> This convention has been broken since introducing API 1.4.
> Commit 0062e7cc955e ("ixgbevf: add VF IPsec offload code") added support
> for IPSec which is specific only for the kernel ixgbe driver. None of the 
> rest of
> the Intel 10G PF/VF drivers supports it. And actually lack of support was not
> included in the IPSec implementation - there were no such code paths. No
> possibility to negotiate support for the feature was introduced along with
> introduction of the feature itself.
> 
> Commit 339f28964147 ("ixgbevf: Add support for new mailbox
> communication between PF and VF") increasing API version to 1.5 did the
> same - it introduced code supported specifically by the PF ESX driver. It 
> altered
> API version for the VF driver in the same time not touching the version 
> defined
> for the PF ixgbe driver. It led to additional discrepancies, as the code 
> provided
> within API 1.6 cannot be supported for Linux ixgbe driver as it causes 
> crashes.
> 
> The issue was noticed some time ago and mitigated by Jake within the commit
> d0725312adf5 ("ixgbevf: stop attempting IPSEC offload on Mailbox API 1.5").
> As a result we have regression for IPsec support and after increasing API to
> version 1.6 ixgbevf driver stopped to support ESX MBX.
> 
> To fix this mess add new mailbox op asking PF driver about supported
> features. Basing on a response determine whether to set support for IPSec and
> ESX-specific enhanced mailbox.
> 
> New mailbox op, for compatibility purposes, must be added within new API
> revision, as API version of OOT PF & VF drivers is already increased to
> 1.6 and doesn't incorporate features negotiate op.
> 
> Features negotiation mechanism gives possibility to be extended with new
> features when needed in the future.
> 
> Reported-by: Jacob Keller <[email protected]>
> Fixes: 0062e7cc955e ("ixgbevf: add VF IPsec offload code")
> Fixes: 339f28964147 ("ixgbevf: Add support for new mailbox communication
> between PF and VF")
> Reviewed-by: Jacob Keller <[email protected]>
> Reviewed-by: Przemek Kitszel <[email protected]>
> Reviewed-by: Aleksandr Loktionov <[email protected]>
> Cc: [email protected]
> Signed-off-by: Jedrzej Jagielski <[email protected]>
> ---
>  drivers/net/ethernet/intel/ixgbevf/ipsec.c    | 10 +++++
>  drivers/net/ethernet/intel/ixgbevf/ixgbevf.h  |  7 +++
> .../net/ethernet/intel/ixgbevf/ixgbevf_main.c | 32 ++++++++++++-
>  drivers/net/ethernet/intel/ixgbevf/mbx.h      |  4 ++
>  drivers/net/ethernet/intel/ixgbevf/vf.c       | 45 ++++++++++++++++++-
>  drivers/net/ethernet/intel/ixgbevf/vf.h       |  1 +
>  6 files changed, 96 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/ixgbevf/ipsec.c
> b/drivers/net/ethernet/intel/ixgbevf/ipsec.c
> index 65580b9cb06f..fce35924ff8b 100644
> --- a/drivers/net/ethernet/intel/ixgbevf/ipsec.c
> +++ b/drivers/net/ethernet/intel/ixgbevf/ipsec.c
> @@ -273,6 +273,9 @@ static int ixgbevf_ipsec_add_sa(struct net_device

Tested-by: Rafal Romanowski <[email protected]>


Reply via email to