Thread (11 messages) 11 messages, 3 authors, 2015-11-01

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

From: Tom Herbert <hidden>
Date: 2015-10-27 22:22:55

On Tue, Oct 27, 2015 at 2:40 PM, Hannes Frederic Sowa
[off-list ref] wrote:
quoted hunk ↗ jump to hunk
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.

Cc: Eric Dumazet <edumazet@google.com>
Cc: Vlad Yasevich <redacted>
Cc: Benjamin Coddington <redacted>
Cc: Tom Herbert <redacted>
Signed-off-by: Hannes Frederic Sowa <redacted>
---
 net/ipv4/ip_output.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index 50e2973..0b02417 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -911,6 +911,7 @@ static int __ip_append_data(struct sock *sk,
        if (transhdrlen &&
            length + fragheaderlen <= mtu &&
            rt->dst.dev->features & NETIF_F_V4_CSUM &&
+           !(flags & MSG_MORE) &&
I still don't understand this. It seems like the effect is to disable
checksum offload for all UDP messages sent with MSG_MORE flag set.
            !exthdrlen)
                csummode = CHECKSUM_PARTIAL;

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