[Bug 1262692] Re: oops using openvswitch 1.4.6 with 3.5 series kernel
Chris J Arges
1262692 at bugs.launchpad.net
Tue Jan 7 15:26:29 UTC 2014
Ok so the problem is that Linux changed the prototype of
ip_select_indent. We can fix this on the ovs side using the following:
diff --git a/datapath/tunnel.c b/datapath/tunnel.c
index 1ebbc77..d62e1ea 100644
--- a/datapath/tunnel.c
+++ b/datapath/tunnel.c
@@ -1294,8 +1294,14 @@ int ovs_tnl_send(struct vport *vport, struct sk_buff *skb)
iph->tos = tos;
iph->ttl = ttl;
iph->frag_off = frag_off;
- ip_select_ident(iph, &rt_dst(rt), NULL);
+ /* linux commit 703133de changes the interface of
+ ip_select_ident from iph to skb */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
+ ip_select_ident(skb, &rt_dst(rt), NULL);
+#else
+ ip_select_ident(iph, &rt_dst(rt), NULL);
+#endif
skb = tnl_vport->tnl_ops->update_header(vport, mutable,
&rt_dst(rt), skb);
if (unlikely(!skb))
So we just need to check if the kernel version has this header and switch accordingly. The version I have above isn't exactly correct since there are differences between linux upstream and stable.
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to openvswitch in Ubuntu.
https://bugs.launchpad.net/bugs/1262692
Title:
oops using openvswitch 1.4.6 with 3.5 series kernel
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1262692/+subscriptions
More information about the Ubuntu-server-bugs
mailing list