From: Jason Wang Date: Tue, 26 Mar 2013 23:11:20 +0000 (+0000) Subject: net: core: let skb_partial_csum_set() set transport header X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=e5d5decaedf41f5b03e6819789cc3ba8744d9f54;p=deliverable%2Flinux.git net: core: let skb_partial_csum_set() set transport header For untrusted packets with partial checksum, we need to set the transport header for precise packet length estimation. We can just let skb_pratial_csum_set() to do this to avoid extra call to skb_flow_dissect() and simplify the caller. Cc: Eric Dumazet Signed-off-by: Jason Wang Acked-by: Eric Dumazet Signed-off-by: David S. Miller --- diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 31c6737d3189..ba646145cd5c 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -3370,6 +3370,7 @@ bool skb_partial_csum_set(struct sk_buff *skb, u16 start, u16 off) skb->ip_summed = CHECKSUM_PARTIAL; skb->csum_start = skb_headroom(skb) + start; skb->csum_offset = off; + skb_set_transport_header(skb, start); return true; } EXPORT_SYMBOL_GPL(skb_partial_csum_set);