VMware & linux-2.6.19

VMware が提供するネットワークドライバ vmxnet は、 linux-2.6.19 でコンパイルできない。以下、簡単なパッチを書いたのでメモ。

まず、ドライバのソースコードを展開

$ tar xvf  /usr/lib/vmware-tools/modules/source/vmxnet.tar 

次に、下記のパッチをあてる。

--- vmxnet-only/vmxnet.c.2.6.19 2006-12-16 12:08:09.347387863 +0900
+++ vmxnet-only/vmxnet.c        2006-12-16 12:08:28.940504411 +0900
@@ -8,7 +8,6 @@
  #include "driver-config.h"
 
-#include <linux/config.h>
 #include <linux/module.h>
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 9)
@@ -795,12 +794,12 @@
                                               tcpLen,
                                               IPPROTO_TCP,
                                               0);
-         skb->ip_summed = CHECKSUM_HW;
+         skb->ip_summed = CHECKSUM_PARTIAL;
      } 
   } 
#endif 
-   if (skb->ip_summed == CHECKSUM_HW) {
+   if (skb->ip_summed == CHECKSUM_PARTIAL) {
      xre->flags |= VMXNET2_TX_HW_XSUM;
   } else {
     xre->flags &= ~VMXNET2_TX_HW_XSUM;

あとは、ドライバをmakeするだけ。