#ifndef _NETVSC_H_
#define _NETVSC_H_
-#include "VmbusPacketFormat.h"
-#include "nvspprotocol.h"
+#include "include/VmbusPacketFormat.h"
+#include "include/nvspprotocol.h"
-#include "List.h"
+#include "include/List.h"
-#include "NetVscApi.h"
+#include "include/NetVscApi.h"
//
// #defines
//
#define __struct_bcount(x)
-#include "osd.h"
+#include "include/osd.h"
#include "NetVsc.h"
-#include "rndis.h"
+#include "include/rndis.h"
#define RNDIS_HEADER_SIZE (sizeof(RNDIS_MESSAGE) - sizeof(RNDIS_MESSAGE_CONTAINER))
*
*/
+#define KERNEL_2_6_27
#include <linux/init.h>
#include <linux/module.h>
#include <net/sock.h>
#include <net/pkt_sched.h>
-#include "logging.h"
-#include "vmbus.h"
+#include "include/logging.h"
+#include "include/vmbus.h"
-#include "NetVscApi.h"
+#include "include/NetVscApi.h"
MODULE_LICENSE("GPL");
}
+static const struct net_device_ops device_ops = {
+ .ndo_open = netvsc_open,
+ .ndo_stop = netvsc_close,
+ .ndo_start_xmit = netvsc_start_xmit,
+ .ndo_get_stats = netvsc_get_stats,
+ .ndo_set_multicast_list = netvsc_set_multicast_list,
+};
+
/*++
Name: netvsc_probe()
memcpy(net->dev_addr, device_info.MacAddr, ETH_ALEN);
- net->open = netvsc_open;
- net->hard_start_xmit = netvsc_start_xmit;
- net->stop = netvsc_close;
- net->get_stats = netvsc_get_stats;
- net->set_multicast_list = netvsc_set_multicast_list;
+ net->netdev_ops = &device_ops;
#if !defined(KERNEL_2_6_27)
SET_MODULE_OWNER(net);