[ovs-discuss] Compile errors on Debian Lenny with Xen

Justin Pettit jpettit at nicira.com
Sat Dec 5 02:34:17 UTC 2009


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, pspreadborough at comcast.net 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
> 
> xen at 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
> discuss at openvswitch.org
> http://openvswitch.org/mailman/listinfo/discuss_openvswitch.org





More information about the discuss mailing list