From owner-freebsd-net@freebsd.org Thu Nov 7 16:06:43 2019 Return-Path: Delivered-To: freebsd-net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3DED91B8914 for ; Thu, 7 Nov 2019 16:06:43 +0000 (UTC) (envelope-from damien.deville@stormshield.eu) Received: from work.stormshield.eu (gwlille.netasq.com [91.212.116.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4787Z96vpsz3Nv8; Thu, 7 Nov 2019 16:06:41 +0000 (UTC) (envelope-from damien.deville@stormshield.eu) Received: from work.stormshield.eu (localhost.localdomain [127.0.0.1]) by work.stormshield.eu (Postfix) with ESMTPS id 2F5653B0B6A2; Thu, 7 Nov 2019 17:06:24 +0100 (CET) Received: from localhost (localhost.localdomain [127.0.0.1]) by work.stormshield.eu (Postfix) with ESMTP id 1386E3B0D70B; Thu, 7 Nov 2019 17:06:24 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.10.3 work.stormshield.eu 1386E3B0D70B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stormshield.eu; s=BBC9ECEA-016A-11EA-9CC1-8A393C11FBBB; t=1573142784; bh=UTEaUeambWgx924gHRF69T7tLmkCqvoyScllVGb1TxI=; h=Date:From:To:Message-ID:MIME-Version; b=VJrgbTK54WQaYPFVfjR3NIPR/nf42OeK6FoNGlU65tqqhkbZyqMbPHQtDlSg6ycpq jGdLoYxqdF6WivmB+7knuJdkkvRsitQJrv1JVg13p2QWWbVQJmr0uiy7z2lbdBUuwQ cb4K5JlsJJZZ+eBnKq4pDBAKF3ZtBj5M00RdvVu55fXBWoBBQsUNsPRsIe5AtdJ2HH +ZEJF6ZrqzFe3g7QSH1LXaCMp1C7ZywAkWPzPQ+6kbkWccEOXhtZDLOTrEa/y2g2UC S/yvK7LBTgiGcVfU60d9zGTwo9lFP6Us41FAjqOfCo8nvSgt5QKclARtAw5X8/uAEE Bo2OtrJM+Vmog== Received: from work.stormshield.eu ([127.0.0.1]) by localhost (work.stormshield.eu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id LMTRDYCk_Mg5; Thu, 7 Nov 2019 17:06:24 +0100 (CET) Received: from work.stormshield.eu (localhost.localdomain [127.0.0.1]) by work.stormshield.eu (Postfix) with ESMTP id EB35B3B0B6A2; Thu, 7 Nov 2019 17:06:23 +0100 (CET) Date: Thu, 7 Nov 2019 17:06:23 +0100 (CET) From: Damien DEVILLE To: Santiago Martinez Cc: Kurt Jaeger , Lawrence Stewart , olivier , Eugene Grosbein , freebsd-net Message-ID: <2101535259.3199309.1573142783905.JavaMail.zimbra@stormshield.eu> In-Reply-To: References: <20191104194637.GA71627@home.opsec.eu> <261b842d-51eb-4522-6ef5-0672e5d1594e@grosbein.net> <20191107073255.GU8521@funkthat.com> <54db0c82-ad44-13ed-8e1f-702557f331e5@grosbein.net> <972466586.1921723.1573120331472.JavaMail.zimbra@stormshield.eu> <20191107104128.GI1203@fc.opsec.eu> Subject: Re: 10g IPsec ? MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Thread-Topic: 10g IPsec ? Thread-Index: Gc999PvklAuWqmx2oDP/H0FGEpSJdw== X-Rspamd-Queue-Id: 4787Z96vpsz3Nv8 X-Spamd-Bar: + Authentication-Results: mx1.freebsd.org; dkim=pass header.d=stormshield.eu header.s=BBC9ECEA-016A-11EA-9CC1-8A393C11FBBB header.b=VJrgbTK5; dmarc=none; spf=pass (mx1.freebsd.org: domain of damien.deville@stormshield.eu designates 91.212.116.1 as permitted sender) smtp.mailfrom=damien.deville@stormshield.eu X-Spamd-Result: default: False [1.36 / 15.00]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[stormshield.eu:s=BBC9ECEA-016A-11EA-9CC1-8A393C11FBBB]; RCVD_COUNT_FIVE(0.00)[5]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:91.212.116.1]; NEURAL_HAM_LONG(-0.11)[-0.106,0]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[stormshield.eu]; NEURAL_SPAM_MEDIUM(0.45)[0.445,0]; RCPT_COUNT_FIVE(0.00)[6]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[stormshield.eu:+]; RCVD_IN_DNSWL_NONE(0.00)[1.116.212.91.list.dnswl.org : 127.0.10.0]; IP_SCORE(0.52)[ip: (1.37), ipnet: 91.212.116.0/24(0.68), asn: 49068(0.55), country: FR(-0.00)]; FROM_EQ_ENVFROM(0.00)[]; SUBJECT_ENDS_QUESTION(1.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:49068, ipnet:91.212.116.0/24, country:FR]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Nov 2019 16:06:43 -0000 Hi, There are no limitation in term of interoperability with other IPsec stack. Funding is not needed as working on FreeBSD is part of my day time job. Ava= ilable time is more the issue ;) Damien -- Damien Deville IPS Technical Leader http://www.stormshield.eu Stormshield 2/6 Avenue de l'Horizon, Bat. 6 - FR 59650 Villeneuve d'Ascq ----- Le 7 Nov 19, =C3=A0 14:05, Santiago Martinez sm@codenetworks.net a = =C3=A9crit : | Super interesting, I'm also up for it, i guess i can help with some fundi= ng. |=20 | Santi |=20 |=20 | On 2019-11-07 10:41, Kurt Jaeger wrote: |> Hi! |> |>> At Stormshield we have various patches related to that topic that we ca= n share. |>> |>> On the flow id part, we have a patch that recompute a new flowid for th= e IPsec |>> flow after encapsulation based on the spi. |>> This force the usage of the same transmit queue on the network card sid= e for |>> each tunnel/SPI. |>> |>> If you are interested i can make a review for this one to upstream it, = it is a |>> small and simple modification. |> Yes, please. If you have the review, please add me to it. |> |>> On one of our high end hardware (Intel(R) Xeon(R) E-2176G with 6 cores = / ixl |>> network cards), the previous code was running around 2.4Gbps using AES-= GCM with |>> a mix of packet size whose average size was around 650 bytes. |>> After various heavy optimization in opencrypto/crypto.c and on IPsec st= ack we |>> managed to increase the performance on the same test to around 5Gbps. T= ake care |>> this is mainly targeted to the subset of opencrypto feature we are usin= g in our |>> products (mainly IPsec with or without hardware cryptography) |>> |>> I can take some time to review and submit this big patch if there is so= me |>> interest in it. |> I would appreciate this -- would it help if my company pays some |> money for this to make it happen ? |> |>> It will require some work on our side cause at the moment this patch is= for |>> FreeBSD 10.3 and has some depencies to our custom polling code which is= not in |>> FreeBSD. We made the modification to work using kproc in the non pollin= g code |>> but we have still to test those on an unmodified FreeBSD. |> Again, depending on the amount of work: it would definitly be interestin= g. |> |>> I can also share the various benchmark we did to illustrate the impact = of some |>> of the optimisation we did. |> That would be very interesting. The final point would be: How |> interoperable is the resulting IPsec connect with non-FreeBSD |> counterparts 8-} ?