From de7d6bc2f11ac0c25774ac444197e9424faa6018 Mon Sep 17 00:00:00 2001 From: Steffen Klassert Date: Sun, 5 Jun 2011 20:48:47 +0000 Subject: [PATCH] --- yaml --- r: 253423 b: refs/heads/master c: 96d7303e9cfb6a9bc664174a4dfdb6fa689284fe h: refs/heads/master i: 253421: 234da94fa3cff1445892cad5e0eabcf882b3afed 253419: a3921dba8183b5cd595d51bf2f6543e3edb87c4f 253415: 146de8b7b0bed4dcd1cd52fdfe27e73e2299d3b4 253407: ef97ba1316aabe21276692ec91d9c8ae1784d818 v: v3 --- [refs] | 2 +- trunk/net/ipv4/ip_output.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index c0ceb8a09504..1ebec976bd08 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e23535ca11525945bd7fca05ac5941efba232498 +refs/heads/master: 96d7303e9cfb6a9bc664174a4dfdb6fa689284fe diff --git a/trunk/net/ipv4/ip_output.c b/trunk/net/ipv4/ip_output.c index 98af3697c718..a8024eaa0e87 100644 --- a/trunk/net/ipv4/ip_output.c +++ b/trunk/net/ipv4/ip_output.c @@ -799,7 +799,9 @@ static int __ip_append_data(struct sock *sk, int csummode = CHECKSUM_NONE; struct rtable *rt = (struct rtable *)cork->dst; - exthdrlen = transhdrlen ? rt->dst.header_len : 0; + skb = skb_peek_tail(queue); + + exthdrlen = !skb ? rt->dst.header_len : 0; length += exthdrlen; transhdrlen += exthdrlen; mtu = cork->fragsize; @@ -825,8 +827,6 @@ static int __ip_append_data(struct sock *sk, !exthdrlen) csummode = CHECKSUM_PARTIAL; - skb = skb_peek_tail(queue); - cork->length += length; if (((length > mtu) || (skb && skb_is_gso(skb))) && (sk->sk_protocol == IPPROTO_UDP) &&