Ticket #4264 (closed defect: fixed)
linux kernel 2.6.31 removes support for old net_device api => Fixed in SVN
Reported by: | typerlc | Owned by: | |
---|---|---|---|
Component: | network | Version: | VirtualBox 2.2.4 |
Keywords: | Cc: | ||
Guest type: | other | Host type: | Linux |
Description
Fedora rawhide (fc12) has moved to linux kernel 2.6.31. This kernel removes backwards compatibility for the old network driver api. Only the new net_driver_ops structure api is supported.
This means that all current versions of vbox (including 2.2.4, and 3.0 beta) will not work on this or later kernels for any distribution.
See here for discussion of this change in 2.6.31: http://patchwork.ozlabs.org/patch/27566/
This causes compilation failures in VBoxNetFlt-linux.c. Here's output from a sample build failure:
make KBUILD_VERBOSE= -C /lib/modules/2.6.31-0.11.rc0.git13.fc12.i686.PAE/build SUBDIRS=/tmp/vbox.4 SRCROOT=/tmp/vbox.4 modules CC [M] /tmp/vbox.4/linux/VBoxNetFlt-linux.o In file included from /tmp/vbox.4/include/VBox/intnet.h:34, from /tmp/vbox.4/linux/../VBoxNetFltInternal.h:26, from /tmp/vbox.4/linux/VBoxNetFlt-linux.c:47: /tmp/vbox.4/include/VBox/stam.h:69:7: warning: "_MSC_VER" is not defined /tmp/vbox.4/linux/VBoxNetFlt-linux.c: In function ‘vboxNetAdpNetDevInit’: /tmp/vbox.4/linux/VBoxNetFlt-linux.c:225: error: ‘struct net_device’ has no member named ‘open’ /tmp/vbox.4/linux/VBoxNetFlt-linux.c:226: error: ‘struct net_device’ has no member named ‘stop’ /tmp/vbox.4/linux/VBoxNetFlt-linux.c:227: error: ‘struct net_device’ has no member named ‘hard_start_xmit’ /tmp/vbox.4/linux/VBoxNetFlt-linux.c:228: error: ‘struct net_device’ has no member named ‘get_stats’ make[2]: *** [/tmp/vbox.4/linux/VBoxNetFlt-linux.o] Error 1 make[1]: *** [_module_/tmp/vbox.4] Error 2 make: *** [vboxnetflt] Error 2
Change History
comment:2 Changed 14 years ago by frank
- Summary changed from linux kernel 2.6.31 removes support for old net_device api to linux kernel 2.6.31 removes support for old net_device api => Fixed in SVN
Note: See
TracTickets for help on using
tickets.
A patch to fix this follows (apply to /usr/src/vboxnetflt-2.2.4/linux/VBoxNetFlt-linux.c):