You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.9 KiB
87 lines
2.9 KiB
12 years ago
|
diff --git a/vmnet-only/filter.c b/vmnet-only/filter.c
|
||
|
index 491add5..74f7a3b 100644
|
||
|
--- a/vmnet-only/filter.c
|
||
|
+++ b/vmnet-only/filter.c
|
||
|
@@ -40,6 +40,10 @@
|
||
|
#include "vnetInt.h"
|
||
|
#include "vmnetInt.h"
|
||
|
|
||
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)
|
||
|
+#include <linux/export.h>
|
||
|
+#endif
|
||
|
+
|
||
|
// VNet_FilterLogPacket.action for dropped packets
|
||
|
#define VNET_FILTER_ACTION_DRP (1)
|
||
|
#define VNET_FILTER_ACTION_DRP_SHORT (2)
|
||
|
diff --git a/vmnet-only/netif.c b/vmnet-only/netif.c
|
||
|
index 4bdb643..5b71339 100644
|
||
|
--- a/vmnet-only/netif.c
|
||
|
+++ b/vmnet-only/netif.c
|
||
|
@@ -62,7 +62,9 @@ static int VNetNetifClose(struct net_device *dev);
|
||
|
static int VNetNetifStartXmit(struct sk_buff *skb, struct net_device *dev);
|
||
|
static struct net_device_stats *VNetNetifGetStats(struct net_device *dev);
|
||
|
static int VNetNetifSetMAC(struct net_device *dev, void *addr);
|
||
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
|
||
|
static void VNetNetifSetMulticast(struct net_device *dev);
|
||
|
+#endif
|
||
|
#if 0
|
||
|
static void VNetNetifTxTimeout(struct net_device *dev);
|
||
|
#endif
|
||
|
@@ -131,7 +133,9 @@ VNetNetIfSetup(struct net_device *dev) // IN:
|
||
|
.ndo_stop = VNetNetifClose,
|
||
|
.ndo_get_stats = VNetNetifGetStats,
|
||
|
.ndo_set_mac_address = VNetNetifSetMAC,
|
||
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
|
||
|
.ndo_set_multicast_list = VNetNetifSetMulticast,
|
||
|
+#endif
|
||
|
/*
|
||
|
* We cannot stuck... If someone will report problems under
|
||
|
* low memory conditions or some such, we should enable it.
|
||
|
@@ -152,7 +156,9 @@ VNetNetIfSetup(struct net_device *dev) // IN:
|
||
|
dev->stop = VNetNetifClose;
|
||
|
dev->get_stats = VNetNetifGetStats;
|
||
|
dev->set_mac_address = VNetNetifSetMAC;
|
||
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
|
||
|
dev->set_multicast_list = VNetNetifSetMulticast;
|
||
|
+#endif
|
||
|
/*
|
||
|
* We cannot stuck... If someone will report problems under
|
||
|
* low memory conditions or some such, we should enable it.
|
||
|
@@ -612,11 +618,12 @@ VNetNetifSetMAC(struct net_device *dev, // IN:
|
||
|
*----------------------------------------------------------------------
|
||
|
*/
|
||
|
|
||
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
|
||
|
void
|
||
|
VNetNetifSetMulticast(struct net_device *dev) // IN: unused
|
||
|
{
|
||
|
}
|
||
|
-
|
||
|
+#endif
|
||
|
|
||
|
/*
|
||
|
*----------------------------------------------------------------------
|
||
|
diff --git a/vmnet-only/userif.c b/vmnet-only/userif.c
|
||
|
index 541187b..77e0089 100644
|
||
|
--- a/vmnet-only/userif.c
|
||
|
+++ b/vmnet-only/userif.c
|
||
|
@@ -517,10 +517,18 @@ VNetCsumCopyDatagram(const struct sk_buff *skb, // IN: skb to copy
|
||
|
unsigned int tmpCsum;
|
||
|
const void *vaddr;
|
||
|
|
||
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)
|
||
|
+ vaddr = kmap(skb_frag_page(frag));
|
||
|
+#else
|
||
|
vaddr = kmap(frag->page);
|
||
|
+#endif
|
||
|
tmpCsum = csum_and_copy_to_user(vaddr + frag->page_offset,
|
||
|
curr, frag->size, 0, &err);
|
||
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)
|
||
|
+ kunmap(skb_frag_page(frag));
|
||
|
+#else
|
||
|
kunmap(frag->page);
|
||
|
+#endif
|
||
|
if (err) {
|
||
|
return err;
|
||
|
}
|