Thread (9 messages) 9 messages, 2 authors, 2025-09-19

RE: [Intel-wired-lan] [PATCH iwl-net v1 3/4] ixgbevf: fix mailbox API compatibility by negotiating supported features

From: Romanowski, Rafal <hidden>
Date: 2025-09-19 08:16:10
Also in: intel-wired-lan, stable

quoted hunk ↗ jump to hunk
-----Original Message-----
From: Intel-wired-lan <redacted> On Behalf Of
Jedrzej Jagielski
Sent: Thursday, August 28, 2025 11:52 AM
To: intel-wired-lan@lists.osuosl.org
Cc: Nguyen, Anthony L <anthony.l.nguyen@intel.com>;
netdev@vger.kernel.org; stable@vger.kernel.org; Jagielski, Jedrzej
[off-list ref]; Keller, Jacob E [off-list ref];
Kitszel, Przemyslaw [off-list ref]; Loktionov, Aleksandr
[off-list ref]
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 <jacob.e.keller@intel.com>
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 <jacob.e.keller@intel.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: Aleksandr Loktionov <redacted>
Cc: stable@vger.kernel.org
Signed-off-by: Jedrzej Jagielski <redacted>
---
 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 <redacted>

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help