[vbox-dev] New breakage from Linus

Larry Finger Larry.Finger at lwfinger.net
Fri Jun 19 23:59:16 GMT 2009


With 2.6.30, there was a message something to the effect "vboxnetflt
not using net_device_ops". With 2.6.31, the old method disappears and
one must use the new one.

The required patch is as follows:

Index: src/vboxnetflt/linux/VBoxNetFlt-linux.c
===================================================================
--- src.orig/vboxnetflt/linux/VBoxNetFlt-linux.c
+++ src/vboxnetflt/linux/VBoxNetFlt-linux.c
@@ -214,6 +214,13 @@ static int vboxNetAdpValidateAddr(struct
     return -EADDRNOTAVAIL;
 } */

+static const struct net_device_ops vbox_netdev_ops = {
+       .ndo_open = vboxNetAdpOpen,
+       .ndo_stop = vboxNetAdpStop,
+       .ndo_start_xmit = vboxNetAdpXmit,
+       .ndo_get_stats = vboxNetAdpGetStats,
+};
+
 static void vboxNetAdpNetDevInit(struct net_device *pNetDev)
 {
     PVBOXNETADPPRIV pPriv;
@@ -222,10 +229,8 @@ static void vboxNetAdpNetDevInit(struct
     /// @todo Use Sun vendor id
     memcpy(pNetDev->dev_addr, "\0vbnet", ETH_ALEN);
     Log(("vboxNetAdpNetDevInit: pNetDev->dev_addr = %.6Rhxd\n",
pNetDev->dev_addr));
-    pNetDev->open = vboxNetAdpOpen;
-    pNetDev->stop = vboxNetAdpStop;
-    pNetDev->hard_start_xmit = vboxNetAdpXmit;
-    pNetDev->get_stats = vboxNetAdpGetStats;
+    pNetDev->netdev_ops = &vbox_netdev_ops;
+
     //pNetDev->validate_addr = vboxNetAdpValidateAddr;
 /*    pNetDev-> = vboxNetAdp;
     pNetDev-> = vboxNetAdp;





More information about the vbox-dev mailing list