datapath: Convert upcalls and ODP_EXECUTE to use AF_NETLINK socket layer.
[sliver-openvswitch.git] / datapath / vport-netdev.c
index 8827473..e45e22f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010 Nicira Networks.
+ * Copyright (c) 2010, 2011 Nicira Networks.
  * Distributed under the terms of the GNU GPL version 2.
  *
  * Significant portions of this file may be copied from parts of the Linux
@@ -21,8 +21,6 @@
 #include "vport-internal_dev.h"
 #include "vport-netdev.h"
 
-#include "compat.h"
-
 /* If the native device stats aren't 64 bit use the vport stats tracking instead. */
 #define USE_VPORT_STATS (sizeof(((struct net_device_stats *)0)->rx_bytes) < sizeof(u64))
 
@@ -279,16 +277,16 @@ struct vport *netdev_get_vport(struct net_device *dev)
 #else
        if (likely(rcu_access_pointer(dev->rx_handler) == netdev_frame_hook))   
 #endif
-               return (struct vport *)rcu_dereference(dev->rx_handler_data);
+               return (struct vport *)rcu_dereference_rtnl(dev->rx_handler_data);
        else
                return NULL;
 #else
-       return (struct vport *)rcu_dereference(dev->br_port);
+       return (struct vport *)rcu_dereference_rtnl(dev->br_port);
 #endif
 }
 
 const struct vport_ops netdev_vport_ops = {
-       .type           = "netdev",
+       .type           = ODP_VPORT_TYPE_NETDEV,
        .flags          = (VPORT_F_REQUIRED |
                          (USE_VPORT_STATS ? VPORT_F_GEN_STATS : 0)),
        .init           = netdev_init,