Thanks for the bug report.  The checksumming code is pretty convoluted in Xen, 
so I'm afraid of rushing out a patch that breaks something in subtle ways.  We 
should have some time to look into a proper fix next week, but in the meantime, 
the patch below will get your kernel to compile cleanly.  It will break TCP 
checksum offloading, so you'll need to disable it in your client VMs.  You can 
do this under Linux with the following command:

        ethtool -K <dev> tx off

Obviously, you'll need to replace <dev> with the name of each network device 
(e.g., eth0).

--Justin


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

diff --git a/datapath/datapath.c b/datapath/datapath.c
index 2a8fb50..020415c 100644
--- a/datapath/datapath.c
+++ b/datapath/datapath.c
@@ -574,7 +574,8 @@ static int dp_frame_hook(struct net_bridge_port *p, struct 
sk_buff **pskb)
 #error
 #endif
 
-#if defined(CONFIG_XEN) && defined(HAVE_PROTO_DATA_VALID)
+/*#if defined(CONFIG_XEN) && defined(HAVE_PROTO_DATA_VALID)*/
+#if 0
 /* This code is copied verbatim from net/dev/core.c in Xen's
  * linux-2.6.18-92.1.10.el5.xs5.0.0.394.644.  We can't call those functions
  * directly because they aren't exported. */



On Dec 3, 2009, at 12:03 PM, [email protected] wrote:

> 
> Hello,
> 
> I'm getting the following errors with the latest git snapshot building on 
> Debian Lenny with Xen:
> 
> ./configure --with-l26=/lib/modules/`uname -r`/build CC=gcc-4.1
> 
> x...@xenhost:~/openvswitch$ uname -a
> Linux xenhost 2.6.26-2-xen-686 #1 SMP Wed Nov 4 23:23:33 UTC 2009 i686 
> GNU/Linux
> 
> 
> make[3]: Entering directory `/home/xen/openvswitch/datapath/linux-2.6'
> make -C /lib/modules/2.6.26-2-xen-686/build 
> M=/home/xen/openvswitch/datapath/linux-2.6 modules
> make[4]: Entering directory `/usr/src/linux-headers-2.6.26-2-xen-686'
>   CC [M]  /home/xen/openvswitch/datapath/linux-2.6/datapath.o
> /home/xen/openvswitch/datapath/linux-2.6/datapath.c: In function 
> ‘vswitch_skb_checksum_setup’:
> /home/xen/openvswitch/datapath/linux-2.6/datapath.c:598: error: ‘struct 
> sk_buff’ has no member named ‘nh’
> /home/xen/openvswitch/datapath/linux-2.6/datapath.c:600: error: ‘struct 
> sk_buff’ has no member named ‘h’
> /home/xen/openvswitch/datapath/linux-2.6/datapath.c:600: error: ‘struct 
> sk_buff’ has no member named ‘nh’
> /home/xen/openvswitch/datapath/linux-2.6/datapath.c:600: error: ‘struct 
> sk_buff’ has no member named ‘nh’
> /home/xen/openvswitch/datapath/linux-2.6/datapath.c:601: error: ‘struct 
> sk_buff’ has no member named ‘nh’
> /home/xen/openvswitch/datapath/linux-2.6/datapath.c:612: error: ‘struct 
> sk_buff’ has no member named ‘nh’
> /home/xen/openvswitch/datapath/linux-2.6/datapath.c:615: error: ‘struct 
> sk_buff’ has no member named ‘h’
> /home/xen/openvswitch/datapath/linux-2.6/datapath.c:617: error: ‘CHECKSUM_HW’ 
> undeclared (first use in this function)
> /home/xen/openvswitch/datapath/linux-2.6/datapath.c:617: error: (Each 
> undeclared identifier is reported only once
> /home/xen/openvswitch/datapath/linux-2.6/datapath.c:617: error: for each 
> function it appears in.)
> 
> Thanks,
> 
> Pete
> 
> _______________________________________________
> discuss mailing list
> [email protected]
> http://openvswitch.org/mailman/listinfo/discuss_openvswitch.org


_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss_openvswitch.org

Reply via email to