37 lines
1.1 KiB
Diff
37 lines
1.1 KiB
Diff
--- a/vmnet-only/filter.c
|
|
+++ b/vmnet-only/filter.c
|
|
@@ -27,6 +27,7 @@
|
|
#include "compat_module.h"
|
|
#include <linux/mutex.h>
|
|
#include <linux/netdevice.h>
|
|
+#include <linux/version.h>
|
|
#if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0)
|
|
# include <linux/module.h>
|
|
#else
|
|
@@ -203,7 +204,11 @@
|
|
#endif
|
|
|
|
static unsigned int
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
|
|
VNetFilterHookFn(unsigned int hooknum, // IN:
|
|
+#else
|
|
+VNetFilterHookFn(const struct nf_hook_ops *ops, // IN:
|
|
+#endif
|
|
#ifdef VMW_NFHOOK_USES_SKB
|
|
struct sk_buff *skb, // IN:
|
|
#else
|
|
@@ -252,7 +257,12 @@
|
|
|
|
/* When the host transmits, hooknum is VMW_NF_INET_POST_ROUTING. */
|
|
/* When the host receives, hooknum is VMW_NF_INET_LOCAL_IN. */
|
|
- transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
|
|
+
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
|
|
+ transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
|
|
+#else
|
|
+ transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
|
|
+#endif
|
|
|
|
packetHeader = compat_skb_network_header(skb);
|
|
ip = (struct iphdr*)packetHeader;
|