Added the new version for dummynet.
[ipfw.git] / glue.h
diff --git a/glue.h b/glue.h
index 1f8aa62..de0ab23 100644 (file)
--- a/glue.h
+++ b/glue.h
@@ -23,7 +23,7 @@
  * SUCH DAMAGE.
  */
 /*
- * $Id: glue.h 4436 2009-12-10 18:31:49Z luigi $
+ * $Id: glue.h 4661 2010-01-04 11:56:12Z luigi $
  *
  * glue code to adapt the FreeBSD version to linux and windows,
  * userland and kernel.
@@ -241,6 +241,11 @@ int
 sysctlbyname(const char *name, void *oldp, size_t *oldlenp, void *newp,
          size_t newlen);
  
+#ifdef __linux__
+/* linux does not have sin_len in sockaddr, we only remap in userland */
+#define        sin_len sin_zero[0]
+#endif /* __linux__ */
+
 #else /* KERNEL_MODULE */
 
 /* linux and windows kernel do not have bcopy ? */
@@ -250,6 +255,11 @@ sysctlbyname(const char *name, void *oldp, size_t *oldlenp, void *newp,
 #include <linux/in6.h>
 #endif
 
+/* skb_dst() was introduced from linux 2.6.31 */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)        // or 2.4.x
+#define skb_dst(_dummy) skb->dst
+#endif
+
 /* definitions useful for the kernel side */
 
 struct route_in6 { };
@@ -260,10 +270,6 @@ struct route_in6 { };
 
 #define INET_ADDRSTRLEN                16
 
-#ifdef linux
-/* linux does not have sin_len in sockaddr */
-#define        sin_len sin_zero[0]
-#endif /* linux */
 
 /*
  * List of values used for set/getsockopt options.