From nobody Sat Aug 31 07:37:30 2024 X-Original-To: freebsd-net@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Wwn1H6X3Rz5Tn5w for ; Sat, 31 Aug 2024 07:37:55 +0000 (UTC) (envelope-from dch@skunkwerks.at) Received: from fout5-smtp.messagingengine.com (fout5-smtp.messagingengine.com [103.168.172.148]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Wwn1G3NMqz4l4C; Sat, 31 Aug 2024 07:37:54 +0000 (UTC) (envelope-from dch@skunkwerks.at) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=skunkwerks.at header.s=fm2 header.b=gFNeDTJP; dkim=pass header.d=messagingengine.com header.s=fm1 header.b="O uXlhwK"; dmarc=pass (policy=none) header.from=skunkwerks.at; spf=pass (mx1.freebsd.org: domain of dch@skunkwerks.at designates 103.168.172.148 as permitted sender) smtp.mailfrom=dch@skunkwerks.at Received: from phl-compute-04.internal (phl-compute-04.nyi.internal [10.202.2.44]) by mailfout.nyi.internal (Postfix) with ESMTP id CD4E213805F6; Sat, 31 Aug 2024 03:37:52 -0400 (EDT) Received: from phl-imap-02 ([10.202.2.81]) by phl-compute-04.internal (MEProxy); Sat, 31 Aug 2024 03:37:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=skunkwerks.at; h=cc:cc:content-transfer-encoding:content-type:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=fm2; t=1725089872; x=1725176272; bh=RA3PqnpBHh8rDZl600zCIZ6FYWiz58KU YaSb91d/Ucw=; b=gFNeDTJPJLiwjs0pus4BpdpaTBzrnh16CftAqJ1CChdynJqA +r4H1snpfFXBawz5r7oU8mtjcsHkX2Q7MUmVfDkJaSPSGSc15VaSbbWxOV3fW8Ld fWJ84zEyciZf4eRRfX+u7GTXgRoJ6SpLFpzYyhSim8bc29U+MxzCfEpQ5Rjy3M1E S9Kie6JGTevcjYnSv2djp/PFXk6sJ5APiUELoDvTWb3nxT23sqsMuJEojCiiiO+u SamkdyYKqa9d4qljCYeop83uESlmDAj2+IiO+PMDAnuok3cyZYK3b4AuAjN3tKRy ZJ3xjSaIfROPyItu84MAmtKmLPE7HI48hugMYQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1725089872; x= 1725176272; bh=RA3PqnpBHh8rDZl600zCIZ6FYWiz58KUYaSb91d/Ucw=; b=O uXlhwKiXie1HHMO+rqI9NQ3mTcRQmEDvOR2ruuFNvIinvL4TaolN58ypFfsIUSeI 91pPlQ7w0EbO04xK+LgouG36VcXz/IQSzd05BTp89RQ9jRGZfK98anUpIadWYhuy oLl1ESRjWGatX4J8Ek6zItQuW1093+KzyH6ik54gF8sv0o4GjESBvXTBTFMcC8xt tr+Zwe2d1YHonJLMJJjpXK405mw1JNiXhFDrEk31txzmtnPUgWpzfLflVBjc3CPd GtIn1urKLrCwelGFwX/rG14/1utEf1JzslXfDJecEYlfVoR3fcKT5f1NndO7bpIk dXBoZ2Xlrx2duCX95Xf/Q== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudefjedguddvudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg hnthhsucdlqddutddtmdenucfjughrpefoggffhffvvefkjghfufgtgfesthejredtredt tdenucfhrhhomhepfdffrghvvgcuvehothhtlhgvhhhusggvrhdfuceouggthhesshhkuh hnkhifvghrkhhsrdgrtheqnecuggftrfgrthhtvghrnhepueeulefhueekueefveefvedt ueekkedvgefgvddufffgfeeijefhudefteeuheelnecuffhomhgrihhnpehsuhhgghgvsh htihhonhhsrdhnvghtpdhhrghprhhogiihrdhorhhgpdhgihhthhhusgdrtghomhdpfhhr vggvsghsugdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih hlfhhrohhmpegutghhsehskhhunhhkfigvrhhkshdrrghtpdhnsggprhgtphhtthhopedv pdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehfrhgvvggsshguqdhnvghtsehfrh gvvggsshgurdhorhhgpdhrtghpthhtohepmhgrrhhkjhesfhhrvggvsghsugdrohhrgh X-ME-Proxy: Feedback-ID: ic0e84090:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 6AE60B00066; Sat, 31 Aug 2024 03:37:52 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface List-Id: Networking and TCP/IP with FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-net List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-net@FreeBSD.org MIME-Version: 1.0 Date: Sat, 31 Aug 2024 07:37:30 +0000 From: "Dave Cottlehuber" To: "Mark Johnston" Cc: freebsd-net Message-Id: In-Reply-To: References: Subject: Re: SO_SPLICE implementation Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.26 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.97)[-0.965]; DMARC_POLICY_ALLOW(-0.50)[skunkwerks.at,none]; RWL_MAILSPIKE_VERYGOOD(-0.20)[103.168.172.148:from]; R_DKIM_ALLOW(-0.20)[skunkwerks.at:s=fm2,messagingengine.com:s=fm1]; R_SPF_ALLOW(-0.20)[+ip4:103.168.172.128/27]; RCVD_IN_DNSWL_LOW(-0.10)[103.168.172.148:from]; MIME_GOOD(-0.10)[text/plain]; XM_UA_NO_VERSION(0.01)[]; FREEFALL_USER(0.00)[dch]; ASN(0.00)[asn:209242, ipnet:103.168.172.0/24, country:US]; DWL_DNSWL_NONE(0.00)[messagingengine.com:dkim]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; MLMMJ_DEST(0.00)[freebsd-net@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_TLS_LAST(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[skunkwerks.at:+,messagingengine.com:+] X-Rspamd-Queue-Id: 4Wwn1G3NMqz4l4C On Thu, 29 Aug 2024, at 21:43, Mark Johnston wrote: > Hello, > > Drew Gallatin and I have been working on an implementation of SO_SPLICE, > an interface which allows TCP connections to be spliced together. This > is intended for use in proxy applications to reduce the overhead of > copying data between connections. Awesome! > At the moment the interface isn't widely used, though I'll make sure > that net/relayd can take advantage of it (which it already does on > OpenBSD). If there are existing applications that might take advantage > of it, especially in the FreeBSD base system, I'd be interested to hear > suggestions. net/haproxy would be another good one. Currently it's enabled by option https://docs.haproxy.org/3.0/configuration.html#4.2-option splice-auto and AFAICT requires https://github.com/haproxy/haproxy/blob/master/Makefile#L30 preset in https://github.com/haproxy/haproxy/blob/master/Makefile#L416 > The code review is here if anyone's interested in looking at the > implementation: https://reviews.freebsd.org/D46411 A+ Dave