[Bug 1262692] Re: oops using openvswitch 1.4.6 with 3.5 series kernel
** No longer affects: linux (Ubuntu) ** Also affects: openvswitch (Ubuntu Precise) Importance: Undecided Status: New ** Also affects: openvswitch (Ubuntu Quantal) Importance: Undecided Status: New ** Changed in: openvswitch (Ubuntu Precise) Assignee: (unassigned) => Chris J Arges (arges) ** Changed in: openvswitch (Ubuntu Quantal) Assignee: (unassigned) => Chris J Arges (arges) ** Changed in: openvswitch (Ubuntu Precise) Importance: Undecided => Medium ** Changed in: openvswitch (Ubuntu Quantal) Importance: Undecided => High ** Changed in: openvswitch (Ubuntu Quantal) Importance: High => Medium ** Changed in: openvswitch (Ubuntu Precise) Status: New => In Progress ** Changed in: openvswitch (Ubuntu Quantal) Status: New => In Progress ** Also affects: openvswitch (Ubuntu Raring) Importance: Undecided Status: New ** Also affects: openvswitch (Ubuntu Saucy) Importance: Undecided Status: New ** Changed in: openvswitch (Ubuntu) Assignee: Chris J Arges (arges) => (unassigned) ** Changed in: openvswitch (Ubuntu) Importance: Medium => Undecided ** Changed in: openvswitch (Ubuntu) Status: In Progress => Fix Released ** Changed in: openvswitch (Ubuntu Raring) Assignee: (unassigned) => Chris J Arges (arges) ** Changed in: openvswitch (Ubuntu Raring) Importance: Undecided => Medium ** Changed in: openvswitch (Ubuntu Raring) Status: New => In Progress ** Summary changed: - oops using openvswitch 1.4.6 with 3.5 series kernel + oops using openvswitch gre tunnels with upstream commit 703133de in kernel ** Changed in: openvswitch (Ubuntu Saucy) Status: New => Fix Released ** Description changed: 1) This affects Precise w/ 3.5 HWE kernel and Quantal series. This is using the openvswitch 1.4.6 package currently in proposed. + + This also affects ovs p/q using any of the Ubuntu kernels since they all contain upstream commit 703133de. + e81a8144 -> ubuntu-precise + 77dc64ef -> ubuntu-quantal 2) ii openvswitch-common 1.4.6-0ubuntu1.12.10.1 amd64 Open vSwitch common components ii openvswitch-datapath-dkms 1.4.6-0ubuntu1.12.10.1 all Open vSwitch datapath module source - DKMS version ii openvswitch-switch 1.4.6-0ubuntu1.12.10.1 amd64 Open vSwitch switch implementations ii openvswitch-test 1.4.6-0ubuntu1.12.10.1 all Open vSwitch test package 3) Expected that setting up a GRE tunnel won't cause an oops. Test Case: # Install above packages with affected versions. # Ensure you have an isolated network setup for eth1 between vms # Obviously replace IPs with what's appropriate on your network ovs-vsctl del-br integbr ovs-vsctl add-br integbr ifconfig eth1 192.168.234.21 netmask 255.255.255.0 ovs-vsctl add-port integbr gre0 -- set interface gre0 type=gre options:remote_ip=192.168.234.20 ovs-vsctl add-port integbr tsp0 -- set interface tsp0 type=internal ifconfig tsp0 192.168.15.2 netmask 255.255.255.0 iptables -F iptables -F -t nat # goes boom here 4) This is the bt from crash: PID: 1197 TASK: 88007a009700 CPU: 0 COMMAND: "ovs-vswitchd" - #0 [8800799213f0] machine_kexec at 8103a275 - #1 [880079921460] crash_kexec at 810b9d68 - #2 [880079921530] oops_end at 81685600 - #3 [880079921560] no_context at 81676637 - #4 [8800799215c0] __bad_area_nosemaphore at 81676822 - #5 [880079921610] bad_area_nosemaphore at 81676854 - #6 [880079921620] do_page_fault at 816881bb - #7 [880079921730] do_async_page_fault at 81687a35 - #8 [880079921750] async_page_fault at 81684a95 - #9 [8800799218b0] ovs_vport_send at a01b956e [openvswitch] + #0 [8800799213f0] machine_kexec at 8103a275 + #1 [880079921460] crash_kexec at 810b9d68 + #2 [880079921530] oops_end at 81685600 + #3 [880079921560] no_context at 81676637 + #4 [8800799215c0] __bad_area_nosemaphore at 81676822 + #5 [880079921610] bad_area_nosemaphore at 81676854 + #6 [880079921620] do_page_fault at 816881bb + #7 [880079921730] do_async_page_fault at 81687a35 + #8 [880079921750] async_page_fault at 81684a95 + #9 [8800799218b0] ovs_vport_send at a01b956e [openvswitch] #10 [8800799218d0] do_output at a01b0214 [openvswitch] #11 [8800799218e0] do_execute_actions at a01b031f [openvswitch] #12 [880079921970] ovs_execute_actions at a01b0a68 [openvswitch] #13 [8800799219b0] ovs_packet_cmd_execute at a01b1279 [openvswitch] #14 [880079921a10] genl_rcv_msg at 8159c9b0 #15 [880079921aa0] netlink_rcv_skb at 8159c2d1 #16 [880079921ad0] genl_rcv at 8159c745 #17 [880079921af0] netlink_unicast at 8159bc2d #18 [880079921b40] netlink_sendmsg at
[Bug 1262692] Re: oops using openvswitch 1.4.6 with 3.5 series kernel
This commit is present in the latest 3.2/3.5 kernels for Ubuntu, therefore I'll ifdef it for 3,2,0. -- 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 -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs
[Bug 1262692] Re: oops using openvswitch 1.4.6 with 3.5 series kernel
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 -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs
[Bug 1262692] Re: oops using openvswitch 1.4.6 with 3.5 series kernel
If I revert 77dc64ef531cfadd7d1d148f9a754e7a7c87c1f2 (703133de331a7a7df47f31fb9de51dc6f68a9de8 upstream) from the 3.5 series Ubuntu kernel the problem disappears. Will need to investigate further if this is something that should be solved in the ovs module or kernel side. ** Tags added: bot-stop-nagging ** Also affects: linux (Ubuntu) Importance: Undecided Status: New ** Changed in: linux (Ubuntu) Assignee: (unassigned) => Chris J Arges (arges) ** Changed in: linux (Ubuntu) Importance: Undecided => Medium ** Changed in: linux (Ubuntu) Status: New => In Progress -- 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 -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs
[Bug 1262692] Re: oops using openvswitch 1.4.6 with 3.5 series kernel
I need to find if the problem is with linux or openvswitch. -- 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 -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs