diff options
author | Tom Herbert <therbert@google.com> | 2014-05-02 16:29:51 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-05-05 15:26:30 -0400 |
commit | e4f45b7f40bdaade5ef8f45e7c6daed4c909fdf5 (patch) | |
tree | bdde80c080674909cf22779940b9615053af1081 /net/ipv6/tcp_ipv6.c | |
parent | ed70fcfcee953a76028bfc3f963d2167c2990020 (diff) | |
download | op-kernel-dev-e4f45b7f40bdaade5ef8f45e7c6daed4c909fdf5.zip op-kernel-dev-e4f45b7f40bdaade5ef8f45e7c6daed4c909fdf5.tar.gz |
net: Call skb_checksum_init in IPv6
Call skb_checksum_init instead of private functions.
Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index e289830..7fa6743 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -1294,25 +1294,6 @@ out: return NULL; } -static __sum16 tcp_v6_checksum_init(struct sk_buff *skb) -{ - if (skb->ip_summed == CHECKSUM_COMPLETE) { - if (!tcp_v6_check(skb->len, &ipv6_hdr(skb)->saddr, - &ipv6_hdr(skb)->daddr, skb->csum)) { - skb->ip_summed = CHECKSUM_UNNECESSARY; - return 0; - } - } - - skb->csum = ~csum_unfold(tcp_v6_check(skb->len, - &ipv6_hdr(skb)->saddr, - &ipv6_hdr(skb)->daddr, 0)); - - if (skb->len <= 76) - return __skb_checksum_complete(skb); - return 0; -} - /* The socket must have it's spinlock held when we get * here. * @@ -1486,7 +1467,7 @@ static int tcp_v6_rcv(struct sk_buff *skb) if (!pskb_may_pull(skb, th->doff*4)) goto discard_it; - if (!skb_csum_unnecessary(skb) && tcp_v6_checksum_init(skb)) + if (skb_checksum_init(skb, IPPROTO_TCP, ip6_compute_pseudo)) goto csum_error; th = tcp_hdr(skb); |