xfrm: Allow to use the layer2 IPsec GSO codepath for software crypto.
authorSteffen Klassert <steffen.klassert@secunet.com>
Wed, 20 Dec 2017 09:41:42 +0000 (10:41 +0100)
committerSteffen Klassert <steffen.klassert@secunet.com>
Wed, 20 Dec 2017 09:41:42 +0000 (10:41 +0100)
We now have support for asynchronous crypto operations in the layer 2 TX
path. This was the missing part to allow the GSO codepath for software
crypto, so allow this codepath now.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/xfrm/xfrm_device.c

index fc8ab9f71127d34ed45ebb99686f50e51dae2e1a..20a96181867a8f77749e34d74cc2a6035a874eea 100644 (file)
@@ -202,8 +202,8 @@ bool xfrm_dev_offload_ok(struct sk_buff *skb, struct xfrm_state *x)
        if (!x->type_offload || x->encap)
                return false;
 
-       if ((x->xso.offload_handle && (dev == xfrm_dst_path(dst)->dev)) &&
-            !xdst->child->xfrm && x->type->get_mtu) {
+       if ((!dev || (x->xso.offload_handle && (dev == xfrm_dst_path(dst)->dev))) &&
+            (!xdst->child->xfrm && x->type->get_mtu)) {
                mtu = x->type->get_mtu(x, xdst->child_mtu_cached);
 
                if (skb->len <= mtu)