From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Samudrala, Sridhar" Subject: Re: [PATCH RFC net-next 00/11] udp gso Date: Tue, 17 Apr 2018 19:25:14 -0700 Message-ID: <74f0b490-de65-f05a-6332-6deaeb0fac2a@intel.com> References: <20180417200059.30154-1-willemdebruijn.kernel@gmail.com> <20180417201557.GA4080@oracle.com> <20180417204829.GK7632@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Network Development , Willem de Bruijn To: Willem de Bruijn , Sowmini Varadhan Return-path: Received: from mga09.intel.com ([134.134.136.24]:28810 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752849AbeDRCZQ (ORCPT ); Tue, 17 Apr 2018 22:25:16 -0400 In-Reply-To: Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 4/17/2018 2:07 PM, Willem de Bruijn wrote: > On Tue, Apr 17, 2018 at 4:48 PM, Sowmini Varadhan > wrote: >> On (04/17/18 16:23), Willem de Bruijn wrote: >>> Assuming IPv4 with an MTU of 1500 and the maximum segment >>> size of 1472, the receiver will see three datagrams with MSS of >>> 1472B, 528B and 512B. >> so the recvmsg will also pass up 1472, 526, 512, right? > That's right. > >> If yes, how will the recvmsg differentiate between the case >> (2000 byte message followed by 512 byte message) and >> (1472 byte message, 526 byte message, then 512 byte message), >> in other words, how are UDP message boundary semantics preserved? > They aren't. This is purely an optimization to amortize the cost of > repeated tx stack traversal. Unlike UFO, which would preserve the > boundaries of the original larger than MTU datagram. Doesn't this break UDP applications that expect message boundary preservation semantics? Is it possible to negotiate this feature? > > A prime use case is bulk transfer of data. Think video streaming > with QUIC. It must send MTU sized or smaller packets, but has > no application-layer requirement to reconstruct large packets on > the peer. > > That said, for negotiated flows an inverse GRO feature could > conceivably be implemented to reduce rx stack traversal, too. > Though due to interleaving of packets on the wire, it aggregation > would be best effort, similar to TCP TSO and GRO using the > PSH bit as packetization signal.