[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180418.132808.1710130437020293308.davem@davemloft.net>
Date: Wed, 18 Apr 2018 13:28:08 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: sowmini.varadhan@...cle.com
Cc: willemdebruijn.kernel@...il.com, sridhar.samudrala@...el.com,
netdev@...r.kernel.org, willemb@...gle.com
Subject: Re: [PATCH RFC net-next 00/11] udp gso
From: Sowmini Varadhan <sowmini.varadhan@...cle.com>
Date: Wed, 18 Apr 2018 08:31:03 -0400
> However, I share Sridhar's concerns about the very fundamental change
> to UDP message boundary semantics here. There is actually no such thing
> as a "segment" in udp, so in general this feature makes me a little
> uneasy. Well behaved udp applications should already be sending mtu
> sized datagrams. And the not-so-well-behaved ones are probably relying
> on IP fragmentation/reassembly to take care of datagram boundary semantics
> for them?
>
> As Sridhar points out, the feature is not really "negotiated" - one side
> unilaterally sets the option. If the receiver is a classic/POSIX UDP
> implementation, it will have no way of knowing that message boundaries
> have been re-adjusted at the sender.
There are no "semantics".
What ends up on the wire is the same before the kernel/app changes as
afterwards.
The only difference is that instead of the application doing N - 1
sendmsg() calls with mtu sized writes, it's giving everything all at
once and asking the kernel to segment.
It even gives the application control over the size of the packets,
which I think is completely prudent in this situation.
Powered by blists - more mailing lists