Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Jul 2012 10:46:55 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r238228 - in stable/9/sys: amd64/include arm/include i386/include ia64/include mips/include powerpc/include sparc64/include
Message-ID:  <201207081046.q68AktaF044816@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207081046.q68AktaF044816>