Date: Fri, 25 Oct 2013 01:49:09 +0000 (UTC) From: "Andrey V. Elsukov" <ae@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r257087 - user/ae/inet6/sys/netinet6 Message-ID: <201310250149.r9P1n9aE032288@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ae Date: Fri Oct 25 01:49:08 2013 New Revision: 257087 URL: http://svnweb.freebsd.org/changeset/base/257087 Log: Don't adjust checksum, since addresses don't contain scope id anymore. Modified: user/ae/inet6/sys/netinet6/in6_cksum.c Modified: user/ae/inet6/sys/netinet6/in6_cksum.c ============================================================================== --- user/ae/inet6/sys/netinet6/in6_cksum.c Fri Oct 25 01:47:02 2013 (r257086) +++ user/ae/inet6/sys/netinet6/in6_cksum.c Fri Oct 25 01:49:08 2013 (r257087) @@ -68,7 +68,6 @@ __FBSDID("$FreeBSD$"); #include <sys/systm.h> #include <netinet/in.h> #include <netinet/ip6.h> -#include <netinet6/scope6_var.h> /* * Checksum routine for Internet Protocol family headers (Portable Version). @@ -84,7 +83,7 @@ static int _in6_cksum_pseudo(struct ip6_hdr *ip6, uint32_t len, uint8_t nxt, uint16_t csum) { int sum; - uint16_t scope, *w; + uint16_t *w; union { u_int16_t phs[4]; struct { @@ -108,20 +107,14 @@ _in6_cksum_pseudo(struct ip6_hdr *ip6, u sum += uph.phs[2]; sum += uph.phs[3]; /* IPv6 source address. */ - scope = in6_getscope(&ip6->ip6_src); w = (u_int16_t *)&ip6->ip6_src; sum += w[0]; sum += w[1]; sum += w[2]; sum += w[3]; sum += w[4]; sum += w[5]; sum += w[6]; sum += w[7]; - if (scope != 0) - sum -= scope; /* IPv6 destination address. */ - scope = in6_getscope(&ip6->ip6_dst); w = (u_int16_t *)&ip6->ip6_dst; sum += w[0]; sum += w[1]; sum += w[2]; sum += w[3]; sum += w[4]; sum += w[5]; sum += w[6]; sum += w[7]; - if (scope != 0) - sum -= scope; return (sum); } @@ -150,7 +143,7 @@ int in6_cksum(struct mbuf *m, u_int8_t nxt, u_int32_t off, u_int32_t len) { struct ip6_hdr *ip6; - u_int16_t *w, scope; + u_int16_t *w; int byte_swapped, mlen; int sum; union { @@ -188,20 +181,14 @@ in6_cksum(struct mbuf *m, u_int8_t nxt, ip6 = mtod(m, struct ip6_hdr *); /* IPv6 source address. */ - scope = in6_getscope(&ip6->ip6_src); w = (u_int16_t *)&ip6->ip6_src; sum += w[0]; sum += w[1]; sum += w[2]; sum += w[3]; sum += w[4]; sum += w[5]; sum += w[6]; sum += w[7]; - if (scope != 0) - sum -= scope; /* IPv6 destination address. */ - scope = in6_getscope(&ip6->ip6_dst); w = (u_int16_t *)&ip6->ip6_dst; sum += w[0]; sum += w[1]; sum += w[2]; sum += w[3]; sum += w[4]; sum += w[5]; sum += w[6]; sum += w[7]; - if (scope != 0) - sum -= scope; /* * Secondly calculate a summary of the first mbuf excluding offset.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201310250149.r9P1n9aE032288>