datapath: Check for backported dev_get_by_index_rcu().
[sliver-openvswitch.git] / datapath / linux-2.6 / compat-2.6 / include / linux / netdevice.h
index 3856bb6..04ebd89 100644 (file)
@@ -121,6 +121,24 @@ static inline void netdev_rx_handler_unregister(struct net_device *dev)
 #define dev_get_by_index(net, ifindex) dev_get_by_index(ifindex)
 #define __dev_get_by_name(net, name) __dev_get_by_name(name)
 #define __dev_get_by_index(net, ifindex) __dev_get_by_index(ifindex)
+#define dev_get_by_index_rcu(net, ifindex) dev_get_by_index_rcu(ifindex)
+#endif
+
+#ifndef HAVE_DEV_GET_BY_INDEX_RCU
+static inline struct net_device *dev_get_by_index_rcu(struct net *net, int ifindex)
+{
+       struct net_device *dev;
+
+       read_lock(&dev_base_lock);
+       dev = __dev_get_by_index(net, ifindex);
+       read_unlock(&dev_base_lock);
+
+       return dev;
+}
+#endif
+
+#ifndef NETIF_F_FSO
+#define NETIF_F_FSO 0
 #endif
 
 #endif