summary refs log tree commit diff
path: root/Documentation/networking
diff options
context:
space:
mode:
authorShannon Nelson <shannon.nelson@oracle.com>2018-08-22 14:38:10 -0700
committerSteffen Klassert <steffen.klassert@secunet.com>2018-08-29 08:04:44 +0200
commit4a132095dd64fefabdc5dad1cd9e9809b126e582 (patch)
treedfda8c43c591cd8266a5a3e0f0ace7dc513f1ef3 /Documentation/networking
parent0c05f98376678098e9a4a8bc06839797ea3ee942 (diff)
downloadlinux-4a132095dd64fefabdc5dad1cd9e9809b126e582.tar.gz
xfrm: allow driver to quietly refuse offload
If the "offload" attribute is used to create an IPsec SA
and the .xdo_dev_state_add() fails, the SA creation fails.
However, if the "offload" attribute is used on a device that
doesn't offer it, the attribute is quietly ignored and the SA
is created without an offload.

Along the same line of that second case, it would be good to
have a way for the device to refuse to offload an SA without
failing the whole SA creation.  This patch adds that feature
by allowing the driver to return -EOPNOTSUPP as a signal that
the SA may be fine, it just can't be offloaded.

This allows the user a little more flexibility in requesting
offloads and not needing to know every detail at all times about
each specific NIC when trying to create SAs.

Signed-off-by: Shannon Nelson <shannon.nelson@oracle.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Diffstat (limited to 'Documentation/networking')
-rw-r--r--Documentation/networking/xfrm_device.txt4
1 files changed, 4 insertions, 0 deletions
diff --git a/Documentation/networking/xfrm_device.txt b/Documentation/networking/xfrm_device.txt
index 50c34ca65efe..267f55b5f54a 100644
--- a/Documentation/networking/xfrm_device.txt
+++ b/Documentation/networking/xfrm_device.txt
@@ -68,6 +68,10 @@ and an indication of whether it is for Rx or Tx.  The driver should
 	- verify the algorithm is supported for offloads
 	- store the SA information (key, salt, target-ip, protocol, etc)
 	- enable the HW offload of the SA
+	- return status value:
+		0             success
+		-EOPNETSUPP   offload not supported, try SW IPsec
+		other         fail the request
 
 The driver can also set an offload_handle in the SA, an opaque void pointer
 that can be used to convey context into the fast-path offload requests.