From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steffen Klassert Subject: [PATCH RFC v2 0/5] Support asynchronous crypto for IPsec GSO. Date: Fri, 15 Dec 2017 10:13:03 +0100 Message-ID: <20171215091308.23626-1-steffen.klassert@secunet.com> Mime-Version: 1.0 Content-Type: text/plain Cc: Steffen Klassert To: Return-path: Received: from a.mx.secunet.com ([62.96.220.36]:43522 "EHLO a.mx.secunet.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754516AbdLOJNT (ORCPT ); Fri, 15 Dec 2017 04:13:19 -0500 Received: from localhost (localhost [127.0.0.1]) by a.mx.secunet.com (Postfix) with ESMTP id B5EFF201E9 for ; Fri, 15 Dec 2017 10:13:18 +0100 (CET) Received: from a.mx.secunet.com ([127.0.0.1]) by localhost (a.mx.secunet.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WYOP3Bu_QY6l for ; Fri, 15 Dec 2017 10:13:18 +0100 (CET) Received: from mail-essen-01.secunet.de (mail-essen-01.secunet.de [10.53.40.204]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a.mx.secunet.com (Postfix) with ESMTPS id 56DDF200A0 for ; Fri, 15 Dec 2017 10:13:18 +0100 (CET) Sender: netdev-owner@vger.kernel.org List-ID: This patchset implements asynchronous crypto handling in the layer 2 TX path. With this we can allow IPsec ESP GSO for software crypto. This also merges the IPsec GSO and non-GSO paths to both use validate_xmit_xfrm(). 1) Separate ESP handling from segmentation for GRO packets. This unifies the IPsec GSO and non GSO codepath. 2) Add asynchronous callbacks for xfrm on layer 2. This adds the necessary infrastructure to core networking. 3) Allow to use the layer2 IPsec GSO codepath for software crypto, all infrastructure is there now. 4) Also allow IPsec GSO with software crypto for local sockets. 5) Don't require synchronous crypto fallback on IPsec offloading, it is not needed anymore. I plan to merge this to ipsec-next during this development cycle. Changes from v1: - Resolve conflicts with the lockless qdisc patchset. - Fix compilation error when CONFIG_XFRM is not set. - Order local local variables of new functions in reverse christmas tree ordering.