Created
September 11, 2022 16:53
-
-
Save qinghon/31d1d755b81a5db47616d9d1f0378321 to your computer and use it in GitHub Desktop.
ovs support cmake
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Index: tests/CMakeLists.txt | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt | |
new file mode 100644 | |
--- /dev/null (date 1662902023379) | |
+++ b/tests/CMakeLists.txt (date 1662902023379) | |
@@ -0,0 +1,62 @@ | |
+ | |
+set(TEST_OVSDB_SRC tests/test-ovsdb.c) | |
+set(TEST_LIB_SRC tests/test-lib.c) | |
+set(TEST_DPDKR_SRC tests/dpdk/ring_client.c) | |
+ | |
+set(TEST_OVSTEST_SRC | |
+ tests/ovstest.c | |
+ tests/ovstest.h | |
+ tests/test-aes128.c | |
+ tests/test-atomic.c | |
+ tests/test-bundle.c | |
+ tests/test-byte-order.c | |
+ tests/test-classifier.c | |
+ tests/test-ccmap.c | |
+ tests/test-cmap.c | |
+ tests/test-conntrack.c | |
+ tests/test-csum.c | |
+ tests/test-flows.c | |
+ tests/test-hash.c | |
+ tests/test-heap.c | |
+ tests/test-hindex.c | |
+ tests/test-hmap.c | |
+ tests/test-json.c | |
+ tests/test-jsonrpc.c | |
+ tests/test-list.c | |
+ tests/test-lockfile.c | |
+ tests/test-multipath.c | |
+ tests/test-netflow.c | |
+ tests/test-odp.c | |
+ tests/test-ofpbuf.c | |
+ tests/test-packets.c | |
+ tests/test-random.c | |
+ tests/test-rcu.c | |
+ tests/test-reconnect.c | |
+ tests/test-rstp.c | |
+ tests/test-sflow.c | |
+ tests/test-sha1.c | |
+ tests/test-skiplist.c | |
+ tests/test-stp.c | |
+ tests/test-unixctl.c | |
+ tests/test-util.c | |
+ tests/test-uuid.c | |
+ tests/test-bitmap.c | |
+ tests/test-vconn.c | |
+ tests/test-aa.c | |
+ tests/test-stopwatch.c | |
+ ) | |
+ | |
+if (UNIX) | |
+ set(TEST_OVSTEST_SRC ${TEST_OVSTEST_SRC} | |
+ tests/test-unix-socket.c | |
+ ) | |
+endif () | |
+if (LINUX) | |
+ set(TEST_OVSTEST_SRC ${TEST_OVSTEST_SRC} | |
+ tests/test-netlink-conntrack.c | |
+ ) | |
+endif () | |
+ | |
+set(TEST_STEAM_SRC tests/test-stream.c) | |
+set(TEST_STRTOK_R_SRC tests/test-strtok_r.c) | |
+set(TEST_TYPE_PROPS_SRC tests/test-type-props.c) | |
\ No newline at end of file | |
Index: include/CMakeLists.txt | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt | |
new file mode 100644 | |
--- /dev/null (date 1662913591187) | |
+++ b/include/CMakeLists.txt (date 1662913591187) | |
@@ -0,0 +1,20 @@ | |
+ | |
+ | |
+#add_custom_command( | |
+# OUTPUT include/odp-netlink.h | |
+# COMMAND sed -f build-aux/extract-odp-netlink-h < datapath/linux/compat/include/linux/openvswitch.h | |
+# WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} | |
+# VERBATIM | |
+#) | |
+ovs_cus_command(NAME odp-netlink | |
+ OUTPUT include/odp-netlink.h | |
+ COMMENT "Gen:include/odp-netlink.h" | |
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} | |
+ COMMAND sed -f build-aux/extract-odp-netlink-h < datapath/linux/compat/include/linux/openvswitch.h | |
+ ) | |
+ovs_cus_command(NAME odp-netlink-macros | |
+ OUTPUT include/odp-netlink-macros.h | |
+ COMMENT "Gen include/odp-netlink-macros.h" | |
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} | |
+ COMMAND build-aux/extract-odp-netlink-macros-h include/odp-netlink.h | |
+ ) | |
\ No newline at end of file | |
Index: vswitchd/CMakeLists.txt | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/vswitchd/CMakeLists.txt b/vswitchd/CMakeLists.txt | |
new file mode 100644 | |
--- /dev/null (date 1662902589257) | |
+++ b/vswitchd/CMakeLists.txt (date 1662902589257) | |
@@ -0,0 +1,11 @@ | |
+ | |
+ | |
+set(OVS_VSWITCHD_SRC | |
+ vswitchd/bridge.c | |
+vswitchd/bridge.h | |
+vswitchd/ovs-vswitchd.c | |
+vswitchd/system-stats.c | |
+vswitchd/system-stats.h | |
+vswitchd/xenserver.c | |
+vswitchd/xenserver.h | |
+ ) | |
\ No newline at end of file | |
Index: lib/CMakeLists.txt | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt | |
new file mode 100644 | |
--- /dev/null (date 1662910430025) | |
+++ b/lib/CMakeLists.txt (date 1662910430025) | |
@@ -0,0 +1,483 @@ | |
+ | |
+ | |
+set(LIB_OPENVSWITCH_SRC | |
+ lib/aes128.c | |
+ lib/aes128.h | |
+ lib/async-append.h | |
+ lib/backtrace.c | |
+ lib/backtrace.h | |
+ lib/bfd.c | |
+ lib/bfd.h | |
+ lib/bitmap.h | |
+ lib/bundle.c | |
+ lib/bundle.h | |
+ lib/byte-order.h | |
+ lib/byteq.c | |
+ lib/byteq.h | |
+ lib/cfm.c | |
+ lib/cfm.h | |
+ lib/classifier.c | |
+ lib/classifier.h | |
+ lib/classifier-private.h | |
+ lib/ccmap.c | |
+ lib/ccmap.h | |
+ lib/cmap.c | |
+ lib/cmap.h | |
+ lib/colors.c | |
+ lib/colors.h | |
+ lib/command-line.c | |
+ lib/command-line.h | |
+ lib/compiler.h | |
+ lib/connectivity.c | |
+ lib/connectivity.h | |
+ lib/conntrack-icmp.c | |
+ lib/conntrack-private.h | |
+ lib/conntrack-tcp.c | |
+ lib/conntrack-other.c | |
+ lib/conntrack.c | |
+ lib/conntrack.h | |
+ lib/coverage.c | |
+ lib/coverage.h | |
+ lib/crc32c.c | |
+ lib/crc32c.h | |
+ lib/csum.c | |
+ lib/csum.h | |
+ lib/ct-dpif.c | |
+ lib/ct-dpif.h | |
+ lib/daemon.c | |
+ lib/daemon.h | |
+ lib/daemon-private.h | |
+ lib/db-ctl-base.c | |
+ lib/db-ctl-base.h | |
+ lib/dhcp.h | |
+ lib/dummy.c | |
+ lib/dummy.h | |
+ lib/dhparams.h | |
+ lib/dirs.h | |
+ lib/dpctl.c | |
+ lib/dpctl.h | |
+ lib/dp-packet.h | |
+ lib/dp-packet.c | |
+ lib/dpdk.h | |
+ lib/dpif-netdev-lookup-generic.c | |
+ lib/dpif-netdev.c | |
+ lib/dpif-netdev.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 | |
+ lib/heap.c | |
+ lib/heap.h | |
+ lib/dynamic-string.c | |
+ lib/entropy.c | |
+ lib/entropy.h | |
+ lib/fat-rwlock.c | |
+ lib/fat-rwlock.h | |
+ lib/fatal-signal.c | |
+ lib/fatal-signal.h | |
+ lib/flow.c | |
+ lib/flow.h | |
+ lib/guarded-list.c | |
+ lib/guarded-list.h | |
+ lib/hash.c | |
+ lib/hash.h | |
+ lib/hash-aarch64.h | |
+ lib/hindex.c | |
+ lib/hindex.h | |
+ lib/hmap.c | |
+ lib/hmapx.c | |
+ lib/hmapx.h | |
+ lib/id-pool.c | |
+ lib/id-pool.h | |
+ lib/if-notifier-manual.c | |
+ lib/if-notifier.h | |
+ lib/ipf.c | |
+ lib/ipf.h | |
+ lib/jhash.c | |
+ lib/jhash.h | |
+ lib/json.c | |
+ lib/jsonrpc.c | |
+ lib/jsonrpc.h | |
+ lib/lacp.c | |
+ lib/lacp.h | |
+ lib/latch.h | |
+ lib/learn.c | |
+ lib/learn.h | |
+ lib/learning-switch.c | |
+ lib/learning-switch.h | |
+ lib/lockfile.c | |
+ lib/lockfile.h | |
+ lib/mac-learning.c | |
+ lib/mac-learning.h | |
+ lib/match.c | |
+ lib/mcast-snooping.c | |
+ lib/mcast-snooping.h | |
+ lib/memory.c | |
+ lib/memory.h | |
+ lib/meta-flow.c | |
+ lib/multipath.c | |
+ lib/multipath.h | |
+ lib/namemap.c | |
+ lib/netdev-dpdk.h | |
+ lib/netdev-dummy.c | |
+ lib/netdev-offload.c | |
+ lib/netdev-offload.h | |
+ lib/netdev-offload-provider.h | |
+ lib/netdev-provider.h | |
+ lib/netdev-vport.c | |
+ lib/netdev-vport.h | |
+ lib/netdev-vport-private.h | |
+ lib/netdev.c | |
+ lib/netdev.h | |
+ lib/netflow.h | |
+ lib/netlink.c | |
+ lib/netlink.h | |
+ lib/netnsid.h | |
+ lib/nx-match.c | |
+ lib/nx-match.h | |
+ lib/object-collection.c | |
+ lib/object-collection.h | |
+ lib/odp-execute.c | |
+ lib/odp-execute.h | |
+ lib/odp-util.c | |
+ lib/odp-util.h | |
+ lib/ofp-actions.c | |
+ lib/ofp-bundle.c | |
+ lib/ofp-connection.c | |
+ lib/ofp-ed-props.c | |
+ lib/ofp-errors.c | |
+ lib/ofp-flow.c | |
+ lib/ofp-group.c | |
+ lib/ofp-ipfix.c | |
+ lib/ofp-match.c | |
+ lib/ofp-meter.c | |
+ lib/ofp-monitor.c | |
+ lib/ofp-msgs.c | |
+ lib/ofp-packet.c | |
+ lib/ofp-parse.c | |
+ lib/ofp-port.c | |
+ lib/ofp-print.c | |
+ lib/ofp-prop.c | |
+ lib/ofp-protocol.c | |
+ lib/ofp-queue.c | |
+ lib/ofp-switch.c | |
+ lib/ofp-table.c | |
+ lib/ofp-util.c | |
+ lib/ofp-version-opt.h | |
+ lib/ofp-version-opt.c | |
+ lib/ofpbuf.c | |
+ lib/ovs-atomic-c++.h | |
+ lib/ovs-atomic-c11.h | |
+ lib/ovs-atomic-clang.h | |
+ lib/ovs-atomic-flag-gcc4.7+.h | |
+ lib/ovs-atomic-gcc4+.h | |
+ lib/ovs-atomic-gcc4.7+.h | |
+ lib/ovs-atomic-i586.h | |
+ lib/ovs-atomic-locked.c | |
+ lib/ovs-atomic-locked.h | |
+ lib/ovs-atomic-msvc.h | |
+ lib/ovs-atomic-pthreads.h | |
+ lib/ovs-atomic-x86_64.h | |
+ lib/ovs-atomic.h | |
+ lib/ovs-lldp.c | |
+ lib/ovs-lldp.h | |
+ lib/ovs-numa.c | |
+ lib/ovs-numa.h | |
+ lib/ovs-rcu.c | |
+ lib/ovs-rcu.h | |
+ lib/ovs-router.h | |
+ lib/ovs-router.c | |
+ lib/ovs-thread.c | |
+ lib/ovs-thread.h | |
+ lib/ovsdb-data.c | |
+ lib/ovsdb-data.h | |
+ lib/ovsdb-error.c | |
+ lib/ovsdb-error.h | |
+ lib/ovsdb-idl-provider.h | |
+ lib/ovsdb-idl.c | |
+ lib/ovsdb-idl.h | |
+ lib/ovsdb-map-op.c | |
+ lib/ovsdb-map-op.h | |
+ lib/ovsdb-set-op.c | |
+ lib/ovsdb-set-op.h | |
+ lib/ovsdb-condition.h | |
+ lib/ovsdb-condition.c | |
+ lib/ovsdb-parser.c | |
+ lib/ovsdb-parser.h | |
+ lib/ovsdb-session.c | |
+ lib/ovsdb-session.h | |
+ lib/ovsdb-types.c | |
+ lib/ovsdb-types.h | |
+ lib/ox-stat.c | |
+ lib/ox-stat.h | |
+ lib/packets.c | |
+ lib/packets.h | |
+ lib/pcap-file.c | |
+ lib/pcap-file.h | |
+ lib/perf-counter.h | |
+ lib/perf-counter.c | |
+ lib/stopwatch.h | |
+ lib/stopwatch.c | |
+ lib/poll-loop.c | |
+ lib/process.c | |
+ lib/process.h | |
+ lib/pvector.c | |
+ lib/pvector.h | |
+ lib/random.c | |
+ lib/random.h | |
+ lib/rconn.c | |
+ lib/rculist.h | |
+ lib/reconnect.c | |
+ lib/reconnect.h | |
+ lib/rstp.c | |
+ lib/rstp.h | |
+ lib/rstp-common.h | |
+ lib/rstp-state-machines.c | |
+ lib/rstp-state-machines.h | |
+ lib/sat-math.h | |
+ lib/seq.c | |
+ lib/seq.h | |
+ lib/sha1.c | |
+ lib/sha1.h | |
+ lib/shash.c | |
+ lib/simap.c | |
+ lib/simap.h | |
+ lib/skiplist.c | |
+ lib/skiplist.h | |
+ lib/smap.c | |
+ lib/smap.h | |
+ lib/socket-util.c | |
+ lib/socket-util.h | |
+ lib/sort.c | |
+ lib/sort.h | |
+ lib/sset.c | |
+ lib/sset.h | |
+ lib/stp.c | |
+ lib/stp.h | |
+ lib/stream-fd.c | |
+ lib/stream-fd.h | |
+ lib/stream-provider.h | |
+ lib/stream-ssl.h | |
+ lib/stream-tcp.c | |
+ lib/stream.c | |
+ lib/stream.h | |
+ lib/stdio.c | |
+ lib/string.c | |
+ lib/svec.c | |
+ lib/svec.h | |
+ lib/syslog-direct.c | |
+ lib/syslog-direct.h | |
+ lib/syslog-libc.c | |
+ lib/syslog-libc.h | |
+ lib/syslog-null.c | |
+ lib/syslog-null.h | |
+ lib/syslog-provider.h | |
+ lib/table.c | |
+ lib/table.h | |
+ lib/timer.c | |
+ lib/timer.h | |
+ lib/timeval.c | |
+ lib/timeval.h | |
+ lib/tnl-neigh-cache.c | |
+ lib/tnl-neigh-cache.h | |
+ lib/tnl-ports.c | |
+ lib/tnl-ports.h | |
+ lib/netdev-native-tnl.c | |
+ lib/netdev-native-tnl.h | |
+ lib/token-bucket.c | |
+ lib/tun-metadata.c | |
+ lib/tun-metadata.h | |
+ lib/unaligned.h | |
+ lib/unicode.c | |
+ lib/unicode.h | |
+ lib/unixctl.c | |
+ lib/unixctl.h | |
+ lib/userspace-tso.c | |
+ lib/userspace-tso.h | |
+ lib/util.c | |
+ lib/util.h | |
+ lib/uuid.c | |
+ lib/uuid.h | |
+ lib/valgrind.h | |
+ lib/vconn-provider.h | |
+ lib/vconn-stream.c | |
+ lib/vconn.c | |
+ lib/versions.h | |
+ lib/vl-mff-map.h | |
+ lib/vlan-bitmap.c | |
+ lib/vlan-bitmap.h | |
+ lib/vlog.c | |
+ lib/lldp/aa-structs.h | |
+ lib/lldp/lldp.c | |
+ lib/lldp/lldp-const.h | |
+ lib/lldp/lldp-tlv.h | |
+ lib/lldp/lldpd.c | |
+ lib/lldp/lldpd.h | |
+ lib/lldp/lldpd-structs.c | |
+ lib/lldp/lldpd-structs.h | |
+ ) | |
+ | |
+if (DPDK_NETDEV) | |
+ set(LIB_OPENVSWITCH_SRC ${LIB_OPENVSWITCH_SRC} | |
+ lib/dpdk.c | |
+ lib/netdev-dpdk.c | |
+ lib/netdev-offload-dpdk.c | |
+ lib/seq-pool.c | |
+ lib/llring.c) | |
+else () | |
+ set(LIB_OPENVSWITCH_SRC ${LIB_OPENVSWITCH_SRC} lib/dpdk-stub.c) | |
+endif () | |
+ | |
+if (WIN32) | |
+ set(LIB_OPENVSWITCH_SRC ${LIB_OPENVSWITCH_SRC} | |
+ lib/daemon-windows.c | |
+ lib/getopt_long.c | |
+ lib/getrusage-windows.c | |
+ lib/latch-windows.c | |
+ lib/route-table-stub.c | |
+ lib/if-notifier-stub.c | |
+ lib/stream-windows.c | |
+ lib/strsep.c | |
+ ) | |
+else () | |
+ set(LIB_OPENVSWITCH_SRC ${LIB_OPENVSWITCH_SRC} | |
+ lib/daemon-unix.c | |
+ lib/latch-unix.c | |
+ lib/signals.c | |
+ lib/signals.h | |
+ lib/socket-util-unix.c | |
+ lib/stream-unix.c | |
+ ) | |
+ add_definitions(-DHAVE_STRUCT_MMSGHDR_MSG_LEN=1) | |
+endif () | |
+ | |
+if (LINUX) | |
+ set(LIB_OPENVSWITCH_SRC ${LIB_OPENVSWITCH_SRC} | |
+ lib/dpif-netlink.c | |
+ lib/dpif-netlink.h | |
+ lib/dpif-netlink-rtnl.c | |
+ lib/dpif-netlink-rtnl.h | |
+ lib/if-notifier.c | |
+ lib/netdev-linux.c | |
+ lib/netdev-linux.h | |
+ lib/netdev-linux-private.h | |
+ lib/netdev-offload-tc.c | |
+ lib/netlink-conntrack.c | |
+ lib/netlink-conntrack.h | |
+ lib/netlink-notifier.c | |
+ lib/netlink-notifier.h | |
+ lib/netlink-protocol.h | |
+ lib/netlink-socket.c | |
+ lib/netlink-socket.h | |
+ lib/rtnetlink.c | |
+ lib/rtnetlink.h | |
+ lib/route-table.c | |
+ lib/route-table.h | |
+ lib/tc.c | |
+ lib/tc.h | |
+ ) | |
+endif () | |
+ | |
+if (HAVE_AF_XDP) | |
+ set(LIB_OPENVSWITCH_SRC ${LIB_OPENVSWITCH_SRC} | |
+ lib/netdev-afxdp-pool.c | |
+ lib/netdev-afxdp-pool.h | |
+ lib/netdev-afxdp.c | |
+ lib/netdev-afxdp.h | |
+ ) | |
+endif () | |
+ | |
+if (HAVE_POSIX_AIO) | |
+ set(LIB_OPENVSWITCH_SRC ${LIB_OPENVSWITCH_SRC} | |
+ lib/async-append-aio.c | |
+ ) | |
+ | |
+else () | |
+ set(LIB_OPENVSWITCH_SRC ${LIB_OPENVSWITCH_SRC} | |
+ lib/async-append-null.c | |
+ ) | |
+endif () | |
+ | |
+if (HAVE_IF_DL) | |
+ set(LIB_OPENVSWITCH_SRC ${LIB_OPENVSWITCH_SRC} | |
+ lib/if-notifier-bsd.c | |
+ lib/netdev-bsd.c | |
+ lib/rtbsd.c | |
+ lib/rtbsd.h | |
+ lib/route-table-bsd.c | |
+ ) | |
+endif () | |
+ | |
+if (HAVE_OPENSSL) | |
+ add_custom_command( | |
+ OUTPUT lib/dhparams.c | |
+ COMMAND ${CMAKE_SOURCE_DIR}/build-aux/generate-dhparams-c | |
+ ) | |
+ set(LIB_OPENVSWITCH_SRC ${LIB_OPENVSWITCH_SRC} | |
+ lib/stream-ssl.c | |
+ lib/dhparams.c | |
+ ) | |
+else () | |
+ set(LIB_OPENVSWITCH_SRC ${LIB_OPENVSWITCH_SRC} | |
+ lib/stream-nossl.c | |
+ ) | |
+endif () | |
+ | |
+set(LIB_OPENVSWITCH_SRC ${LIB_OPENVSWITCH_SRC} lib/dns-resolve.h) | |
+if (HAVE_UNBOUND) | |
+ set(LIB_OPENVSWITCH_SRC ${LIB_OPENVSWITCH_SRC} lib/dns-resolve.c) | |
+else () | |
+ set(LIB_OPENVSWITCH_SRC ${LIB_OPENVSWITCH_SRC} lib/dns-resolve-stub.c) | |
+endif () | |
+ | |
+configure_file(lib/libopenvswitch.pc.in libopenvswitch.pc @ONLY) | |
+configure_file(lib/libsflow.pc.in libsflow.pc @ONLY) | |
+ | |
+add_custom_command( | |
+ OUTPUT lib/dirs.c | |
+ sed "lib/dirs.c.in" "-e" 's,[@]srcdir[@],$(srcdir),g' | |
+ -e 's,[@]LOGDIR[@],"$(LOGDIR)",g' | |
+ -e 's,[@]RUNDIR[@],"$(RUNDIR)",g' | |
+ -e 's,[@]DBDIR[@],"$(DBDIR)",g' | |
+ -e 's,[@]bindir[@],"$(bindir)",g' | |
+ -e 's,[@]sysconfdir[@],"$(sysconfdir)",g' | |
+ -e 's,[@]pkgdatadir[@],"$(pkgdatadir)",g' | |
+) | |
+add_custom_command( | |
+ OUTPUT lib/meta-flow.inc | |
+ python meta-flow include/openvswitch/meta-flow.h | |
+) | |
+add_custom_command( | |
+ OUTPUT lib/nx-match.inc | |
+ python nx-match include/openvswitch/meta-flow.h | |
+) | |
+add_custom_command( | |
+ OUTPUT lib/ofp-actions.inc1 | |
+ python prototypes lib/ofp-actions.c | |
+) | |
+add_custom_command( | |
+ OUTPUT lib/ofp-actions.inc2 | |
+ python definitions lib/ofp-actions.c | |
+) | |
+add_custom_command( | |
+ OUTPUT lib/ofp-errors.inc | |
+ python ${CMAKE_SOURCE_DIR}/build-aux/extract-ofp-errors include/openvswitch/ofp-errors.h include/openflow/openflow-common.h | |
+) | |
+add_custom_command( | |
+ OUTPUT lib/ofp-msgs.inc | |
+ python ${CMAKE_SOURCE_DIR}/build-aux/extract-ofp-msgs include/openvswitch/ofp-msgs.h lib/ofp-msgs.inc | |
+) | |
+set(libsflow_SRC | |
+ lib/sflow_api.h | |
+ lib/sflow.h | |
+ lib/sflow_agent.c | |
+ lib/sflow_sampler.c | |
+ lib/sflow_poller.c | |
+ lib/sflow_receiver.c | |
+ ) | |
+#add_custom_command( | |
+# OUTPUT lib/ovsdb-server-idl.ovsidl | |
+# python meta-flow $(srcdir)/include/openvswitch/meta-flow.h | |
+#) | |
\ No newline at end of file | |
Index: vtep/CMakeLists.txt | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/vtep/CMakeLists.txt b/vtep/CMakeLists.txt | |
new file mode 100644 | |
--- /dev/null (date 1662902589265) | |
+++ b/vtep/CMakeLists.txt (date 1662902589265) | |
@@ -0,0 +1,6 @@ | |
+ | |
+ | |
+set(libvtep_SRC | |
+ vtep/vtep-idl.c | |
+vtep/vtep-idl.h | |
+ ) | |
\ No newline at end of file | |
Index: ovsdb/CMakeLists.txt | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/ovsdb/CMakeLists.txt b/ovsdb/CMakeLists.txt | |
new file mode 100644 | |
--- /dev/null (date 1662903132724) | |
+++ b/ovsdb/CMakeLists.txt (date 1662903132724) | |
@@ -0,0 +1,57 @@ | |
+ | |
+set(LIBOVSDB_SRC | |
+ ovsdb/column.c | |
+ovsdb/column.h | |
+ovsdb/condition.c | |
+ovsdb/condition.h | |
+ovsdb/execution.c | |
+ovsdb/file.c | |
+ovsdb/file.h | |
+ovsdb/jsonrpc-server.c | |
+ovsdb/jsonrpc-server.h | |
+ovsdb/log.c | |
+ovsdb/log.h | |
+ovsdb/mutation.c | |
+ovsdb/mutation.h | |
+ovsdb/ovsdb.c | |
+ovsdb/ovsdb.h | |
+ovsdb/monitor.c | |
+ovsdb/monitor.h | |
+ovsdb/query.c | |
+ovsdb/query.h | |
+ovsdb/raft.c | |
+ovsdb/raft.h | |
+ovsdb/raft-private.c | |
+ovsdb/raft-private.h | |
+ovsdb/raft-rpc.c | |
+ovsdb/raft-rpc.h | |
+ovsdb/rbac.c | |
+ovsdb/rbac.h | |
+ovsdb/replication.c | |
+ovsdb/replication.h | |
+ovsdb/row.c | |
+ovsdb/row.h | |
+ovsdb/server.c | |
+ovsdb/server.h | |
+ovsdb/storage.c | |
+ovsdb/storage.h | |
+ovsdb/table.c | |
+ovsdb/table.h | |
+ovsdb/trigger.c | |
+ovsdb/trigger.h | |
+ovsdb/transaction.c | |
+ovsdb/transaction.h | |
+ovsdb/ovsdb-util.c | |
+ovsdb/ovsdb-util.h | |
+ ) | |
+configure_file(ovsdb/libovsdb.pc.in libovsdb.pc @ONLY) | |
+ | |
+set(OVSDB_TOOL_SRC | |
+ ovsdb/ovsdb-tool.c | |
+ ) | |
+set(OVSDB_CLIENT_SRC | |
+ ovsdb/ovsdb-client.c | |
+ ) | |
+set(OVSDB_SEVER_SRC | |
+ ovsdb/ovsdb-server.c | |
+ ) | |
\ No newline at end of file | |
Index: ofproto/CMakeLists.txt | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/ofproto/CMakeLists.txt b/ofproto/CMakeLists.txt | |
new file mode 100644 | |
--- /dev/null (date 1662901176518) | |
+++ b/ofproto/CMakeLists.txt (date 1662901176518) | |
@@ -0,0 +1,51 @@ | |
+ | |
+set(LIBOFPROTO_SRC | |
+ ofproto/bond.c | |
+ ofproto/bond.h | |
+ ofproto/collectors.c | |
+ ofproto/collectors.h | |
+ ofproto/connmgr.c | |
+ ofproto/connmgr.h | |
+ ofproto/fail-open.c | |
+ ofproto/fail-open.h | |
+ ofproto/in-band.c | |
+ ofproto/in-band.h | |
+ ofproto/names.c | |
+ ofproto/netflow.c | |
+ ofproto/netflow.h | |
+ ofproto/ofproto.c | |
+ ofproto/ofproto.h | |
+ ofproto/ofproto-dpif.c | |
+ ofproto/ofproto-dpif.h | |
+ ofproto/ofproto-dpif-ipfix.c | |
+ ofproto/ofproto-dpif-ipfix.h | |
+ ofproto/ofproto-dpif-mirror.c | |
+ ofproto/ofproto-dpif-mirror.h | |
+ ofproto/ofproto-dpif-monitor.c | |
+ ofproto/ofproto-dpif-monitor.h | |
+ ofproto/ofproto-dpif-rid.c | |
+ ofproto/ofproto-dpif-rid.h | |
+ ofproto/ofproto-dpif-sflow.c | |
+ ofproto/ofproto-dpif-sflow.h | |
+ ofproto/ofproto-dpif-trace.c | |
+ ofproto/ofproto-dpif-trace.h | |
+ ofproto/ofproto-dpif-upcall.c | |
+ ofproto/ofproto-dpif-upcall.h | |
+ ofproto/ofproto-dpif-xlate.c | |
+ ofproto/ofproto-dpif-xlate.h | |
+ ofproto/ofproto-provider.h | |
+ ofproto/ofproto-dpif-xlate-cache.c | |
+ ofproto/ofproto-dpif-xlate-cache.h | |
+ ofproto/pinsched.c | |
+ ofproto/pinsched.h | |
+ ofproto/tunnel.c | |
+ ofproto/tunnel.h | |
+ ofproto/bundles.c | |
+ ofproto/bundles.h | |
+ ) | |
+configure_file(ofproto/libofproto.pc.in ofproto/libofproto.pc @ONLY) | |
+ | |
+add_custom_command( | |
+ OUTPUT lib/meta-flow.inc | |
+ ofproto/ipfix-gen-entities ofproto/ipfix.xml | |
+) | |
\ No newline at end of file | |
Index: CMakeLists.txt | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/CMakeLists.txt b/CMakeLists.txt | |
new file mode 100644 | |
--- /dev/null (date 1662914732907) | |
+++ b/CMakeLists.txt (date 1662914732907) | |
@@ -0,0 +1,159 @@ | |
+cmake_minimum_required(VERSION 3.10) | |
+project(openvswitch C) | |
+find_package(PkgConfig) | |
+ | |
+set(CMAKE_C_COMPILER "gcc") | |
+set(CMAKE_CXX_COMPILER "g++") | |
+ | |
+set(PACKAGE_VERSION "2.13.6") | |
+set(PACKAGE_STRING "${PROJECT_NAME} ${PACKAGE_VERSION}") | |
+set(LT_CURRENT 0) | |
+set(LT_REVISION 0) | |
+set(LT_AGE 0) | |
+ | |
+if (WITH_DPDK) | |
+ message(STATUS "enable dpdk") | |
+ pkg_search_module(DPDK REQUIRED libdpdk) | |
+ include_directories(${DPDK_INCLUDE_DIRS}) | |
+ set(DPDK_NETDEV 1) | |
+ add_definitions(-DDPDK_NETDEV=1) | |
+ # message(STATUS "${DPDK_INCLUDE_DIRS}") | |
+endif () | |
+if (ENABLE_SSL) | |
+ message(STATUS "enable ssl") | |
+ pkg_search_module(OPENSSL REQUIRED openssl) | |
+ include_directories(${OPENSSL_INCLUDE_DIRS}) | |
+ set(HAVE_OPENSSL 1) | |
+endif () | |
+ | |
+ | |
+include_directories(include) | |
+include_directories(build/include) | |
+include_directories(include/sparse) | |
+include_directories(include/openvswitch) | |
+include_directories(include/openflow) | |
+include_directories(include/linux) | |
+include_directories(include/linux/netfilter) | |
+include_directories(include/linux/tc_act) | |
+include_directories(lib) | |
+include_directories(.) | |
+include_directories(datapath/linux/compat/include) | |
+include_directories(datapath/linux/compat) | |
+ | |
+#set(custom_depends ) | |
+ | |
+function(ovs_cus_command) | |
+ set(oneValueArgs NAME OUTPUT WORKING_DIRECTORY) | |
+ set(multiValueArgs COMMENT COMMAND) | |
+ cmake_parse_arguments(OVS_CUS_COMMAND "${options}" "${oneValueArgs}" | |
+ "${multiValueArgs}" ${ARGN}) | |
+ | |
+# message(STATUS "unparse ${OVS_CUS_COMMAND_UNPARSED_ARGUMENTS}" ) | |
+# message(STATUS "no value ${OVS_CUS_COMMAND_KEYWORDS_MISSING_VALUES}" ) | |
+ if(NOT DEFINED OVS_CUS_COMMAND_NAME) | |
+ message(FATAL_ERROR "OVS_CUS_COMMAND: Missing NAME argument") | |
+ endif() | |
+# message(STATUS "custom command ${OVS_CUS_COMMAND_NAME}") | |
+ add_custom_command( | |
+ OUTPUT ${OVS_CUS_COMMAND_OUTPUT} | |
+ COMMAND ${OVS_CUS_COMMAND_COMMAND} | |
+ COMMENT "${OVS_CUS_COMMAND_COMMENT}" | |
+ WORKING_DIRECTORY ${OVS_CUS_COMMAND_WORKING_DIRECTORY} | |
+ ) | |
+ add_custom_target(${OVS_CUS_COMMAND_NAME} ALL | |
+ DEPENDS ${OUTPUT}) | |
+ message(STATUS "custom command ${OVS_CUS_COMMAND_NAME}") | |
+ | |
+ set(custom_depends ${custom_depends} ${OVS_CUS_COMMAND_NAME} PARENT_SCOPE) | |
+endfunction() | |
+ | |
+ | |
+ | |
+include(lib/CMakeLists.txt) | |
+include(ofproto/CMakeLists.txt) | |
+include(utilities/CMakeLists.txt) | |
+include(tests/CMakeLists.txt) | |
+include(include/CMakeLists.txt) | |
+include(vswitchd/CMakeLists.txt) | |
+include(ovsdb/CMakeLists.txt) | |
+ | |
+configure_file(config.h.in ${CMAKE_SOURCE_DIR}/config.h @ONLY) | |
+configure_file(include/openvswitch/version.h.in ${CMAKE_SOURCE_DIR}/include/openvswitch/version.h @ONLY) | |
+add_compile_options( | |
+ -Wall | |
+ -Wextra | |
+ -Wno-sign-compare | |
+ -Wpointer-arith | |
+ -Wformat | |
+ -Wformat-security | |
+ -Wswitch-enum | |
+ -Wunused-parameter | |
+ -Wbad-function-cast | |
+ -Wcast-align | |
+ -Wstrict-prototypes | |
+ -Wold-style-definition | |
+ -Wmissing-prototypes | |
+ -Wmissing-field-initializers | |
+ # -Wthread-safety | |
+ -fno-strict-aliasing | |
+ -Wswitch-bool | |
+ -Wlogical-not-parentheses | |
+ -Wsizeof-array-argument | |
+ -Wbool-compare | |
+ -Wshift-negative-value | |
+ -Wduplicated-cond | |
+ # -Qunused-arguments | |
+ -Wshadow | |
+ -Wmultistatement-macros | |
+ -Wcast-align=strict | |
+ -Wno-unused-parameter | |
+ # -Wno-null-pointer-arithmetic | |
+ # -Warray-bounds-pointer-arithmetic | |
+) | |
+add_definitions(-D__CHECKER__) | |
+#aux_source_directory(lib LIBSRC) | |
+#aux_source_directory(datapath DATAPATH) | |
+#aux_source_directory(vswitchd VSWITCHD) | |
+#aux_source_directory(ofproto OFPROTO) | |
+#aux_source_directory(vtep VTEP) | |
+#aux_source_directory(ovsdb OVSDB_SRC) | |
+ | |
+#add_library(libopenvswitch SHARED | |
+# ${LIBSRC} | |
+# ${DATAPATH} | |
+# ${OFPROTO} | |
+# ) | |
+ | |
+add_library(openvswitch ${LIB_OPENVSWITCH_SRC}) | |
+#MESSAGE(STATUS ${custom_depends}) | |
+add_dependencies(openvswitch ${custom_depends}) | |
+ | |
+ | |
+if (OPENSSL_FOUND) | |
+ target_link_libraries(openvswitch ${OPENSSL_LIBRARIES}) | |
+endif () | |
+ | |
+add_executable(ovs-vswitchd ${OVS_VSWITCHD_SRC}) | |
+add_library(libovsdb ${LIBOVSDB_SRC}) | |
+add_executable(ovsdb-server ${OVSDB_SEVER_SRC}) | |
+add_executable(ovsdb-client ${OVSDB_CLIENT_SRC}) | |
+add_executable(ovs-appctl ${OVS_APPCTL_SRC}) | |
+add_executable(ovs-dpctl ${OVS_DPCTL_SRC}) | |
+add_executable(ovs-ofctl ${OVS_OFCTL_SRC}) | |
+add_executable(ovs-vsctl ${OVS_VSCTL_SRC}) | |
+ | |
+target_link_libraries(ovsdb-server libovsdb) | |
+target_link_libraries(ovsdb-client libovsdb) | |
+target_link_libraries(ovs-vsctl libovsdb) | |
+ | |
+target_link_libraries(ovsdb-server openvswitch) | |
+target_link_libraries(ovs-vswitchd openvswitch) | |
+ | |
+ | |
+#add_executable(ovs-appctl utilities/ovs-appctl.c) | |
+#add_executable(ovs-vsctl utilities/ovs-vsctl.c) | |
+#add_executable(ovs-dpctl utilities/ovs-dpctl.c) | |
+ | |
+#target_link_libraries(ovs-appctl libopenvswitch) | |
+#target_link_libraries(ovs-vsctl libopenvswitch) | |
+#target_link_libraries(ovs-dpctl libopenvswitch) | |
Index: utilities/CMakeLists.txt | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/utilities/CMakeLists.txt b/utilities/CMakeLists.txt | |
new file mode 100644 | |
--- /dev/null (date 1662901579593) | |
+++ b/utilities/CMakeLists.txt (date 1662901579593) | |
@@ -0,0 +1,19 @@ | |
+ | |
+set(OVS_APPCTL_SRC | |
+ utilities/ovs-appctl.c | |
+ ) | |
+set(OVS_TESTCONTROLLER_SRC | |
+ utilities/ovs-testcontroller.c | |
+ ) | |
+set(OVS_DPCTL_SRC | |
+ utilities/ovs-dpctl.c | |
+ ) | |
+set(OVS_OFCTL_SRC | |
+ utilities/ovs-ofctl.c | |
+ ) | |
+set(OVS_VSCTL_SRC | |
+ utilities/ovs-vsctl.c | |
+ ) | |
+if (UNIX) | |
+ set(NLMON_SRC utilities/nlmon.c) | |
+endif () | |
\ No newline at end of file |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment