Linux 2.6.26 requires us to additionally include <linux/rculist.h>
to use RCU lists.
#include <linux/netfilter_bridge.h>
#include <linux/inetdevice.h>
#include <linux/list.h>
+#include <linux/rculist.h>
#include "openflow-netlink.h"
#include "datapath.h"
#include <linux/rcupdate.h>
#include <linux/slab.h>
#include <linux/list.h>
+#include <linux/rculist.h>
#include <linux/delay.h>
#include <linux/if_arp.h>
--- /dev/null
+/* In Linux 2.6.26, part of list.h was broken out into rculist.h. */
+#include <linux/list.h>
--- /dev/null
+#ifndef __LINUX_RCULIST_WRAPPER_H
+#define __LINUX_RCULIST_WRAPPER_H
+
+#include <linux/version.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+#include_next <linux/rculist.h>
+#else
+/* Prior to 2.6.26, the contents of rculist.h were part of list.h. */
+#include <linux/list.h>
+#endif
+
+#endif
#include <linux/rcupdate.h>
#include <linux/slab.h>
-#include <linux/list.h>
+#include <linux/rculist.h>
struct sw_table_linear {
struct sw_table swt;