diff --unified -r ./vmnet-only.orig/bridge.c ./vmnet-only/bridge.c
--- ./vmnet-only.orig/bridge.c	2007-11-28 11:25:06.000000000 +0100
+++ ./vmnet-only/bridge.c	2008-04-30 13:11:56.000000000 +0200
@@ -106,6 +106,18 @@
                                int count, int *eof, void *data);
 
 
+// jondaley's guess/hack to make vmware compile cleanly on 2.6.25
+#if LINUX_VERSION_CODE == KERNEL_VERSION(2, 6, 25)
+static inline void sock_valbool_flag(struct sock *sk, int bit, int valbool)
+{
+  if (valbool)
+    sock_set_flag(sk, bit);
+  else
+    sock_reset_flag(sk, bit);
+}
+#endif
+
+
 /*
  *----------------------------------------------------------------------
  *
diff --unified -r ./vmnet-only.orig/compat_wait.h ./vmnet-only/compat_wait.h
--- ./vmnet-only.orig/compat_wait.h	2007-11-28 11:25:06.000000000 +0100
+++ ./vmnet-only/compat_wait.h	2008-04-30 13:11:56.000000000 +0200
@@ -38,13 +38,13 @@
  * 2.4.20-wolk4.0s.
  */
 
-#if VMW_HAVE_EPOLL // {
+#ifdef VMW_HAVE_EPOLL // {
 #define compat_poll_wqueues struct poll_wqueues
 #else // } {
 #define compat_poll_wqueues poll_table
 #endif // }
 
-#if VMW_HAVE_EPOLL // {
+#ifdef VMW_HAVE_EPOLL // {
 
 /* If prototype does not match, build will abort here */
 extern void poll_initwait(compat_poll_wqueues *);
diff --unified -r ./vmnet-only.orig/filter.c ./vmnet-only/filter.c
--- ./vmnet-only.orig/filter.c	2007-11-28 11:11:12.000000000 +0100
+++ ./vmnet-only/filter.c	2008-04-30 13:43:29.000000000 +0200
@@ -38,6 +38,9 @@
 #define VNET_FILTER_ACTION_FWD_MATCH   (1<<8 | 6)
 #define VNET_FILTER_ACTION_FWD_DEFAULT (1<<8 | 7)
 
+#define NF_IP_LOCAL_IN          1
+#define NF_IP_POST_ROUTING      4
+
 /* netfilter hooks for filtering. */
 static nf_hookfn VNetFilterHookFn;
 
Only in ./vmnet-only: modules.order
diff --unified -r ./vmnet-only.orig/netif.c ./vmnet-only/netif.c
--- ./vmnet-only.orig/netif.c	2007-11-28 11:25:06.000000000 +0100
+++ ./vmnet-only/netif.c	2008-04-30 13:15:41.000000000 +0200
@@ -315,6 +315,10 @@
    
    memcpy(dev->dev_addr, netIf->port.paddr, sizeof netIf->port.paddr);
    
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)
+    dev->nd_net = &init_net;
+#endif
+
    if (register_netdev(dev) != 0) {
       LOG(0, (KERN_NOTICE "%s: could not register network device\n", devName));
       retval = -ENODEV;
diff --unified -r ./vmnet-only.orig/sk_alloc.c ./vmnet-only/sk_alloc.c
--- ./vmnet-only.orig/sk_alloc.c	2007-10-14 07:33:38.000000000 +0200
+++ ./vmnet-only/sk_alloc.c	2008-04-30 13:11:56.000000000 +0200
@@ -12,6 +12,7 @@
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 13)
 #include <net/sock.h>
+#include <linux/version.h>
 
 static struct proto test_proto = {
    .name     = "TEST",
@@ -20,6 +21,10 @@
 struct sock * 
 vmware_sk_alloc(void)
 {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24)
    return sk_alloc(PF_NETLINK, 0, &test_proto, 1);
+#else
+   return sk_alloc(&init_net, PF_NETLINK, 0, &test_proto);
+#endif
 }
 #endif
diff --unified -r ./vmnet-only.orig/vm_basic_types.h ./vmnet-only/vm_basic_types.h
--- ./vmnet-only.orig/vm_basic_types.h	2007-11-28 11:25:06.000000000 +0100
+++ ./vmnet-only/vm_basic_types.h	2008-04-30 13:40:35.000000000 +0200
@@ -176,6 +176,8 @@
 #      endif
 
 #      ifndef _STDINT_H
+#      include <linux/version.h>
+#      if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24)
 #         ifdef VM_I386
 #            ifdef VM_X86_64
 typedef uint64    uintptr_t;
@@ -185,6 +187,7 @@
 #         endif
 #      endif
 #   endif
+#   endif
 #endif
 
 
@@ -310,6 +313,7 @@
 #define CHOOSE_PERCENT  asPercent(-1)
 
 
+#include <linux/types.h>
 typedef uintptr_t VA;
 typedef uintptr_t VPN;
 
diff --unified -r ./vmnet-only.orig/vmnetInt.h ./vmnet-only/vmnetInt.h
--- ./vmnet-only.orig/vmnetInt.h	2007-11-28 11:25:06.000000000 +0100
+++ ./vmnet-only/vmnetInt.h	2008-04-30 13:17:47.000000000 +0200
@@ -89,7 +89,11 @@
                                                 PF_NETLINK, _pri, &vmnet_proto)
 #elif defined(VMW_HAVE_SK_ALLOC_WITH_PROTO)
 extern struct proto vmnet_proto;
-#   define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1)
+#   if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24)
+#       define compat_sk_alloc(_pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1)
+#   else
+#       define compat_sk_alloc(_pri) sk_alloc(&init_net, PF_NETLINK, _pri, &vmnet_proto)
+#   endif
 #elif defined(KERNEL_2_5_5)
 #   define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, 1, NULL)
 #else
