It migrates from the obsolete net_device.open etc. to the new net_device_ops.open etc.
sasquatch, please re-read your moderating rules and the stickies defining the purpose of this forum and don't delete this post. vbox3 will have to deal with this because kernel 2.6.31 is scheduled for September 09. On this and later kernels, vbox3 will no longer work unless a fix is applied. This will in the vicinity of the vbox 3 release so should be catered for.
The patch needs to be applied to /usr/share/virtualbox/src/vboxnetadp/linux/VBoxNetAdp-linux.c, then "/etc/init.d/vboxdrv setup" rerun.
Code: Select all
--- VBoxNetAdp-linux.c.v300b1.orig 2009-06-21 13:57:37.838899175 +1000
+++ VBoxNetAdp-linux.c 2009-06-21 14:05:56.328151961 +1000
@@ -161,15 +161,20 @@
return &pPriv->Stats;
}
+static const struct net_device_ops vboxNetAdpNetDevOps =
+{
+ .ndo_open = vboxNetAdpLinuxOpen,
+ .ndo_stop = vboxNetAdpLinuxStop,
+ .ndo_start_xmit = vboxNetAdpLinuxXmit,
+ .ndo_get_stats = vboxNetAdpLinuxGetStats,
+};
+
static void vboxNetAdpNetDevInit(struct net_device *pNetDev)
{
PVBOXNETADPPRIV pPriv;
ether_setup(pNetDev);
- pNetDev->open = vboxNetAdpLinuxOpen;
- pNetDev->stop = vboxNetAdpLinuxStop;
- pNetDev->hard_start_xmit = vboxNetAdpLinuxXmit;
- pNetDev->get_stats = vboxNetAdpLinuxGetStats;
+ pNetDev->netdev_ops = &vboxNetAdpNetDevOps;
pPriv = netdev_priv(pNetDev);
memset(pPriv, 0, sizeof(*pPriv));