看板 FB_svn 關於我們 聯絡資訊
Author: bz Date: Sun Jul 8 10:46:55 2012 New Revision: 238228 URL: http://svn.freebsd.org/changeset/base/238228 Log: MFC r235941: in_cksum.h required ip.h to be included for struct ip. To be able to use some general checksum functions like in_addword() in a non-IPv4 context, limit the (also exported to user space) IPv4 specific functions to the times, when the ip.h header is present and IPVERSION is defined (to 4). Approved by: re Modified: stable/9/sys/amd64/include/in_cksum.h stable/9/sys/arm/include/in_cksum.h stable/9/sys/i386/include/in_cksum.h stable/9/sys/ia64/include/in_cksum.h stable/9/sys/mips/include/in_cksum.h stable/9/sys/powerpc/include/in_cksum.h stable/9/sys/sparc64/include/in_cksum.h Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/amd64/include/in_cksum.h ============================================================================== --- stable/9/sys/amd64/include/in_cksum.h Sun Jul 8 10:29:01 2012 (r238227) +++ stable/9/sys/amd64/include/in_cksum.h Sun Jul 8 10:46:55 2012 (r238228) @@ -43,6 +43,7 @@ #define in_cksum(m, len) in_cksum_skip(m, len, 0) +#if defined(IPVERSION) && (IPVERSION == 4) /* * It it useful to have an Internet checksum routine which is inlineable * and optimized specifically for the task of computing IP header checksums @@ -69,9 +70,12 @@ in_cksum_update(struct ip *ip) } while(0) #endif +#endif #ifdef _KERNEL +#if defined(IPVERSION) && (IPVERSION == 4) u_int in_cksum_hdr(const struct ip *ip); +#endif u_short in_addword(u_short sum, u_short b); u_short in_pseudo(u_int sum, u_int b, u_int c); u_short in_cksum_skip(struct mbuf *m, int len, int skip); Modified: stable/9/sys/arm/include/in_cksum.h ============================================================================== --- stable/9/sys/arm/include/in_cksum.h Sun Jul 8 10:29:01 2012 (r238227) +++ stable/9/sys/arm/include/in_cksum.h Sun Jul 8 10:46:55 2012 (r238228) @@ -46,7 +46,9 @@ u_short in_cksum(struct mbuf *m, int len u_short in_addword(u_short sum, u_short b); u_short in_cksum_skip(struct mbuf *m, int len, int skip); u_int do_cksum(const void *, int); +#if defined(IPVERSION) && (IPVERSION == 4) u_int in_cksum_hdr(const struct ip *); +#endif static __inline u_short in_pseudo(u_int sum, u_int b, u_int c) Modified: stable/9/sys/i386/include/in_cksum.h ============================================================================== --- stable/9/sys/i386/include/in_cksum.h Sun Jul 8 10:29:01 2012 (r238227) +++ stable/9/sys/i386/include/in_cksum.h Sun Jul 8 10:46:55 2012 (r238228) @@ -54,6 +54,7 @@ * therefore always exactly five 32-bit words. */ #if defined(__GNUCLIKE_ASM) && !defined(__INTEL_COMPILER) +#if defined(IPVERSION) && (IPVERSION == 4) static __inline u_int in_cksum_hdr(const struct ip *ip) { @@ -88,6 +89,7 @@ in_cksum_update(struct ip *ip) __tmpsum = (int)ntohs(ip->ip_sum) + 256; ip->ip_sum = htons(__tmpsum + (__tmpsum >> 16)); } +#endif static __inline u_short in_addword(u_short sum, u_short b) @@ -121,6 +123,7 @@ in_pseudo(u_int sum, u_int b, u_int c) } #else +#if defined(IPVERSION) && (IPVERSION == 4) #define in_cksum_update(ip) \ do { \ int __tmpsum; \ @@ -129,10 +132,13 @@ in_pseudo(u_int sum, u_int b, u_int c) } while(0) #endif +#endif #ifdef _KERNEL #if !defined(__GNUCLIKE_ASM) || defined(__INTEL_COMPILER) +#if defined(IPVERSION) && (IPVERSION == 4) u_int in_cksum_hdr(const struct ip *ip); +#endif u_short in_addword(u_short sum, u_short b); u_short in_pseudo(u_int sum, u_int b, u_int c); #endif Modified: stable/9/sys/ia64/include/in_cksum.h ============================================================================== --- stable/9/sys/ia64/include/in_cksum.h Sun Jul 8 10:29:01 2012 (r238227) +++ stable/9/sys/ia64/include/in_cksum.h Sun Jul 8 10:46:55 2012 (r238228) @@ -39,6 +39,7 @@ #define in_cksum(m, len) in_cksum_skip(m, len, 0) +#if defined(IPVERSION) && (IPVERSION == 4) /* * It it useful to have an Internet checksum routine which is inlineable * and optimized specifically for the task of computing IP header checksums @@ -65,9 +66,12 @@ in_cksum_update(struct ip *ip) } while(0) #endif +#endif #ifdef _KERNEL +#if defined(IPVERSION) && (IPVERSION == 4) u_int in_cksum_hdr(const struct ip *ip); +#endif u_short in_addword(u_short sum, u_short b); u_short in_pseudo(u_int sum, u_int b, u_int c); u_short in_cksum_skip(struct mbuf *m, int len, int skip); Modified: stable/9/sys/mips/include/in_cksum.h ============================================================================== --- stable/9/sys/mips/include/in_cksum.h Sun Jul 8 10:29:01 2012 (r238227) +++ stable/9/sys/mips/include/in_cksum.h Sun Jul 8 10:46:55 2012 (r238228) @@ -40,6 +40,7 @@ #define in_cksum(m, len) in_cksum_skip(m, len, 0) +#if defined(IPVERSION) && (IPVERSION == 4) /* * It it useful to have an Internet checksum routine which is inlineable * and optimized specifically for the task of computing IP header checksums @@ -66,9 +67,12 @@ in_cksum_update(struct ip *ip) } while(0) #endif +#endif #ifdef _KERNEL +#if defined(IPVERSION) && (IPVERSION == 4) u_int in_cksum_hdr(const struct ip *ip); +#endif u_short in_addword(u_short sum, u_short b); u_short in_pseudo(u_int sum, u_int b, u_int c); u_short in_cksum_skip(struct mbuf *m, int len, int skip); Modified: stable/9/sys/powerpc/include/in_cksum.h ============================================================================== --- stable/9/sys/powerpc/include/in_cksum.h Sun Jul 8 10:29:01 2012 (r238227) +++ stable/9/sys/powerpc/include/in_cksum.h Sun Jul 8 10:46:55 2012 (r238228) @@ -39,6 +39,7 @@ #define in_cksum(m, len) in_cksum_skip(m, len, 0) +#if defined(IPVERSION) && (IPVERSION == 4) /* * It it useful to have an Internet checksum routine which is inlineable * and optimized specifically for the task of computing IP header checksums @@ -65,9 +66,12 @@ in_cksum_update(struct ip *ip) } while(0) #endif +#endif #ifdef _KERNEL +#if defined(IPVERSION) && (IPVERSION == 4) u_int in_cksum_hdr(const struct ip *ip); +#endif u_short in_addword(u_short sum, u_short b); u_short in_pseudo(u_int sum, u_int b, u_int c); u_short in_cksum_skip(struct mbuf *m, int len, int skip); Modified: stable/9/sys/sparc64/include/in_cksum.h ============================================================================== --- stable/9/sys/sparc64/include/in_cksum.h Sun Jul 8 10:29:01 2012 (r238227) +++ stable/9/sys/sparc64/include/in_cksum.h Sun Jul 8 10:46:55 2012 (r238228) @@ -65,6 +65,7 @@ #define in_cksum(m, len) in_cksum_skip(m, len, 0) +#if defined(IPVERSION) && (IPVERSION == 4) static __inline void in_cksum_update(struct ip *ip) { @@ -73,6 +74,7 @@ in_cksum_update(struct ip *ip) __tmp = (int)ip->ip_sum + 1; ip->ip_sum = __tmp + (__tmp >> 16); } +#endif static __inline u_short in_addword(u_short sum, u_short b) @@ -106,6 +108,7 @@ in_pseudo(u_int sum, u_int b, u_int c) return (sum); } +#if defined(IPVERSION) && (IPVERSION == 4) static __inline u_int in_cksum_hdr(struct ip *ip) { @@ -163,6 +166,7 @@ in_cksum_hdr(struct ip *ip) #undef __LD_ADD return (__ret); } +#endif #ifdef _KERNEL u_short in_cksum_skip(struct mbuf *m, int len, int skip); _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"