ofproto: Bundle all controller-related settings into a struct.
[openvswitch] / datapath / brcompat.c
index 10b94f73a21f85e6dad7c3dcef1aff0ea3655d29..b7fb6f8726514b42c2091e930aa3f1c45f2eac24 100644 (file)
@@ -9,10 +9,8 @@
 #include <linux/kernel.h>
 #include <asm/uaccess.h>
 #include <linux/completion.h>
-#include <linux/delay.h>
 #include <linux/etherdevice.h>
 #include <linux/if_bridge.h>
-#include <linux/rculist.h>
 #include <linux/netdevice.h>
 #include <linux/rtnetlink.h>
 #include <net/genetlink.h>
@@ -21,7 +19,6 @@
 #include "openvswitch/brcompat-netlink.h"
 #include "brc_procfs.h"
 #include "datapath.h"
-#include "dp_dev.h"
 
 static struct genl_family brc_genl_family;
 static struct genl_multicast_group brc_mc_group;
@@ -488,8 +485,10 @@ static struct sk_buff *brc_send_command(struct sk_buff *request, struct nlattr *
 
        /* Wait for reply. */
        error = -ETIMEDOUT;
-       if (!wait_for_completion_timeout(&brc_done, BRC_TIMEOUT))
+       if (!wait_for_completion_timeout(&brc_done, BRC_TIMEOUT)) {
+               printk(KERN_WARNING "brcompat: timed out waiting for userspace\n");
                goto error;
+    }
 
        /* Grab reply. */
        spin_lock_irqsave(&brc_lock, flags);
@@ -515,21 +514,10 @@ error:
 static int 
 __init brc_init(void)
 {
-       int i;
        int err;
 
        printk("Open vSwitch Bridge Compatibility, built "__DATE__" "__TIME__"\n");
 
-       rcu_read_lock();
-       for (i=0; i<ODP_MAX; i++) {
-               if (get_dp(i)) {
-                       rcu_read_unlock();
-                       printk(KERN_EMERG "brcompat: no datapaths may exist!\n");
-                       return -EEXIST;
-               }
-       }
-       rcu_read_unlock();
-
        /* Set the bridge ioctl handler */
        brioctl_set(brc_ioctl_deviceless_stub);