OpenvSwitch 1.9.0 incompatible with 3.9 kernel

Bug #1180385 reported by James Page
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
openvswitch (Ubuntu)
Fix Released
High
James Page
Saucy
Fix Released
High
James Page

Bug Description

Fix proposed on upstream dev mailing list; I'll backport this when its accepted into trunk.

DKMS make.log for openvswitch-1.9.0 for kernel 3.9.0-1-generic (x86_64)
Wed May 15 14:19:10 BST 2013
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking whether gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for ranlib... ranlib
checking for grep that handles long lines and -e... /bin/grep
checking for fgrep... /bin/grep -F
checking for perl... /usr/bin/perl
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether byte ordering is bigendian... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for library containing pow... -lm
checking for library containing clock_gettime... none required
checking for library containing timer_create... -lrt
checking for library containing pcap_open_live... no
checking vmware.h usability... no
checking vmware.h presence... no
checking for vmware.h... no
checking for linux/netlink.h... yes
checking for pkg-config... no
checking for SSL... no
configure: WARNING: Cannot find openssl:

OpenFlow connections over SSL will not be supported.
(You may use --disable-ssl to suppress this warning.)
checking for Python 2.x for x >= 4... /usr/bin/python
checking for pyuic4... no
checking for PySide.QtCore Python module... no
checking for PyQt4.QtCore Python module... no
checking for twisted.conch.ssh Python module... no
checking for twisted.internet Python module... yes
checking for twisted.application Python module... yes
checking for json Python module... yes
checking for zope.interface Python module... yes
checking whether to build ovsdbmonitor... no
checking for dot... no
checking net/if_packet.h usability... yes
checking net/if_packet.h presence... yes
checking for net/if_packet.h... yes
checking net/if_dl.h usability... no
checking net/if_dl.h presence... no
checking for net/if_dl.h... no
checking whether strtok_r macro segfaults on some inputs... no
checking for struct stat.st_mtim.tv_nsec... yes
checking for struct stat.st_mtimensec... no
checking for mlockall... yes
checking for strnlen... yes
checking for strsignal... yes
checking for getloadavg... yes
checking for statvfs... yes
checking for setmntent... yes
checking mntent.h usability... yes
checking mntent.h presence... yes
checking for mntent.h... yes
checking sys/statvfs.h usability... yes
checking sys/statvfs.h presence... yes
checking for sys/statvfs.h... yes
checking linux/types.h usability... yes
checking linux/types.h presence... yes
checking for linux/types.h... yes
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking for execinfo.h... (cached) yes
checking for backtrace... yes
checking whether libc supports hooks for malloc and related functions... yes
checking valgrind/valgrind.h usability... no
checking valgrind/valgrind.h presence... no
checking for valgrind/valgrind.h... no
checking for connect in -lsocket... no
checking for library containing gethostbyname... none required
checking for user-defined linker section support... yes
checking XenServer release... none
checking for groff... yes
checking whether make is GNU make... yes
checking whether gcc accepts -Wall... yes
checking whether gcc accepts -Wno-sign-compare... yes
checking whether gcc accepts -Wpointer-arith... yes
checking whether gcc accepts -Wdeclaration-after-statement... yes
checking whether gcc accepts -Wformat-security... yes
checking whether gcc accepts -Wswitch-enum... yes
checking whether gcc accepts -Wunused-parameter... yes
checking whether gcc accepts -Wstrict-aliasing... yes
checking whether gcc accepts -Wbad-function-cast... yes
checking whether gcc accepts -Wcast-align... yes
checking whether gcc accepts -Wstrict-prototypes... yes
checking whether gcc accepts -Wold-style-definition... yes
checking whether gcc accepts -Wmissing-prototypes... yes
checking whether gcc accepts -Wmissing-field-initializers... yes
checking whether gcc accepts -Wno-override-init... yes
checking whether gcc accepts -Wno-unused... yes
checking whether gcc accepts -Wno-unused-parameter... yes
checking target hint for cgcc... x86_64
checking whether make has GNU make $(if) extension... yes
checking for Linux build directory... /lib/modules/3.9.0-1-generic/build
checking for Linux source directory... /lib/modules/3.9.0-1-generic/build
checking for kernel version... 3.9.1
checking whether src_err, matches in /lib/modules/3.9.0-1-generic/build/arch/x86/include/asm/checksum_32.h... no
checking whether ERR_CAST matches in /lib/modules/3.9.0-1-generic/build/include/linux/err.h... yes
checking whether ipv4_is_multicast matches in /lib/modules/3.9.0-1-generic/build/include/linux/in.h... yes
checking whether dev_disable_lro matches in /lib/modules/3.9.0-1-generic/build/include/linux/netdevice.h... yes
checking whether dev_get_stats matches in /lib/modules/3.9.0-1-generic/build/include/linux/netdevice.h... yes
checking whether dev_get_by_index_rcu matches in /lib/modules/3.9.0-1-generic/build/include/linux/netdevice.h... yes
checking whether rcu_read_lock_held matches in /lib/modules/3.9.0-1-generic/build/include/linux/rcupdate.h... yes
checking whether [^@]proto_data_valid matches in /lib/modules/3.9.0-1-generic/build/include/linux/skbuff.h... no
checking whether raw matches in /lib/modules/3.9.0-1-generic/build/include/linux/skbuff.h... no
checking whether skb_dst( matches in /lib/modules/3.9.0-1-generic/build/include/linux/skbuff.h... yes
checking whether skb_copy_from_linear_data_offset matches in /lib/modules/3.9.0-1-generic/build/include/linux/skbuff.h... yes
checking whether skb_reset_tail_pointer matches in /lib/modules/3.9.0-1-generic/build/include/linux/skbuff.h... yes
checking whether skb_cow_head matches in /lib/modules/3.9.0-1-generic/build/include/linux/skbuff.h... yes
checking whether skb_transport_header matches in /lib/modules/3.9.0-1-generic/build/include/linux/skbuff.h... yes
checking whether icmp6_hdr matches in /lib/modules/3.9.0-1-generic/build/include/linux/icmpv6.h... yes
checking whether skb_warn_if_lro matches in /lib/modules/3.9.0-1-generic/build/include/linux/skbuff.h... yes
checking whether consume_skb matches in /lib/modules/3.9.0-1-generic/build/include/linux/skbuff.h... yes
checking whether skb_frag_page matches in /lib/modules/3.9.0-1-generic/build/include/linux/skbuff.h... yes
checking whether kmemdup matches in /lib/modules/3.9.0-1-generic/build/include/linux/string.h... yes
checking whether bool matches in /lib/modules/3.9.0-1-generic/build/include/linux/types.h... yes
checking whether __wsum matches in /lib/modules/3.9.0-1-generic/build/include/linux/types.h... no
checking whether csum_replace4 matches in /lib/modules/3.9.0-1-generic/build/include/net/checksum.h... yes
checking whether csum_unfold matches in /lib/modules/3.9.0-1-generic/build/include/net/checksum.h... yes
checking whether NLA_NUL_STRING matches in /lib/modules/3.9.0-1-generic/build/include/net/netlink.h... yes
checking whether nla_get_be16 matches in /lib/modules/3.9.0-1-generic/build/include/net/netlink.h... yes
checking whether nla_find_nested matches in /lib/modules/3.9.0-1-generic/build/include/net/netlink.h... yes
checking whether ADD_ALL_VLANS_CMD matches in /lib/modules/3.9.0-1-generic/build/include/linux/if_vlan.h... no
checking for /lib/modules/3.9.0-1-generic/build/include/linux/log2.h... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating datapath/Makefile
config.status: creating datapath/linux/Kbuild
config.status: creating datapath/linux/Makefile
config.status: creating datapath/linux/Makefile.main
config.status: creating tests/atlocal
config.status: creating config.h
config.status: executing tests/atconfig commands
config.status: executing depfiles commands
config.status: executing include/openflow/openflow.h.stamp commands
config.status: executing ovsdb/ovsdbmonitor/dummy commands
config.status: executing utilities/bugtool/dummy commands
make: Entering directory `/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux'
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../actions.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../checksum.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../datapath.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../dp_notify.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../dp_sysfs_dp.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../dp_sysfs_if.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../flow.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../genl_exec.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../tunnel.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../vlan.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../vport.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../vport-capwap.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../vport-generic.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../vport-gre.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../vport-internal_dev.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../vport-netdev.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../vport-patch.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../linux/compat/addrconf_core-openvswitch.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../linux/compat/dev-openvswitch.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../linux/compat/exthdrs_core.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../linux/compat/flex_array.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../linux/compat/genetlink-openvswitch.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../linux/compat/ip_output-openvswitch.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../linux/compat/kmemdup.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../linux/compat/netdevice.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../linux/compat/net_namespace.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../linux/compat/reciprocal_div.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../linux/compat/skbuff-openvswitch.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../linux/compat/time.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../linux/compat/workqueue.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../linux/compat/genetlink-brcompat.c
ln -s /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/../brcompat_main.c
make -C /lib/modules/3.9.0-1-generic/build M=/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux modules
make[1]: Entering directory `/usr/src/linux-headers-3.9.0-1-generic'
  CC [M] /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/genetlink-brcompat.o
  CC [M] /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/brcompat_main.o
  CC [M] /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/actions.o
  CC [M] /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/checksum.o
  CC [M] /var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.o
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:65:2: error: #error Kernels before 2.6.18 or after 3.8 are not supported by this version of Open vSwitch.
 #error Kernels before 2.6.18 or after 3.8 are not supported by this version of Open vSwitch.
  ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c: In function ‘ovs_lookup_vport’:
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:263:55: error: macro "hlist_for_each_entry_rcu" passed 4 arguments, but takes just 3
  hlist_for_each_entry_rcu(vport, n, head, dp_hash_node) {
                                                       ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:263:2: error: ‘hlist_for_each_entry_rcu’ undeclared (first use in this function)
  hlist_for_each_entry_rcu(vport, n, head, dp_hash_node) {
  ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:263:2: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:263:57: error: expected ‘;’ before ‘{’ token
  hlist_for_each_entry_rcu(vport, n, head, dp_hash_node) {
                                                         ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:259:21: warning: unused variable ‘n’ [-Wunused-variable]
  struct hlist_node *n;
                     ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:258:16: warning: unused variable ‘vport’ [-Wunused-variable]
  struct vport *vport;
                ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c: In function ‘__dp_destroy’:
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:1751:72: error: macro "hlist_for_each_entry_safe" passed 5 arguments, but takes just 4
   hlist_for_each_entry_safe(vport, node, n, &dp->ports[i], dp_hash_node)
                                                                        ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:1751:3: error: ‘hlist_for_each_entry_safe’ undeclared (first use in this function)
   hlist_for_each_entry_safe(vport, node, n, &dp->ports[i], dp_hash_node)
   ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:1752:4: error: expected ‘;’ before ‘if’
    if (vport->port_no != OVSP_LOCAL)
    ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:1749:29: warning: unused variable ‘n’ [-Wunused-variable]
   struct hlist_node *node, *n;
                             ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:1749:22: warning: unused variable ‘node’ [-Wunused-variable]
   struct hlist_node *node, *n;
                      ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:1748:17: warning: unused variable ‘vport’ [-Wunused-variable]
   struct vport *vport;
                 ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c: In function ‘ovs_vport_cmd_dump’:
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:2264:65: error: macro "hlist_for_each_entry_rcu" passed 4 arguments, but takes just 3
   hlist_for_each_entry_rcu(vport, n, &dp->ports[i], dp_hash_node) {
                                                                 ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:2264:3: error: ‘hlist_for_each_entry_rcu’ undeclared (first use in this function)
   hlist_for_each_entry_rcu(vport, n, &dp->ports[i], dp_hash_node) {
   ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:2264:67: error: expected ‘;’ before ‘{’ token
   hlist_for_each_entry_rcu(vport, n, &dp->ports[i], dp_hash_node) {
                                                                   ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:2261:22: warning: unused variable ‘n’ [-Wunused-variable]
   struct hlist_node *n;
                      ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:2260:17: warning: unused variable ‘vport’ [-Wunused-variable]
   struct vport *vport;
                 ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:2277:1: warning: label ‘out’ defined but not used [-Wunused-label]
 out:
 ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:2251:28: warning: unused variable ‘skip’ [-Wunused-variable]
  int bucket = cb->args[0], skip = cb->args[1];
                            ^
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c: In function ‘ovs_lookup_vport’:
/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.c:268:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[2]: *** [/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux/datapath.o] Error 1
make[1]: *** [_module_/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.9.0-1-generic'
make: *** [default] Error 2
make: Leaving directory `/var/lib/dkms/openvswitch/1.9.0/build/datapath/linux'

ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: openvswitch-datapath-dkms 1.9.0-0ubuntu1
ProcVersionSignature: Ubuntu 3.9.0-1.5-generic 3.9.1
Uname: Linux 3.9.0-1-generic x86_64
ApportVersion: 2.10.1-0ubuntu1
Architecture: amd64
Date: Wed May 15 14:19:34 2013
InstallationDate: Installed on 2013-05-14 (0 days ago)
InstallationMedia: Ubuntu-Server 13.10 "Saucy Salamander" - Alpha amd64 (20130514)
MarkForUpload: True
PackageArchitecture: all
SourcePackage: openvswitch
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
James Page (james-page) wrote :
Changed in openvswitch (Ubuntu):
importance: Undecided → High
status: New → Triaged
Changed in openvswitch (Ubuntu Saucy):
assignee: nobody → James Page (james-page)
James Page (james-page)
Changed in openvswitch (Ubuntu Saucy):
milestone: none → ubuntu-13.06
James Page (james-page)
Changed in openvswitch (Ubuntu Saucy):
status: Triaged → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package openvswitch - 1.10.0-0ubuntu3

---------------
openvswitch (1.10.0-0ubuntu3) saucy; urgency=low

  * d/rules: Disable testing on powerpc architecture
    https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1189408.
 -- James Page <email address hidden> Mon, 10 Jun 2013 11:20:56 +0100

Changed in openvswitch (Ubuntu Saucy):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.