On Tue, Oct 27, 2015 at 8:02 AM, Hannes Frederic Sowa <han...@stressinduktion.org> wrote: > 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.
> Cc: Eric Dumazet <eduma...@google.com> > Cc: Vlad Yasevich <vyasev...@gmail.com> > Cc: Benjamin Coddington <bcodd...@redhat.com> > Cc: Tom Herbert <t...@herbertland.com> > Signed-off-by: Hannes Frederic Sowa <han...@stressinduktion.org> > --- > 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) && > !exthdrlen) > csummode = CHECKSUM_PARTIAL; > > -- > 2.5.0 > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html