Move dpif-netdev to be an optional plugin when compiled as shared.

Signed-off-by: Roi Dayan <[email protected]>
---
 lib/automake.mk   | 49 +++++++++++++++++++++++++++++------------------
 lib/dpif-netdev.c |  5 +++++
 2 files changed, 35 insertions(+), 19 deletions(-)

diff --git a/lib/automake.mk b/lib/automake.mk
index a6c0acb971e4..d8ccc0b9511c 100644
--- a/lib/automake.mk
+++ b/lib/automake.mk
@@ -124,25 +124,6 @@ lib_libopenvswitch_la_SOURCES = \
        lib/dp-packet-gso.c \
        lib/dp-packet-gso.h \
        lib/dpdk.h \
-       lib/dpif-netdev-extract-study.c \
-       lib/dpif-netdev-lookup.h \
-       lib/dpif-netdev-lookup.c \
-       lib/dpif-netdev-lookup-autovalidator.c \
-       lib/dpif-netdev-lookup-generic.c \
-       lib/dpif-netdev.c \
-       lib/dpif-netdev.h \
-       lib/dpif-netdev-private-dfc.c \
-       lib/dpif-netdev-private-dfc.h \
-       lib/dpif-netdev-private-dpcls.h \
-       lib/dpif-netdev-private-dpif.c \
-       lib/dpif-netdev-private-dpif.h \
-       lib/dpif-netdev-private-extract.c \
-       lib/dpif-netdev-private-extract.h \
-       lib/dpif-netdev-private-flow.h \
-       lib/dpif-netdev-private-thread.h \
-       lib/dpif-netdev-private.h \
-       lib/dpif-netdev-perf.c \
-       lib/dpif-netdev-perf.h \
        lib/dpif-provider.h \
        lib/dpif.c \
        lib/dpif.h \
@@ -695,3 +676,33 @@ EXTRA_DIST += lib/meta-flow.xml
 lib_libopenvswitch_la_SOURCES += \
     lib/dpif-plugin.c \
     lib/dpif-plugin.h
+
+lib_LTLIBRARIES += lib/dpif-netdev.la
+lib_dpif_netdev_la_LDFLAGS = -shared -module \
+        $(OVS_LTINFO) \
+        $(AM_LDFLAGS)
+lib_dpif_netdev_la_LIBADD = lib/libopenvswitch.la
+lib_dpif_netdev_la_SOURCES = \
+    lib/dpdk.h \
+    lib/dpif-netdev-extract-study.c \
+    lib/dpif-netdev-lookup.h \
+    lib/dpif-netdev-lookup.c \
+    lib/dpif-netdev-lookup-autovalidator.c \
+    lib/dpif-netdev-lookup-generic.c \
+    lib/dpif-netdev.c \
+    lib/dpif-netdev.h \
+    lib/dpif-netdev-private-dfc.c \
+    lib/dpif-netdev-private-dfc.h \
+    lib/dpif-netdev-private-dpcls.h \
+    lib/dpif-netdev-private-dpif.c \
+    lib/dpif-netdev-private-dpif.h \
+    lib/dpif-netdev-private-extract.c \
+    lib/dpif-netdev-private-extract.h \
+    lib/dpif-netdev-private-flow.h \
+    lib/dpif-netdev-private-thread.h \
+    lib/dpif-netdev-private.h \
+    lib/dpif-netdev-perf.c \
+    lib/dpif-netdev-perf.h \
+    lib/netdev-dpdk.c \
+    lib/netdev-dpdk.h \
+    lib/netdev-offload-dpdk.c
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 3d262463f8f9..53bf80e679cf 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -19,6 +19,7 @@
 #include "dpif-netdev-private.h"
 #include "dpif-netdev-private-dfc.h"
 
+#include "dpif-plugin.h"
 #include <ctype.h>
 #include <errno.h>
 #include <fcntl.h>
@@ -10601,3 +10602,7 @@ dpcls_lookup(struct dpcls *cls, const struct 
netdev_flow_key *keys[],
     }
     return false;
 }
+
+struct dpif_plugin dpif_netdev_plugin = {
+    .plugin_class = &dpif_netdev_class,
+};
-- 
2.46.1

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to