Thread (23 messages) 23 messages, 3 authors, 2015-10-28

Re: [PATCH net v2 1/4] ipv4: no CHECKSUM_PARTIAL on MSG_MORE corked sockets

From: Tom Herbert <hidden>
Date: 2015-10-27 16:41:47

On Tue, Oct 27, 2015 at 9:34 AM, Hannes Frederic Sowa
[off-list ref] wrote:
On Tue, Oct 27, 2015, at 17:04, Tom Herbert wrote:
quoted
On Tue, Oct 27, 2015 at 8:02 AM, Hannes Frederic Sowa
[off-list ref] wrote:
quoted
We cannot reliable calculate packet size on MSG_MORE corked sockets
and thus cannot decide if they are going to be fragmented later on,
so better not use CHECKSUM_PARTIAL in the first place.
MSG_MORE should be independent of checksum offload. If packet is
fragmented the fix in ip_output will ensure that skb_checksum_help is
properly called.
The probability is that we are going to fragment if MSG_MORE is set,
because exceeding link mtu is quite probable, see e.g. NFS use case. Why
not simply use the csum functions during copy-in in that case? It makes
much more sense to me.
For datagram sockets MSG_MORE means that more datagrams will be sent,
it's not used to incrementally add data to a datagram already queued
(SEQPACKET with EOR is for that).
I don't see a reason to test for fragment length at all, then.

Bye,
Hannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help