From: Sowmini Varadhan <sowmini.varad...@oracle.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.

Reply via email to