aboutsummaryrefslogtreecommitdiff
path: root/datapath/datapath.c
diff options
context:
space:
mode:
Diffstat (limited to 'datapath/datapath.c')
-rw-r--r--datapath/datapath.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/datapath/datapath.c b/datapath/datapath.c
index c86c20bc..281e86bf 100644
--- a/datapath/datapath.c
+++ b/datapath/datapath.c
@@ -54,6 +54,7 @@
#include "checksum.h"
#include "datapath.h"
#include "flow.h"
+#include "genl_exec.h"
#include "vlan.h"
#include "tunnel.h"
#include "vport-internal_dev.h"
@@ -2049,10 +2050,14 @@ static int __init dp_init(void)
pr_info("Open vSwitch switching datapath %s, built "__DATE__" "__TIME__"\n",
VERSION BUILDNR);
- err = ovs_tnl_init();
+ err = genl_exec_init();
if (err)
goto error;
+ err = ovs_tnl_init();
+ if (err)
+ goto error_genl_exec;
+
err = ovs_flow_init();
if (err)
goto error_tnl_exit;
@@ -2079,6 +2084,8 @@ error_flow_exit:
ovs_flow_exit();
error_tnl_exit:
ovs_tnl_exit();
+error_genl_exec:
+ genl_exec_exit();
error:
return err;
}
@@ -2091,6 +2098,7 @@ static void dp_cleanup(void)
ovs_vport_exit();
ovs_flow_exit();
ovs_tnl_exit();
+ genl_exec_exit();
}
module_init(dp_init);