diff --git a/0001-openvswitch-merge-compiler.h-files-into-one-file.patch b/0001-openvswitch-merge-compiler.h-files-into-one-file.patch new file mode 100644 index 0000000..7343ee9 --- /dev/null +++ b/0001-openvswitch-merge-compiler.h-files-into-one-file.patch @@ -0,0 +1,1202 @@ +From 6a0bd6a46a662f9792966c06e61fed5fbed0aff4 Mon Sep 17 00:00:00 2001 +From: Ferdinand Thiessen +Date: Mon, 28 Feb 2022 15:06:43 +0100 +Subject: [PATCH 1/2] openvswitch: merge compiler.h files into one file + +Signed-off-by: Ferdinand Thiessen +--- + include/openvswitch/compiler.h | 14 ++++++++ + lib/bundle.h | 2 +- + lib/command-line.h | 2 +- + lib/compiler.h | 44 -------------------------- + lib/coverage.h | 2 +- + lib/db-ctl-base.c | 3 +- + lib/db-ctl-base.h | 2 +- + lib/dns-resolve-stub.c | 2 +- + lib/dpctl.c | 3 +- + lib/dpctl.h | 2 +- + lib/dpif-netdev-extract-avx512.c | 4 +-- + lib/dpif-netdev-lookup-avx512-gather.c | 4 +-- + lib/dpif-netdev-lookup-generic.c | 6 ++-- + lib/fat-rwlock.h | 2 +- + lib/guarded-list.h | 2 +- + lib/if-notifier-stub.c | 2 +- + lib/learn.h | 2 +- + lib/lldp/lldp.c | 2 +- + lib/lldp/lldpd.c | 2 +- + lib/multipath.h | 2 +- + lib/netdev-native-tnl.h | 2 +- + lib/netdev-vport-private.h | 2 +- + lib/netdev-vport.h | 2 +- + lib/netlink-conntrack.c | 2 +- + lib/netlink-conntrack.h | 2 +- + lib/nx-match.h | 2 +- + lib/ofp-actions.c | 2 +- + lib/ofp-print.c | 2 +- + lib/ovs-atomic.h | 2 +- + lib/ovs-numa.h | 2 +- + lib/ovs-rcu.h | 2 +- + lib/ovs-router.c | 4 +-- + lib/ovs-thread.c | 2 +- + lib/ovsdb-data.h | 2 +- + lib/ovsdb-error.h | 2 +- + lib/ovsdb-idl.h | 2 +- + lib/ovsdb-parser.h | 2 +- + lib/ovsdb-types.h | 2 +- + lib/packets.h | 2 +- + lib/pcap-file.c | 2 +- + lib/route-table-stub.c | 2 +- + lib/rstp.h | 2 +- + lib/sha1.c | 2 +- + lib/stp.h | 2 +- + lib/syslog-direct.c | 2 +- + lib/syslog-libc.c | 2 +- + lib/syslog-null.c | 2 +- + lib/table.h | 2 +- + lib/tun-metadata.c | 2 +- + lib/unicode.h | 2 +- + lib/util.c | 2 +- + lib/util.h | 34 ++++++++++---------- + ofproto/ofproto-dpif-sflow.c | 2 +- + ovsdb/column.h | 2 +- + ovsdb/condition.h | 2 +- + ovsdb/file.h | 2 +- + ovsdb/log.h | 2 +- + ovsdb/mutation.h | 2 +- + ovsdb/ovsdb-client.c | 2 +- + ovsdb/ovsdb-tool.c | 3 +- + ovsdb/ovsdb.h | 2 +- + ovsdb/raft-rpc.c | 2 +- + ovsdb/raft.h | 2 +- + ovsdb/storage.h | 2 +- + ovsdb/table.h | 2 +- + ovsdb/transaction.h | 2 +- + tests/ovstest.h | 2 +- + tests/test-reconnect.c | 2 +- + utilities/ovs-dpctl.c | 2 +- + utilities/ovs-ofctl.c | 2 +- + utilities/ovs-testcontroller.c | 2 +- + utilities/ovs-vsctl.c | 2 +- + vswitchd/ovs-vswitchd.c | 2 +- + vtep/vtep-ctl.c | 4 +-- + 74 files changed, 108 insertions(+), 141 deletions(-) + delete mode 100644 lib/compiler.h + +diff --git a/include/openvswitch/compiler.h b/include/openvswitch/compiler.h +index cf009f826..ed155c766 100644 +--- a/include/openvswitch/compiler.h ++++ b/include/openvswitch/compiler.h +@@ -27,6 +27,16 @@ + #define __has_extension(x) 0 + #endif + ++/* Output a message (not an error) while compiling without failing the ++ * compilation process */ ++#if HAVE_PRAGMA_MESSAGE && !__CHECKER__ ++#define DO_PRAGMA(x) _Pragma(#x) ++#define BUILD_MESSAGE(x) \ ++ DO_PRAGMA(message(x)) ++#else ++#define BUILD_MESSAGE(x) ++#endif ++ + /* To make OVS_NO_RETURN portable across gcc/clang and MSVC, it should be + * added at the beginning of the function declaration. */ + #if __GNUC__ && !__CHECKER__ +@@ -38,6 +48,8 @@ + #endif + + #if __GNUC__ && !__CHECKER__ ++#define OVS_MALLOC_LIKE __attribute__((__malloc__)) ++#define OVS_ALWAYS_INLINE __attribute__((always_inline)) + #define OVS_UNUSED __attribute__((__unused__)) + #define OVS_PRINTF_FORMAT(FMT, ARG1) __attribute__((__format__(printf, FMT, ARG1))) + #define OVS_SCANF_FORMAT(FMT, ARG1) __attribute__((__format__(scanf, FMT, ARG1))) +@@ -51,6 +63,8 @@ + #define OVS_WARN_UNUSED_RESULT + #define OVS_LIKELY(CONDITION) (!!(CONDITION)) + #define OVS_UNLIKELY(CONDITION) (!!(CONDITION)) ++#define OVS_MALLOC_LIKE ++#define OVS_ALWAYS_INLINE + #endif + + #if __has_feature(c_thread_safety_attributes) +diff --git a/lib/bundle.h b/lib/bundle.h +index b3b9cdcee..73e9f86bd 100644 +--- a/lib/bundle.h ++++ b/lib/bundle.h +@@ -23,7 +23,7 @@ + #include + #include + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openflow/nicira-ext.h" + #include "openvswitch/ofp-errors.h" + #include "openvswitch/types.h" +diff --git a/lib/command-line.h b/lib/command-line.h +index fc2a2690f..957a53fc8 100644 +--- a/lib/command-line.h ++++ b/lib/command-line.h +@@ -19,7 +19,7 @@ + + /* Utilities for command-line parsing. */ + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + + struct option; + +diff --git a/lib/compiler.h b/lib/compiler.h +deleted file mode 100644 +index 03af47a03..000000000 +--- a/lib/compiler.h ++++ /dev/null +@@ -1,44 +0,0 @@ +-/* +- * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2019 Nicira, Inc. +- * +- * Licensed under the Apache License, Version 2.0 (the "License"); +- * you may not use this file except in compliance with the License. +- * You may obtain a copy of the License at: +- * +- * http://www.apache.org/licenses/LICENSE-2.0 +- * +- * Unless required by applicable law or agreed to in writing, software +- * distributed under the License is distributed on an "AS IS" BASIS, +- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +- * See the License for the specific language governing permissions and +- * limitations under the License. +- */ +- +-#ifndef COMPILER_H +-#define COMPILER_H 1 +- +-#include "openvswitch/compiler.h" +- +-#if __GNUC__ && !__CHECKER__ +-#define STRFTIME_FORMAT(FMT) __attribute__((__format__(__strftime__, FMT, 0))) +-#define MALLOC_LIKE __attribute__((__malloc__)) +-#define ALWAYS_INLINE __attribute__((always_inline)) +-#define SENTINEL(N) __attribute__((sentinel(N))) +-#else +-#define STRFTIME_FORMAT(FMT) +-#define MALLOC_LIKE +-#define ALWAYS_INLINE +-#define SENTINEL(N) +-#endif +- +-/* Output a message (not an error) while compiling without failing the +- * compilation process */ +-#if HAVE_PRAGMA_MESSAGE && !__CHECKER__ +-#define DO_PRAGMA(x) _Pragma(#x) +-#define BUILD_MESSAGE(x) \ +- DO_PRAGMA(message(x)) +-#else +-#define BUILD_MESSAGE(x) +-#endif +- +-#endif /* compiler.h */ +diff --git a/lib/coverage.h b/lib/coverage.h +index dea990e6f..8eb5a1e12 100644 +--- a/lib/coverage.h ++++ b/lib/coverage.h +@@ -28,7 +28,7 @@ + * a useful debugging tool. */ + + #include "ovs-thread.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + + /* Makes coverage_run run every 5000 ms (5 seconds). + * If this value is redefined, the new value must +diff --git a/lib/db-ctl-base.c b/lib/db-ctl-base.c +index 707456158..0c459156f 100644 +--- a/lib/db-ctl-base.c ++++ b/lib/db-ctl-base.c +@@ -22,8 +22,7 @@ + + #include "db-ctl-base.h" + +-#include "command-line.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "dirs.h" + #include "openvswitch/dynamic-string.h" + #include "fatal-signal.h" +diff --git a/lib/db-ctl-base.h b/lib/db-ctl-base.h +index 284b573d0..1cea6559b 100644 +--- a/lib/db-ctl-base.h ++++ b/lib/db-ctl-base.h +@@ -17,7 +17,7 @@ + #ifndef DB_CTL_BASE_H + #define DB_CTL_BASE_H 1 + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/shash.h" + +diff --git a/lib/dns-resolve-stub.c b/lib/dns-resolve-stub.c +index 859c76f6b..b54581d8b 100644 +--- a/lib/dns-resolve-stub.c ++++ b/lib/dns-resolve-stub.c +@@ -16,7 +16,7 @@ + + #include + #include "dns-resolve.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + + void + dns_resolve_init(bool is_daemon OVS_UNUSED) +diff --git a/lib/dpctl.c b/lib/dpctl.c +index 29041fa3e..81cbe3730 100644 +--- a/lib/dpctl.c ++++ b/lib/dpctl.c +@@ -27,8 +27,7 @@ + #include + #include + +-#include "command-line.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "ct-dpif.h" + #include "dirs.h" + #include "dpctl.h" +diff --git a/lib/dpctl.h b/lib/dpctl.h +index 9d0052152..557f32936 100644 +--- a/lib/dpctl.h ++++ b/lib/dpctl.h +@@ -18,7 +18,7 @@ + + #include + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + + struct dpctl_params { + /* True if it is called by ovs-appctl command. */ +diff --git a/lib/dpif-netdev-extract-avx512.c b/lib/dpif-netdev-extract-avx512.c +index c1c1fefb6..b8bb4f38d 100644 +--- a/lib/dpif-netdev-extract-avx512.c ++++ b/lib/dpif-netdev-extract-avx512.c +@@ -468,12 +468,12 @@ mfex_handle_tcp_flags(const struct tcp_header *tcp, uint64_t *block) + } + + /* Generic loop to process any mfex profile. This code is specialized into +- * multiple actual MFEX implementation functions. Its marked ALWAYS_INLINE ++ * multiple actual MFEX implementation functions. Its marked OVS_ALWAYS_INLINE + * to ensure the compiler specializes each instance. The code is marked "hot" + * to inform the compiler this is a hotspot in the program, encouraging + * inlining of callee functions such as the permute calls. + */ +-static inline uint32_t ALWAYS_INLINE ++static inline uint32_t OVS_ALWAYS_INLINE + __attribute__ ((hot)) + mfex_avx512_process(struct dp_packet_batch *packets, + struct netdev_flow_key *keys, +diff --git a/lib/dpif-netdev-lookup-avx512-gather.c b/lib/dpif-netdev-lookup-avx512-gather.c +index 7bc1e9e9a..6e50f6ecd 100644 +--- a/lib/dpif-netdev-lookup-avx512-gather.c ++++ b/lib/dpif-netdev-lookup-avx512-gather.c +@@ -152,7 +152,7 @@ netdev_rule_matches_key(const struct dpcls_rule *rule, + * u64_lanes_mask: bitmask of lanes to process. + * use_vpop: compile-time constant indicating if VPOPCNT instruction allowed. + */ +-static inline ALWAYS_INLINE __m512i ++static inline OVS_ALWAYS_INLINE __m512i + avx512_blocks_gather(__m512i v_u0, + __m512i v_u1, + const uint64_t *pkt_blocks, +@@ -203,7 +203,7 @@ avx512_blocks_gather(__m512i v_u0, + return v_masked_blocks; + } + +-static inline uint32_t ALWAYS_INLINE ++static inline uint32_t OVS_ALWAYS_INLINE + avx512_lookup_impl(struct dpcls_subtable *subtable, + uint32_t keys_map, + const struct netdev_flow_key *keys[], +diff --git a/lib/dpif-netdev-lookup-generic.c b/lib/dpif-netdev-lookup-generic.c +index 6c74ac3a1..37a069401 100644 +--- a/lib/dpif-netdev-lookup-generic.c ++++ b/lib/dpif-netdev-lookup-generic.c +@@ -170,12 +170,12 @@ netdev_rule_matches_key(const struct dpcls_rule *rule, + * unroll loops and flatten out code-sequences based on the knowledge of the + * mf_bits_* compile time values. This results in improved performance. + * +- * Note: this function is marked with ALWAYS_INLINE to ensure the compiler ++ * Note: this function is marked with OVS_ALWAYS_INLINE to ensure the compiler + * inlines the below code, and then uses the compile time constants to make +- * specialized versions of the runtime code. Without ALWAYS_INLINE, the ++ * specialized versions of the runtime code. Without OVS_ALWAYS_INLINE, the + * compiler might decide to not inline, and performance will suffer. + */ +-static inline uint32_t ALWAYS_INLINE ++static inline uint32_t OVS_ALWAYS_INLINE + lookup_generic_impl(struct dpcls_subtable *subtable, + uint32_t keys_map, + const struct netdev_flow_key *keys[], +diff --git a/lib/fat-rwlock.h b/lib/fat-rwlock.h +index 181fa9238..49480819b 100644 +--- a/lib/fat-rwlock.h ++++ b/lib/fat-rwlock.h +@@ -17,7 +17,7 @@ + #ifndef FAT_RWLOCK_H + #define FAT_RWLOCK_H 1 + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/list.h" + #include "ovs-thread.h" + +diff --git a/lib/guarded-list.h b/lib/guarded-list.h +index 80ce22c12..7f1d257e1 100644 +--- a/lib/guarded-list.h ++++ b/lib/guarded-list.h +@@ -18,7 +18,7 @@ + #define GUARDED_LIST_H 1 + + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/list.h" + #include "ovs-thread.h" + +diff --git a/lib/if-notifier-stub.c b/lib/if-notifier-stub.c +index a5b529a4a..32c0e7a9e 100644 +--- a/lib/if-notifier-stub.c ++++ b/lib/if-notifier-stub.c +@@ -17,7 +17,7 @@ + #include + #include "if-notifier.h" + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + + struct if_notifier * + if_notifier_create(if_notify_func *cb OVS_UNUSED, void *aux OVS_UNUSED) +diff --git a/lib/learn.h b/lib/learn.h +index 2bdfee702..d962d48c8 100644 +--- a/lib/learn.h ++++ b/lib/learn.h +@@ -17,7 +17,7 @@ + #ifndef LEARN_H + #define LEARN_H 1 + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/ofp-errors.h" + + struct ds; +diff --git a/lib/lldp/lldp.c b/lib/lldp/lldp.c +index dfeb2a800..1b5b4db57 100644 +--- a/lib/lldp/lldp.c ++++ b/lib/lldp/lldp.c +@@ -25,7 +25,7 @@ + #include + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "dp-packet.h" + #include "packets.h" + +diff --git a/lib/lldp/lldpd.c b/lib/lldp/lldpd.c +index a024dc5e5..a600da550 100644 +--- a/lib/lldp/lldpd.c ++++ b/lib/lldp/lldpd.c +@@ -39,7 +39,7 @@ + #include + #include + #endif +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/list.h" + #include "packets.h" +diff --git a/lib/multipath.h b/lib/multipath.h +index 4158302a7..5c09f731d 100644 +--- a/lib/multipath.h ++++ b/lib/multipath.h +@@ -18,7 +18,7 @@ + #define MULTIPATH_H 1 + + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/ofp-errors.h" + + struct ds; +diff --git a/lib/netdev-native-tnl.h b/lib/netdev-native-tnl.h +index 22ae2ce53..ba05b8b4c 100644 +--- a/lib/netdev-native-tnl.h ++++ b/lib/netdev-native-tnl.h +@@ -19,7 +19,7 @@ + + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "dp-packet.h" + #include "packets.h" + #include "unixctl.h" +diff --git a/lib/netdev-vport-private.h b/lib/netdev-vport-private.h +index d89a28c66..490894f1a 100644 +--- a/lib/netdev-vport-private.h ++++ b/lib/netdev-vport-private.h +@@ -19,7 +19,7 @@ + + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "netdev.h" + #include "netdev-provider.h" + #include "ovs-thread.h" +diff --git a/lib/netdev-vport.h b/lib/netdev-vport.h +index 9d756a265..3f47f2fca 100644 +--- a/lib/netdev-vport.h ++++ b/lib/netdev-vport.h +@@ -19,7 +19,7 @@ + + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + + struct dpif_netlink_vport; + struct dpif_flow_stats; +diff --git a/lib/netlink-conntrack.c b/lib/netlink-conntrack.c +index 78f1bf60b..8dca46e55 100644 +--- a/lib/netlink-conntrack.c ++++ b/lib/netlink-conntrack.c +@@ -27,7 +27,7 @@ + #include + + #include "byte-order.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/dynamic-string.h" + #include "netlink.h" + #include "netlink-socket.h" +diff --git a/lib/netlink-conntrack.h b/lib/netlink-conntrack.h +index 81c74549b..4972dc6ca 100644 +--- a/lib/netlink-conntrack.h ++++ b/lib/netlink-conntrack.h +@@ -20,7 +20,7 @@ + #include + + #include "byte-order.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "ct-dpif.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/hmap.h" +diff --git a/lib/nx-match.h b/lib/nx-match.h +index 3120ac0a0..967c8d93f 100644 +--- a/lib/nx-match.h ++++ b/lib/nx-match.h +@@ -20,7 +20,7 @@ + #include + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "flow.h" + #include "openvswitch/meta-flow.h" + #include "openvswitch/ofp-errors.h" +diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c +index 006837c2e..f7fb96c5c 100644 +--- a/lib/ofp-actions.c ++++ b/lib/ofp-actions.c +@@ -22,7 +22,7 @@ + #include "bundle.h" + #include "byte-order.h" + #include "colors.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "dummy.h" + #include "openvswitch/hmap.h" + #include "learn.h" +diff --git a/lib/ofp-print.c b/lib/ofp-print.c +index b0facbf9f..db7318205 100644 +--- a/lib/ofp-print.c ++++ b/lib/ofp-print.c +@@ -30,7 +30,7 @@ + #include "bundle.h" + #include "byte-order.h" + #include "colors.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "dp-packet.h" + #include "flow.h" + #include "learn.h" +diff --git a/lib/ovs-atomic.h b/lib/ovs-atomic.h +index 8fdce0cf8..341e0d0cc 100644 +--- a/lib/ovs-atomic.h ++++ b/lib/ovs-atomic.h +@@ -322,7 +322,7 @@ + #include + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "util.h" + + #define IN_OVS_ATOMIC_H +diff --git a/lib/ovs-numa.h b/lib/ovs-numa.h +index ecc251a7f..2030bdb64 100644 +--- a/lib/ovs-numa.h ++++ b/lib/ovs-numa.h +@@ -20,7 +20,7 @@ + #include + #include + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/hmap.h" + + #define OVS_CORE_UNSPEC INT_MAX +diff --git a/lib/ovs-rcu.h b/lib/ovs-rcu.h +index ecc4c9201..5e31181d8 100644 +--- a/lib/ovs-rcu.h ++++ b/lib/ovs-rcu.h +@@ -157,7 +157,7 @@ + * + */ + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "ovs-atomic.h" + + #if __GNUC__ +diff --git a/lib/ovs-router.c b/lib/ovs-router.c +index 09b81c6e5..e52cbb0bf 100644 +--- a/lib/ovs-router.c ++++ b/lib/ovs-router.c +@@ -31,8 +31,8 @@ + #include + + #include "classifier.h" +-#include "command-line.h" +-#include "compiler.h" ++#include "colors.h" ++#include "openvswitch/compiler.h" + #include "dpif.h" + #include "fatal-signal.h" + #include "openvswitch/dynamic-string.h" +diff --git a/lib/ovs-thread.c b/lib/ovs-thread.c +index 805cba622..542dbbc7d 100644 +--- a/lib/ovs-thread.c ++++ b/lib/ovs-thread.c +@@ -23,7 +23,7 @@ + #endif + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "fatal-signal.h" + #include "hash.h" + #include "openvswitch/list.h" +diff --git a/lib/ovsdb-data.h b/lib/ovsdb-data.h +index 47115a7b8..a27ce91ed 100644 +--- a/lib/ovsdb-data.h ++++ b/lib/ovsdb-data.h +@@ -17,7 +17,7 @@ + #define OVSDB_DATA_H 1 + + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "ovsdb-types.h" + #include "openvswitch/json.h" + #include "openvswitch/shash.h" +diff --git a/lib/ovsdb-error.h b/lib/ovsdb-error.h +index 77a60e074..1621f0eac 100644 +--- a/lib/ovsdb-error.h ++++ b/lib/ovsdb-error.h +@@ -16,7 +16,7 @@ + #ifndef OVSDB_ERROR_H + #define OVSDB_ERROR_H 1 + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + + struct json; + +diff --git a/lib/ovsdb-idl.h b/lib/ovsdb-idl.h +index d00599616..48cff8a83 100644 +--- a/lib/ovsdb-idl.h ++++ b/lib/ovsdb-idl.h +@@ -37,7 +37,7 @@ + + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "ovsdb-types.h" + #include "ovsdb-data.h" + #include "openvswitch/list.h" +diff --git a/lib/ovsdb-parser.h b/lib/ovsdb-parser.h +index 62e4c004f..8af64de36 100644 +--- a/lib/ovsdb-parser.h ++++ b/lib/ovsdb-parser.h +@@ -17,7 +17,7 @@ + #define OVSDB_PARSER_H 1 + + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/json.h" + #include "sset.h" + #include "util.h" +diff --git a/lib/ovsdb-types.h b/lib/ovsdb-types.h +index b9eb0928d..1776fdbec 100644 +--- a/lib/ovsdb-types.h ++++ b/lib/ovsdb-types.h +@@ -19,7 +19,7 @@ + #include + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "uuid.h" + + #ifdef __cplusplus +diff --git a/lib/packets.h b/lib/packets.h +index 5bdf6e4bb..ee4d96542 100644 +--- a/lib/packets.h ++++ b/lib/packets.h +@@ -21,7 +21,7 @@ + #include + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/geneve.h" + #include "openvswitch/packets.h" + #include "openvswitch/types.h" +diff --git a/lib/pcap-file.c b/lib/pcap-file.c +index 41835f6f4..67c9b9bea 100644 +--- a/lib/pcap-file.c ++++ b/lib/pcap-file.c +@@ -22,7 +22,7 @@ + #include + #include + #include "byte-order.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "dp-packet.h" + #include "flow.h" + #include "openvswitch/hmap.h" +diff --git a/lib/route-table-stub.c b/lib/route-table-stub.c +index dd0b096d4..be3254855 100644 +--- a/lib/route-table-stub.c ++++ b/lib/route-table-stub.c +@@ -14,7 +14,7 @@ + + #include + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "ovs-router.h" + #include "route-table.h" + +diff --git a/lib/rstp.h b/lib/rstp.h +index 39a13b58c..90ea67d58 100644 +--- a/lib/rstp.h ++++ b/lib/rstp.h +@@ -33,7 +33,7 @@ + + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "util.h" + + /* Thread Safety: Callers passing in RSTP and RSTP port object +diff --git a/lib/sha1.c b/lib/sha1.c +index 87360d9cd..18f245c8b 100644 +--- a/lib/sha1.c ++++ b/lib/sha1.c +@@ -33,7 +33,7 @@ + #include "sha1.h" + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "util.h" + + /* a bit faster & bigger, if defined */ +diff --git a/lib/stp.h b/lib/stp.h +index c64089af4..a0a127978 100644 +--- a/lib/stp.h ++++ b/lib/stp.h +@@ -22,7 +22,7 @@ + + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "util.h" + + struct dp_packet; +diff --git a/lib/syslog-direct.c b/lib/syslog-direct.c +index 85ca9e292..fd23a050e 100644 +--- a/lib/syslog-direct.c ++++ b/lib/syslog-direct.c +@@ -20,7 +20,7 @@ + #include + #include + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/dynamic-string.h" + #include "socket-util.h" + #include "syslog-provider.h" +diff --git a/lib/syslog-libc.c b/lib/syslog-libc.c +index b702d4121..f3f3e24c0 100644 +--- a/lib/syslog-libc.c ++++ b/lib/syslog-libc.c +@@ -21,7 +21,7 @@ + #include + #include + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/dynamic-string.h" + #include "socket-util.h" + #include "syslog-provider.h" +diff --git a/lib/syslog-null.c b/lib/syslog-null.c +index 9dbd13911..294795f71 100644 +--- a/lib/syslog-null.c ++++ b/lib/syslog-null.c +@@ -17,7 +17,7 @@ + + #include + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "syslog-provider.h" + #include "util.h" + +diff --git a/lib/table.h b/lib/table.h +index 33263e2a2..c68b8944b 100644 +--- a/lib/table.h ++++ b/lib/table.h +@@ -19,7 +19,7 @@ + + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/json.h" + + struct ds; +diff --git a/lib/tun-metadata.c b/lib/tun-metadata.c +index af0bcbde8..168634a74 100644 +--- a/lib/tun-metadata.c ++++ b/lib/tun-metadata.c +@@ -19,7 +19,7 @@ + #include + + #include "bitmap.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/hmap.h" + #include "openvswitch/match.h" + #include "nx-match.h" +diff --git a/lib/unicode.h b/lib/unicode.h +index 4a8baca68..5f86beab8 100644 +--- a/lib/unicode.h ++++ b/lib/unicode.h +@@ -19,7 +19,7 @@ + + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + + /* Returns true if 'c' is a Unicode code point, otherwise false. */ + static inline bool +diff --git a/lib/util.c b/lib/util.c +index 1195c7982..eb2341422 100644 +--- a/lib/util.c ++++ b/lib/util.c +@@ -202,7 +202,7 @@ xstrdup(const char *s) + return xmemdup0(s, strlen(s)); + } + +-char * MALLOC_LIKE ++char * OVS_MALLOC_LIKE + nullable_xstrdup(const char *s) + { + return s ? xstrdup(s) : NULL; +diff --git a/lib/util.h b/lib/util.h +index aea19d45f..964fb4f20 100644 +--- a/lib/util.h ++++ b/lib/util.h +@@ -26,7 +26,7 @@ + #include + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "util.h" + #include "openvswitch/util.h" + #if defined(__aarch64__) && __GNUC__ >= 6 +@@ -156,28 +156,28 @@ bool memory_locked(void); + OVS_NO_RETURN void out_of_memory(void); + + /* Allocation wrappers that abort if memory is exhausted. */ +-void *xmalloc(size_t) MALLOC_LIKE; +-void *xcalloc(size_t, size_t) MALLOC_LIKE; +-void *xzalloc(size_t) MALLOC_LIKE; ++void *xmalloc(size_t) OVS_MALLOC_LIKE; ++void *xcalloc(size_t, size_t) OVS_MALLOC_LIKE; ++void *xzalloc(size_t) OVS_MALLOC_LIKE; + void *xrealloc(void *, size_t); +-void *xmemdup(const void *, size_t) MALLOC_LIKE; +-char *xmemdup0(const char *, size_t) MALLOC_LIKE; +-char *xstrdup(const char *) MALLOC_LIKE; +-char *nullable_xstrdup(const char *) MALLOC_LIKE; ++void *xmemdup(const void *, size_t) OVS_MALLOC_LIKE; ++char *xmemdup0(const char *, size_t) OVS_MALLOC_LIKE; ++char *xstrdup(const char *) OVS_MALLOC_LIKE; ++char *nullable_xstrdup(const char *) OVS_MALLOC_LIKE; + bool nullable_string_is_equal(const char *a, const char *b); +-char *xasprintf(const char *format, ...) OVS_PRINTF_FORMAT(1, 2) MALLOC_LIKE; +-char *xvasprintf(const char *format, va_list) OVS_PRINTF_FORMAT(1, 0) MALLOC_LIKE; ++char *xasprintf(const char *format, ...) OVS_PRINTF_FORMAT(1, 2) OVS_MALLOC_LIKE; ++char *xvasprintf(const char *format, va_list) OVS_PRINTF_FORMAT(1, 0) OVS_MALLOC_LIKE; + void *x2nrealloc(void *p, size_t *n, size_t s); + + /* Allocation wrappers for specialized situations where coverage counters + * cannot be used. */ +-void *xmalloc__(size_t) MALLOC_LIKE; +-void *xcalloc__(size_t, size_t) MALLOC_LIKE; +-void *xzalloc__(size_t) MALLOC_LIKE; ++void *xmalloc__(size_t) OVS_MALLOC_LIKE; ++void *xcalloc__(size_t, size_t) OVS_MALLOC_LIKE; ++void *xzalloc__(size_t) OVS_MALLOC_LIKE; + void *xrealloc__(void *, size_t); + +-void *xmalloc_cacheline(size_t) MALLOC_LIKE; +-void *xzalloc_cacheline(size_t) MALLOC_LIKE; ++void *xmalloc_cacheline(size_t) OVS_MALLOC_LIKE; ++void *xzalloc_cacheline(size_t) OVS_MALLOC_LIKE; + void free_cacheline(void *); + + void ovs_strlcpy(char *dst, const char *src, size_t size); +@@ -185,9 +185,9 @@ void ovs_strzcpy(char *dst, const char *src, size_t size); + + int string_ends_with(const char *str, const char *suffix); + +-void *xmalloc_pagealign(size_t) MALLOC_LIKE; ++void *xmalloc_pagealign(size_t) OVS_MALLOC_LIKE; + void free_pagealign(void *); +-void *xmalloc_size_align(size_t, size_t) MALLOC_LIKE; ++void *xmalloc_size_align(size_t, size_t) OVS_MALLOC_LIKE; + void free_size_align(void *); + + /* The C standards say that neither the 'dst' nor 'src' argument to +diff --git a/ofproto/ofproto-dpif-sflow.c b/ofproto/ofproto-dpif-sflow.c +index 30e7caf54..772881b0d 100644 +--- a/ofproto/ofproto-dpif-sflow.c ++++ b/ofproto/ofproto-dpif-sflow.c +@@ -23,7 +23,7 @@ + #include + #include + #include "collectors.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "dpif.h" + #include "hash.h" + #include "openvswitch/hmap.h" +diff --git a/ovsdb/column.h b/ovsdb/column.h +index f75a1076d..890295629 100644 +--- a/ovsdb/column.h ++++ b/ovsdb/column.h +@@ -17,7 +17,7 @@ + #define OVSDB_COLUMN_H 1 + + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "ovsdb-types.h" + + struct ovsdb_table; +diff --git a/ovsdb/condition.h b/ovsdb/condition.h +index c794966ce..65728fb32 100644 +--- a/ovsdb/condition.h ++++ b/ovsdb/condition.h +@@ -17,7 +17,7 @@ + #define OVSDB_CONDITION_H 1 + + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "ovsdb-data.h" + #include "bitmap.h" + #include "ovsdb-condition.h" +diff --git a/ovsdb/file.h b/ovsdb/file.h +index be4f6ad27..0ee758958 100644 +--- a/ovsdb/file.h ++++ b/ovsdb/file.h +@@ -17,7 +17,7 @@ + #define OVSDB_FILE_H 1 + + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + + struct ovsdb; + struct ovsdb_schema; +diff --git a/ovsdb/log.h b/ovsdb/log.h +index 90714ea13..d823058f5 100644 +--- a/ovsdb/log.h ++++ b/ovsdb/log.h +@@ -37,7 +37,7 @@ + + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + + struct ds; + struct json; +diff --git a/ovsdb/mutation.h b/ovsdb/mutation.h +index 7566ef199..dfb2d6940 100644 +--- a/ovsdb/mutation.h ++++ b/ovsdb/mutation.h +@@ -17,7 +17,7 @@ + #define OVSDB_MUTATION_H 1 + + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "ovsdb-data.h" + + struct json; +diff --git a/ovsdb/ovsdb-client.c b/ovsdb/ovsdb-client.c +index f1b8d6491..db5eebc17 100644 +--- a/ovsdb/ovsdb-client.c ++++ b/ovsdb/ovsdb-client.c +@@ -28,7 +28,7 @@ + + #include "command-line.h" + #include "column.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "daemon.h" + #include "dirs.h" + #include "openvswitch/dynamic-string.h" +diff --git a/ovsdb/ovsdb-tool.c b/ovsdb/ovsdb-tool.c +index d4a9e34cc..8465666e5 100644 +--- a/ovsdb/ovsdb-tool.c ++++ b/ovsdb/ovsdb-tool.c +@@ -23,8 +23,7 @@ + #include + + #include "column.h" +-#include "command-line.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "dirs.h" + #include "openvswitch/dynamic-string.h" + #include "fatal-signal.h" +diff --git a/ovsdb/ovsdb.h b/ovsdb/ovsdb.h +index ec2d235ec..b9e09b897 100644 +--- a/ovsdb/ovsdb.h ++++ b/ovsdb/ovsdb.h +@@ -16,7 +16,7 @@ + #ifndef OVSDB_OVSDB_H + #define OVSDB_OVSDB_H 1 + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/hmap.h" + #include "openvswitch/list.h" + #include "openvswitch/shash.h" +diff --git a/ovsdb/raft-rpc.c b/ovsdb/raft-rpc.c +index dd14d8109..051291b0f 100644 +--- a/ovsdb/raft-rpc.c ++++ b/ovsdb/raft-rpc.c +@@ -19,7 +19,7 @@ + #include "raft-rpc.h" + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "jsonrpc.h" + #include "ovsdb-error.h" + #include "ovsdb-parser.h" +diff --git a/ovsdb/raft.h b/ovsdb/raft.h +index 599bc0ae8..5f2c0c773 100644 +--- a/ovsdb/raft.h ++++ b/ovsdb/raft.h +@@ -61,7 +61,7 @@ + + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "uuid.h" + + struct json; +diff --git a/ovsdb/storage.h b/ovsdb/storage.h +index ff026b77f..7d03d4015 100644 +--- a/ovsdb/storage.h ++++ b/ovsdb/storage.h +@@ -18,7 +18,7 @@ + + #include + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + + struct json; + struct ovsdb_schema; +diff --git a/ovsdb/table.h b/ovsdb/table.h +index ce69a5d13..de2619514 100644 +--- a/ovsdb/table.h ++++ b/ovsdb/table.h +@@ -17,7 +17,7 @@ + #define OVSDB_TABLE_H 1 + + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/hmap.h" + #include "openvswitch/shash.h" + +diff --git a/ovsdb/transaction.h b/ovsdb/transaction.h +index 6b5bb7f24..5c0bb3834 100644 +--- a/ovsdb/transaction.h ++++ b/ovsdb/transaction.h +@@ -17,7 +17,7 @@ + #define OVSDB_TRANSACTION_H 1 + + #include +-#include "compiler.h" ++#include "openvswitch/compiler.h" + + struct json; + struct ovsdb; +diff --git a/tests/ovstest.h b/tests/ovstest.h +index ddd7f3eb9..72fe6d152 100644 +--- a/tests/ovstest.h ++++ b/tests/ovstest.h +@@ -17,7 +17,7 @@ + #ifndef OVSTEST_H + #define OVSTEST_H + +-#include "compiler.h" ++#include "openvswitch/compiler.h" + + #include "command-line.h" + +diff --git a/tests/test-reconnect.c b/tests/test-reconnect.c +index c84bb1cdb..7262ea774 100644 +--- a/tests/test-reconnect.c ++++ b/tests/test-reconnect.c +@@ -21,8 +21,8 @@ + #include + #include + #include ++#include "openvswitch/compiler.h" + #include "command-line.h" +-#include "compiler.h" + #include "ovstest.h" + #include "svec.h" + #include "util.h" +diff --git a/utilities/ovs-dpctl.c b/utilities/ovs-dpctl.c +index 56d7a942b..46d248694 100644 +--- a/utilities/ovs-dpctl.c ++++ b/utilities/ovs-dpctl.c +@@ -31,8 +31,8 @@ + #include + #include + ++#include "openvswitch/compiler.h" + #include "command-line.h" +-#include "compiler.h" + #include "dirs.h" + #include "dpctl.h" + #include "fatal-signal.h" +diff --git a/utilities/ovs-ofctl.c b/utilities/ovs-ofctl.c +index ede7f1e61..85df32d7e 100644 +--- a/utilities/ovs-ofctl.c ++++ b/utilities/ovs-ofctl.c +@@ -34,7 +34,7 @@ + #include "command-line.h" + #include "daemon.h" + #include "colors.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "dirs.h" + #include "dp-packet.h" + #include "fatal-signal.h" +diff --git a/utilities/ovs-testcontroller.c b/utilities/ovs-testcontroller.c +index b489ff5fc..c3d4bc7ff 100644 +--- a/utilities/ovs-testcontroller.c ++++ b/utilities/ovs-testcontroller.c +@@ -24,8 +24,8 @@ + #include + #include + ++#include "openvswitch/compiler.h" + #include "command-line.h" +-#include "compiler.h" + #include "daemon.h" + #include "fatal-signal.h" + #include "learning-switch.h" +diff --git a/utilities/ovs-vsctl.c b/utilities/ovs-vsctl.c +index 37cc72d40..6013e9f57 100644 +--- a/utilities/ovs-vsctl.c ++++ b/utilities/ovs-vsctl.c +@@ -29,8 +29,8 @@ + + #include "db-ctl-base.h" + ++#include "openvswitch/compiler.h" + #include "command-line.h" +-#include "compiler.h" + #include "dirs.h" + #include "fatal-signal.h" + #include "hash.h" +diff --git a/vswitchd/ovs-vswitchd.c b/vswitchd/ovs-vswitchd.c +index 407bfc60e..09004e79b 100644 +--- a/vswitchd/ovs-vswitchd.c ++++ b/vswitchd/ovs-vswitchd.c +@@ -26,8 +26,8 @@ + #endif + + #include "bridge.h" ++#include "openvswitch/compiler.h" + #include "command-line.h" +-#include "compiler.h" + #include "daemon.h" + #include "dirs.h" + #include "dpif.h" +diff --git a/vtep/vtep-ctl.c b/vtep/vtep-ctl.c +index ab552457d..6c9259fba 100644 +--- a/vtep/vtep-ctl.c ++++ b/vtep/vtep-ctl.c +@@ -29,9 +29,9 @@ + + #include "db-ctl-base.h" + +-#include "command-line.h" +-#include "compiler.h" ++#include "openvswitch/compiler.h" + #include "openvswitch/dynamic-string.h" ++#include "command-line.h" + #include "fatal-signal.h" + #include "hash.h" + #include "openvswitch/json.h" +-- +2.35.1 + diff --git a/0002-build-Seperated-common-used-headers.patch b/0002-build-Seperated-common-used-headers.patch new file mode 100644 index 0000000..0e73113 --- /dev/null +++ b/0002-build-Seperated-common-used-headers.patch @@ -0,0 +1,11816 @@ +From 8e62dcacc834a2318cb69533f4f83d32bc950fd4 Mon Sep 17 00:00:00 2001 +From: Ferdinand Thiessen +Date: Mon, 28 Feb 2022 15:32:27 +0100 +Subject: [PATCH 2/2] build: Seperated common used headers + +--- + Makefile.am | 2 +- + build-aux/extract-odp-netlink-h | 9 + + build-aux/extract-odp-netlink-macros-h | 6 + + datapath/conntrack.c | 2 +- + datapath/conntrack.h | 2 +- + datapath/datapath.c | 2 +- + datapath/datapath.h | 2 +- + datapath/flow.c | 2 +- + datapath/flow_netlink.c | 2 +- + datapath/flow_netlink.h | 2 +- + datapath/flow_table.c | 2 +- + datapath/flow_table.h | 2 +- + datapath/meter.h | 2 +- + include/automake.mk | 1 + + include/internal/automake.mk | 77 +++ + {lib => include/internal}/bitmap.h | 2 +- + {lib => include/internal}/bundle.h | 0 + {lib => include/internal}/byte-order.h | 0 + {lib => include/internal}/classifier.h | 8 +- + {lib => include/internal}/cmap.h | 4 +- + {lib => include/internal}/colors.h | 0 + {lib => include/internal}/command-line.h | 0 + {lib => include/internal}/coverage.h | 2 +- + {lib => include/internal}/crc32c.h | 0 + {lib => include/internal}/csum.h | 0 + {lib => include/internal}/daemon.h | 0 + {lib => include/internal}/db-ctl-base.h | 0 + {lib => include/internal}/dhcp.h | 4 +- + {lib => include/internal}/dhparams.h | 0 + {lib => include/internal}/dirs.h | 0 + {lib => include/internal}/dp-packet.h | 10 +- + {lib => include/internal}/fatal-signal.h | 0 + {lib => include/internal}/flow.h | 10 +- + {lib => include/internal}/hash-aarch64.h | 0 + {lib => include/internal}/hash.h | 4 +- + {lib => include/internal}/hindex.h | 2 +- + {lib => include/internal}/hmapx.h | 0 + {lib => include/internal}/id-pool.h | 0 + {lib => include/internal}/jsonrpc.h | 0 + {lib => include/internal}/latch.h | 2 +- + {lib => include/internal}/mcast-snooping.h | 10 +- + {lib => include/internal}/memory.h | 0 + {lib => include/internal}/netdev-afxdp.h | 0 + {lib => include/internal}/netdev-dpdk.h | 0 + {lib => include/internal}/netdev.h | 4 +- + {lib => include/internal}/netlink-protocol.h | 2 +- + {lib => include/internal}/netlink.h | 2 +- + {lib => include/internal}/nx-match.h | 2 +- + {lib => include/internal}/ovs-atomic-c++.h | 0 + {lib => include/internal}/ovs-atomic-c11.h | 0 + {lib => include/internal}/ovs-atomic-clang.h | 2 +- + .../internal}/ovs-atomic-flag-gcc4.7+.h | 0 + {lib => include/internal}/ovs-atomic-gcc4+.h | 2 +- + .../internal}/ovs-atomic-gcc4.7+.h | 2 +- + {lib => include/internal}/ovs-atomic-i586.h | 0 + {lib => include/internal}/ovs-atomic-locked.c | 6 +- + {lib => include/internal}/ovs-atomic-locked.h | 0 + {lib => include/internal}/ovs-atomic-msvc.h | 0 + .../internal}/ovs-atomic-pthreads.h | 2 +- + {lib => include/internal}/ovs-atomic-x86_64.h | 0 + {lib => include/internal}/packets.h | 12 +- + {lib => include/internal}/process.h | 0 + {lib => include/internal}/pvector.h | 4 +- + {lib => include/internal}/random.h | 0 + {lib => include/internal}/rculist.h | 4 +- + {lib => include/internal}/seq.h | 2 +- + {lib => include/internal}/simap.h | 0 + {lib => include/internal}/skiplist.h | 0 + {lib => include/internal}/smap.h | 2 +- + {lib => include/internal}/socket-util.h | 0 + {lib => include/internal}/sort.h | 0 + {lib => include/internal}/sset.h | 2 +- + {lib => include/internal}/stopwatch.h | 0 + {lib => include/internal}/stream-ssl.h | 0 + {lib => include/internal}/stream.h | 4 +- + {lib => include/internal}/svec.h | 0 + {lib => include/internal}/table.h | 0 + {lib => include/internal}/timer.h | 4 +- + {lib => include/internal}/timeval.h | 2 +- + .../internal/tun-metadata-private.h | 2 +- + {lib => include/internal}/unaligned.h | 4 +- + {lib => include/internal}/unixctl.h | 0 + include/internal/util.h | 603 ++++++++++++++++++ + {lib => include/internal}/uuid.h | 0 + {lib => include/internal}/versions.h | 2 +- + include/openvswitch/automake.mk | 16 + + {lib => include/openvswitch}/ovs-atomic.h | 30 +- + {lib => include/openvswitch}/ovs-numa.h | 8 + + {lib => include/openvswitch}/ovs-rcu.h | 10 +- + {lib => include/openvswitch}/ovs-thread.h | 14 +- + .../openvswitch}/ovsdb-condition.h | 8 + + {lib => include/openvswitch}/ovsdb-cs.h | 10 +- + {lib => include/openvswitch}/ovsdb-data.h | 4 +- + {lib => include/openvswitch}/ovsdb-error.h | 8 + + .../openvswitch}/ovsdb-idl-provider.h | 12 +- + {lib => include/openvswitch}/ovsdb-idl.h | 8 +- + {lib => include/openvswitch}/ovsdb-map-op.h | 2 +- + {lib => include/openvswitch}/ovsdb-parser.h | 12 +- + {lib => include/openvswitch}/ovsdb-set-op.h | 2 +- + {lib => include/openvswitch}/ovsdb-types.h | 2 +- + include/sparse/automake.mk | 10 +- + include/windows/netinet/icmp6.h | 2 +- + include/windows/netinet/ip6.h | 2 +- + lib/aes128.c | 2 +- + lib/async-append-aio.c | 4 +- + lib/async-append-null.c | 2 +- + lib/automake.mk | 16 - + lib/backtrace.c | 2 +- + lib/bfd.c | 30 +- + lib/bfd.h | 2 +- + lib/bundle.c | 8 +- + lib/byteq.c | 2 +- + lib/ccmap.c | 12 +- + lib/ccmap.h | 4 +- + lib/cfm.c | 26 +- + lib/cfm.h | 2 +- + lib/classifier-private.h | 8 +- + lib/classifier.c | 8 +- + lib/cmap.c | 14 +- + lib/colors.c | 4 +- + lib/command-line.c | 8 +- + lib/connectivity.c | 4 +- + lib/conntrack-icmp.c | 2 +- + lib/conntrack-other.c | 2 +- + lib/conntrack-private.h | 8 +- + lib/conntrack-tcp.c | 6 +- + lib/conntrack.c | 20 +- + lib/conntrack.h | 12 +- + lib/coverage.c | 12 +- + lib/crc32c.c | 4 +- + lib/csum.c | 4 +- + lib/ct-dpif.h | 2 +- + lib/daemon-unix.c | 18 +- + lib/daemon-windows.c | 8 +- + lib/daemon.c | 6 +- + lib/db-ctl-base.c | 23 +- + lib/dhparams.c | 2 +- + lib/dirs.c.in | 6 +- + lib/dns-resolve.c | 4 +- + lib/dp-packet.c | 8 +- + lib/dpctl.c | 23 +- + lib/dpdk-stub.c | 4 +- + lib/dpdk.c | 18 +- + lib/dpif-netdev-avx512.c | 4 +- + lib/dpif-netdev-extract-avx512.c | 2 +- + lib/dpif-netdev-extract-study.c | 2 +- + lib/dpif-netdev-lookup-avx512-gather.c | 6 +- + lib/dpif-netdev-lookup-generic.c | 14 +- + lib/dpif-netdev-perf.c | 6 +- + lib/dpif-netdev-perf.h | 8 +- + lib/dpif-netdev-private-dpcls.h | 2 +- + lib/dpif-netdev-private-dpif.c | 2 +- + lib/dpif-netdev-private-extract.c | 8 +- + lib/dpif-netdev-private-flow.h | 2 +- + lib/dpif-netdev-private-thread.h | 2 +- + lib/dpif-netdev.c | 44 +- + lib/dpif-netdev.h | 4 +- + lib/dpif-netlink-rtnl.h | 2 +- + lib/dpif-netlink.c | 20 +- + lib/dpif-netlink.h | 2 +- + lib/dpif-provider.h | 2 +- + lib/dpif.c | 22 +- + lib/dpif.h | 10 +- + lib/dummy.c | 2 +- + lib/dynamic-string.c | 4 +- + lib/entropy.c | 4 +- + lib/fat-rwlock.c | 4 +- + lib/fat-rwlock.h | 2 +- + lib/fatal-signal.c | 10 +- + lib/flow.c | 28 +- + lib/getopt_long.c | 2 +- + lib/getrusage-windows.c | 2 +- + lib/guarded-list.h | 2 +- + lib/hash.c | 4 +- + lib/heap.c | 2 +- + lib/hindex.c | 4 +- + lib/hmap.c | 6 +- + lib/hmapx.c | 4 +- + lib/id-fpool.c | 2 +- + lib/id-pool.c | 4 +- + lib/if-notifier-bsd.c | 2 +- + lib/if-notifier.c | 2 +- + lib/ipf.c | 12 +- + lib/ipf.h | 2 +- + lib/jhash.c | 2 +- + lib/jhash.h | 2 +- + lib/json.c | 6 +- + lib/jsonrpc.c | 12 +- + lib/lacp.c | 18 +- + lib/lacp.h | 2 +- + lib/latch-unix.c | 4 +- + lib/latch-windows.c | 4 +- + lib/learn.c | 8 +- + lib/learning-switch.c | 12 +- + lib/lldp/lldp.c | 4 +- + lib/lldp/lldpd-structs.c | 2 +- + lib/lldp/lldpd-structs.h | 2 +- + lib/lldp/lldpd.c | 4 +- + lib/lldp/lldpd.h | 4 +- + lib/lockfile.c | 10 +- + lib/mac-learning.c | 12 +- + lib/mac-learning.h | 8 +- + lib/match.c | 10 +- + lib/mcast-snooping.c | 16 +- + lib/memory.c | 8 +- + lib/meta-flow.c | 22 +- + lib/mpsc-queue.c | 2 +- + lib/mpsc-queue.h | 2 +- + lib/multipath.c | 8 +- + lib/namemap.c | 2 +- + lib/netdev-afxdp-pool.c | 2 +- + lib/netdev-afxdp-pool.h | 2 +- + lib/netdev-afxdp.c | 16 +- + lib/netdev-bsd.c | 16 +- + lib/netdev-dpdk.c | 34 +- + lib/netdev-dummy.c | 18 +- + lib/netdev-linux-private.h | 8 +- + lib/netdev-linux.c | 28 +- + lib/netdev-native-tnl.c | 16 +- + lib/netdev-native-tnl.h | 6 +- + lib/netdev-offload-dpdk.c | 8 +- + lib/netdev-offload-provider.h | 4 +- + lib/netdev-offload-tc.c | 8 +- + lib/netdev-offload.c | 26 +- + lib/netdev-offload.h | 8 +- + lib/netdev-provider.h | 12 +- + lib/netdev-vport-private.h | 4 +- + lib/netdev-vport.c | 20 +- + lib/netdev-windows.c | 10 +- + lib/netdev.c | 28 +- + lib/netflow.h | 2 +- + lib/netlink-conntrack.c | 10 +- + lib/netlink-conntrack.h | 8 +- + lib/netlink-notifier.c | 4 +- + lib/netlink-socket.c | 16 +- + lib/netlink-socket.h | 4 +- + lib/netlink.c | 14 +- + lib/nx-match.c | 14 +- + lib/object-collection.c | 2 +- + lib/odp-execute.c | 16 +- + lib/odp-util.c | 24 +- + lib/odp-util.h | 6 +- + lib/ofp-actions.c | 12 +- + lib/ofp-bundle.c | 2 +- + lib/ofp-connection.c | 4 +- + lib/ofp-ed-props.c | 4 +- + lib/ofp-errors.c | 4 +- + lib/ofp-flow.c | 10 +- + lib/ofp-group.c | 8 +- + lib/ofp-ipfix.c | 4 +- + lib/ofp-match.c | 6 +- + lib/ofp-meter.c | 4 +- + lib/ofp-monitor.c | 6 +- + lib/ofp-msgs.c | 8 +- + lib/ofp-packet.c | 8 +- + lib/ofp-parse.c | 8 +- + lib/ofp-port.c | 4 +- + lib/ofp-print.c | 22 +- + lib/ofp-prop.c | 6 +- + lib/ofp-protocol.c | 2 +- + lib/ofp-queue.c | 6 +- + lib/ofp-switch.c | 4 +- + lib/ofp-table.c | 6 +- + lib/ofp-util.c | 26 +- + lib/ofp-version-opt.c | 2 +- + lib/ofp-version-opt.h | 2 +- + lib/ofpbuf.c | 2 +- + lib/ovs-lldp.c | 12 +- + lib/ovs-lldp.h | 8 +- + lib/ovs-numa.c | 8 +- + lib/ovs-rcu.c | 14 +- + lib/ovs-replay.c | 6 +- + lib/ovs-router.c | 20 +- + lib/ovs-router.h | 2 +- + lib/ovs-thread.c | 14 +- + lib/ovsdb-condition.c | 4 +- + lib/ovsdb-cs.c | 22 +- + lib/ovsdb-data.c | 16 +- + lib/ovsdb-error.c | 4 +- + lib/ovsdb-idl.c | 34 +- + lib/ovsdb-map-op.c | 6 +- + lib/ovsdb-parser.c | 4 +- + lib/ovsdb-session.c | 6 +- + lib/ovsdb-set-op.c | 4 +- + lib/ovsdb-types.c | 12 +- + lib/ox-stat.c | 4 +- + lib/packets.c | 16 +- + lib/pcap-file.c | 14 +- + lib/perf-counter.c | 2 +- + lib/poll-loop.c | 14 +- + lib/process.c | 14 +- + lib/pvector.c | 2 +- + lib/random.c | 10 +- + lib/rconn.c | 10 +- + lib/reconnect.c | 2 +- + lib/route-table-bsd.c | 4 +- + lib/route-table.c | 8 +- + lib/rstp-common.h | 4 +- + lib/rstp-state-machines.c | 12 +- + lib/rstp.c | 12 +- + lib/rstp.h | 2 +- + lib/rtbsd.c | 4 +- + lib/rtnetlink.c | 4 +- + lib/seq.c | 10 +- + lib/sflow_agent.c | 2 +- + lib/sha1.c | 2 +- + lib/shash.c | 2 +- + lib/signals.c | 4 +- + lib/simap.c | 4 +- + lib/skiplist.c | 6 +- + lib/smap.c | 10 +- + lib/socket-util-unix.c | 8 +- + lib/socket-util.c | 10 +- + lib/sort.c | 4 +- + lib/sset.c | 4 +- + lib/stopwatch.c | 12 +- + lib/stp.c | 14 +- + lib/stp.h | 2 +- + lib/stream-fd.c | 8 +- + lib/stream-nossl.c | 2 +- + lib/stream-provider.h | 2 +- + lib/stream-replay.c | 6 +- + lib/stream-ssl.c | 16 +- + lib/stream-tcp.c | 8 +- + lib/stream-unix.c | 12 +- + lib/stream-windows.c | 6 +- + lib/stream.c | 18 +- + lib/string.c | 2 +- + lib/strsep.c | 2 +- + lib/svec.c | 6 +- + lib/syslog-direct.c | 4 +- + lib/syslog-libc.c | 4 +- + lib/syslog-null.c | 2 +- + lib/table.c | 10 +- + lib/tc.c | 10 +- + lib/timer.c | 4 +- + lib/timeval.c | 18 +- + lib/tnl-neigh-cache.c | 28 +- + lib/tnl-neigh-cache.h | 8 +- + lib/tnl-ports.c | 12 +- + lib/tnl-ports.h | 6 +- + lib/token-bucket.c | 4 +- + lib/tun-metadata.c | 12 +- + lib/unicode.c | 2 +- + lib/unixctl.c | 12 +- + lib/userspace-tso.c | 4 +- + lib/util.c | 16 +- + lib/util.h | 1 - + lib/uuid.c | 10 +- + lib/vconn-provider.h | 2 +- + lib/vconn-stream.c | 8 +- + lib/vconn.c | 14 +- + lib/vl-mff-map.h | 2 +- + lib/vlan-bitmap.h | 2 +- + lib/vlog.c | 16 +- + lib/wmi.c | 2 +- + ofproto/bond.c | 18 +- + ofproto/bond.h | 2 +- + ofproto/bundles.c | 8 +- + ofproto/bundles.h | 2 +- + ofproto/collectors.c | 6 +- + ofproto/connmgr.c | 12 +- + ofproto/connmgr.h | 2 +- + ofproto/fail-open.c | 8 +- + ofproto/in-band.c | 14 +- + ofproto/in-band.h | 2 +- + ofproto/netflow.c | 12 +- + ofproto/netflow.h | 4 +- + ofproto/ofproto-dpif-ipfix.c | 18 +- + ofproto/ofproto-dpif-mirror.c | 4 +- + ofproto/ofproto-dpif-mirror.h | 2 +- + ofproto/ofproto-dpif-monitor.c | 14 +- + ofproto/ofproto-dpif-monitor.h | 2 +- + ofproto/ofproto-dpif-rid.h | 6 +- + ofproto/ofproto-dpif-sflow.c | 14 +- + ofproto/ofproto-dpif-sflow.h | 2 +- + ofproto/ofproto-dpif-trace.c | 2 +- + ofproto/ofproto-dpif-trace.h | 2 +- + ofproto/ofproto-dpif-upcall.c | 16 +- + ofproto/ofproto-dpif-xlate-cache.c | 14 +- + ofproto/ofproto-dpif-xlate-cache.h | 2 +- + ofproto/ofproto-dpif-xlate.c | 24 +- + ofproto/ofproto-dpif-xlate.h | 6 +- + ofproto/ofproto-dpif.c | 34 +- + ofproto/ofproto-dpif.h | 8 +- + ofproto/ofproto-provider.h | 18 +- + ofproto/ofproto.c | 40 +- + ofproto/ofproto.h | 8 +- + ofproto/pinsched.c | 8 +- + ofproto/pinsched.h | 2 +- + ofproto/tunnel.c | 20 +- + ofproto/tunnel.h | 2 +- + ovsdb/column.c | 6 +- + ovsdb/column.h | 2 +- + ovsdb/condition.c | 4 +- + ovsdb/condition.h | 6 +- + ovsdb/execution.c | 8 +- + ovsdb/file.c | 14 +- + ovsdb/jsonrpc-server.c | 16 +- + ovsdb/log.c | 14 +- + ovsdb/monitor.c | 16 +- + ovsdb/mutation.c | 4 +- + ovsdb/mutation.h | 2 +- + ovsdb/ovsdb-client.c | 30 +- + ovsdb/ovsdb-idlc.in | 16 +- + ovsdb/ovsdb-server.c | 36 +- + ovsdb/ovsdb-tool.c | 21 +- + ovsdb/ovsdb-util.c | 2 +- + ovsdb/ovsdb.c | 10 +- + ovsdb/raft-private.c | 10 +- + ovsdb/raft-private.h | 2 +- + ovsdb/raft-rpc.c | 8 +- + ovsdb/raft-rpc.h | 2 +- + ovsdb/raft.c | 24 +- + ovsdb/raft.h | 2 +- + ovsdb/rbac.c | 8 +- + ovsdb/relay.c | 12 +- + ovsdb/replication.c | 12 +- + ovsdb/row.c | 6 +- + ovsdb/row.h | 2 +- + ovsdb/server.c | 4 +- + ovsdb/storage.c | 10 +- + ovsdb/table.c | 6 +- + ovsdb/transaction-forward.c | 8 +- + ovsdb/transaction.c | 8 +- + ovsdb/trigger.c | 6 +- + tests/oss-fuzz/flow_extract_target.c | 6 +- + tests/oss-fuzz/json_parser_target.c | 4 +- + tests/oss-fuzz/miniflow_target.c | 8 +- + tests/oss-fuzz/odp_target.c | 4 +- + tests/oss-fuzz/ofctl_parse_target.c | 2 +- + tests/oss-fuzz/ofp_print_target.c | 2 +- + tests/ovstest.c | 4 +- + tests/ovstest.h | 2 +- + tests/test-aes128.c | 2 +- + tests/test-atomic.c | 10 +- + tests/test-barrier.c | 8 +- + tests/test-bitmap.c | 6 +- + tests/test-bundle.c | 6 +- + tests/test-byte-order.c | 2 +- + tests/test-ccmap.c | 14 +- + tests/test-classifier.c | 24 +- + tests/test-cmap.c | 16 +- + tests/test-conntrack.c | 12 +- + tests/test-csum.c | 12 +- + tests/test-flows.c | 10 +- + tests/test-hash.c | 2 +- + tests/test-heap.c | 6 +- + tests/test-hindex.c | 8 +- + tests/test-hmap.c | 6 +- + tests/test-id-fpool.c | 16 +- + tests/test-json.c | 6 +- + tests/test-jsonrpc.c | 14 +- + tests/test-lockfile.c | 6 +- + tests/test-mpsc-queue.c | 10 +- + tests/test-multipath.c | 4 +- + tests/test-netflow.c | 12 +- + tests/test-netlink-policy.c | 4 +- + tests/test-odp.c | 4 +- + tests/test-ofpbuf.c | 2 +- + tests/test-ovsdb.c | 22 +- + tests/test-packets.c | 2 +- + tests/test-random.c | 2 +- + tests/test-rcu.c | 8 +- + tests/test-reconnect.c | 6 +- + tests/test-rstp.c | 4 +- + tests/test-sflow.c | 12 +- + tests/test-sha1.c | 4 +- + tests/test-skiplist.c | 6 +- + tests/test-stopwatch.c | 4 +- + tests/test-stp.c | 4 +- + tests/test-stream.c | 6 +- + tests/test-unix-socket.c | 4 +- + tests/test-unixctl.c | 10 +- + tests/test-util.c | 8 +- + tests/test-uuid.c | 4 +- + tests/test-vconn.c | 14 +- + utilities/nlmon.c | 6 +- + utilities/ovs-appctl.c | 16 +- + utilities/ovs-dpctl.c | 12 +- + utilities/ovs-ofctl.c | 34 +- + utilities/ovs-testcontroller.c | 18 +- + utilities/ovs-vsctl.c | 34 +- + vswitchd/bridge.c | 42 +- + vswitchd/ovs-vswitchd.c | 32 +- + vswitchd/system-stats.c | 16 +- + vswitchd/xenserver.c | 4 +- + vtep/vtep-ctl.c | 30 +- + 488 files changed, 2592 insertions(+), 1822 deletions(-) + create mode 100644 include/internal/automake.mk + rename {lib => include/internal}/bitmap.h (99%) + rename {lib => include/internal}/bundle.h (100%) + rename {lib => include/internal}/byte-order.h (100%) + rename {lib => include/internal}/classifier.h (99%) + rename {lib => include/internal}/cmap.h (99%) + rename {lib => include/internal}/colors.h (100%) + rename {lib => include/internal}/command-line.h (100%) + rename {lib => include/internal}/coverage.h (99%) + rename {lib => include/internal}/crc32c.h (100%) + rename {lib => include/internal}/csum.h (100%) + rename {lib => include/internal}/daemon.h (100%) + rename {lib => include/internal}/db-ctl-base.h (100%) + rename {lib => include/internal}/dhcp.h (97%) + rename {lib => include/internal}/dhparams.h (100%) + rename {lib => include/internal}/dirs.h (100%) + rename {lib => include/internal}/dp-packet.h (99%) + rename {lib => include/internal}/fatal-signal.h (100%) + rename {lib => include/internal}/flow.h (99%) + rename {lib => include/internal}/hash-aarch64.h (100%) + rename {lib => include/internal}/hash.h (99%) + rename {lib => include/internal}/hindex.h (99%) + rename {lib => include/internal}/hmapx.h (100%) + rename {lib => include/internal}/id-pool.h (100%) + rename {lib => include/internal}/jsonrpc.h (100%) + rename {lib => include/internal}/latch.h (97%) + rename {lib => include/internal}/mcast-snooping.h (97%) + rename {lib => include/internal}/memory.h (100%) + rename {lib => include/internal}/netdev-afxdp.h (100%) + rename {lib => include/internal}/netdev-dpdk.h (100%) + rename {lib => include/internal}/netdev.h (99%) + rename {lib => include/internal}/netlink-protocol.h (99%) + rename {lib => include/internal}/netlink.h (99%) + rename {lib => include/internal}/nx-match.h (99%) + rename {lib => include/internal}/ovs-atomic-c++.h (100%) + rename {lib => include/internal}/ovs-atomic-c11.h (100%) + rename {lib => include/internal}/ovs-atomic-clang.h (98%) + rename {lib => include/internal}/ovs-atomic-flag-gcc4.7+.h (100%) + rename {lib => include/internal}/ovs-atomic-gcc4+.h (99%) + rename {lib => include/internal}/ovs-atomic-gcc4.7+.h (98%) + rename {lib => include/internal}/ovs-atomic-i586.h (100%) + rename {lib => include/internal}/ovs-atomic-locked.c (94%) + rename {lib => include/internal}/ovs-atomic-locked.h (100%) + rename {lib => include/internal}/ovs-atomic-msvc.h (100%) + rename {lib => include/internal}/ovs-atomic-pthreads.h (99%) + rename {lib => include/internal}/ovs-atomic-x86_64.h (100%) + rename {lib => include/internal}/packets.h (99%) + rename {lib => include/internal}/process.h (100%) + rename {lib => include/internal}/pvector.h (99%) + rename {lib => include/internal}/random.h (100%) + rename {lib => include/internal}/rculist.h (99%) + rename {lib => include/internal}/seq.h (99%) + rename {lib => include/internal}/simap.h (100%) + rename {lib => include/internal}/skiplist.h (100%) + rename {lib => include/internal}/smap.h (99%) + rename {lib => include/internal}/socket-util.h (100%) + rename {lib => include/internal}/sort.h (100%) + rename {lib => include/internal}/sset.h (99%) + rename {lib => include/internal}/stopwatch.h (100%) + rename {lib => include/internal}/stream-ssl.h (100%) + rename {lib => include/internal}/stream.h (98%) + rename {lib => include/internal}/svec.h (100%) + rename {lib => include/internal}/table.h (100%) + rename {lib => include/internal}/timer.h (96%) + rename {lib => include/internal}/timeval.h (98%) + rename lib/tun-metadata.h => include/internal/tun-metadata-private.h (99%) + rename {lib => include/internal}/unaligned.h (99%) + rename {lib => include/internal}/unixctl.h (100%) + create mode 100644 include/internal/util.h + rename {lib => include/internal}/uuid.h (100%) + rename {lib => include/internal}/versions.h (98%) + rename {lib => include/openvswitch}/ovs-atomic.h (97%) + rename {lib => include/openvswitch}/ovs-numa.h (96%) + rename {lib => include/openvswitch}/ovs-rcu.h (99%) + rename {lib => include/openvswitch}/ovs-thread.h (99%) + rename {lib => include/openvswitch}/ovsdb-condition.h (95%) + rename {lib => include/openvswitch}/ovsdb-cs.h (98%) + rename {lib => include/openvswitch}/ovsdb-data.h (99%) + rename {lib => include/openvswitch}/ovsdb-error.h (97%) + rename {lib => include/openvswitch}/ovsdb-idl-provider.h (97%) + rename {lib => include/openvswitch}/ovsdb-idl.h (99%) + rename {lib => include/openvswitch}/ovsdb-map-op.h (97%) + rename {lib => include/openvswitch}/ovsdb-parser.h (96%) + rename {lib => include/openvswitch}/ovsdb-set-op.h (97%) + rename {lib => include/openvswitch}/ovsdb-types.h (99%) + +diff --git a/Makefile.am b/Makefile.am +index cb8076433..cfed54cc5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -242,7 +242,7 @@ config-h-check: + exit 1; \ + fi; \ + if grep '#include' include/openvswitch/*.h | \ +- grep -vE '(<.*>)|("openvswitch)|("openflow)'; \ ++ grep -vE '(<.*>)|("openvswitch)|("openflow)|("internal)'; \ + then \ + echo "See above for list of violations of the rule that"; \ + echo "public openvswitch header file should not include internal library."; \ +diff --git a/build-aux/extract-odp-netlink-h b/build-aux/extract-odp-netlink-h +index bc1cc35a7..190aa0a7e 100755 +--- a/build-aux/extract-odp-netlink-h ++++ b/build-aux/extract-odp-netlink-h +@@ -8,6 +8,9 @@ + /* -*- mode: c; buffer-read-only: t -*- */\ + /* Generated automatically from -- do not modify! */\ + \ ++#ifdef __cplusplus\ ++extern "C" {\ ++#endif\ + \ + + +@@ -65,3 +68,9 @@ s/__be16/ovs_be16/g + # boundary. + s/__u64/ovs_32aligned_u64/g + s/__be64/ovs_32aligned_be64/g ++ ++$a\ ++#ifdef __cplusplus\ ++} // extern "C"\ ++#endif\ ++\ +diff --git a/build-aux/extract-odp-netlink-macros-h b/build-aux/extract-odp-netlink-macros-h +index 7152f298c..050069a2b 100755 +--- a/build-aux/extract-odp-netlink-macros-h ++++ b/build-aux/extract-odp-netlink-macros-h +@@ -42,6 +42,9 @@ echo "/* Generated automatically from -- do not modify! + echo "#ifndef ODP_NETLINK_MACROS_H" + echo "#define ODP_NETLINK_MACROS_H" + echo ++echo "#ifdef __cplusplus" ++echo 'extern "C" {' ++echo "#endif" + echo + + generate_fields_macros "ovs_key_ethernet" +@@ -57,4 +60,7 @@ generate_fields_macros "ovs_key_nd" + generate_fields_macros "ovs_key_nd_extensions" + + echo ++echo "#ifdef __cplusplus" ++echo '} // extern "C"' ++echo "#endif" + echo "#endif" +diff --git a/datapath/conntrack.c b/datapath/conntrack.c +index fc268aeae..2a6357d5e 100644 +--- a/datapath/conntrack.c ++++ b/datapath/conntrack.c +@@ -62,7 +62,7 @@ + + #include "datapath.h" + #include "conntrack.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "flow_netlink.h" + #include "gso.h" + +diff --git a/datapath/conntrack.h b/datapath/conntrack.h +index 5b4b34c19..8f0cbc5da 100644 +--- a/datapath/conntrack.h ++++ b/datapath/conntrack.h +@@ -15,7 +15,7 @@ + #define OVS_CONNTRACK_H 1 + + #include +-#include "flow.h" ++#include "internal/flow.h" + + struct ovs_conntrack_info; + struct ovs_ct_limit_info; +diff --git a/datapath/datapath.c b/datapath/datapath.c +index b88d16107..38c9c2ab7 100644 +--- a/datapath/datapath.c ++++ b/datapath/datapath.c +@@ -55,7 +55,7 @@ + + #include "datapath.h" + #include "conntrack.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "flow_table.h" + #include "flow_netlink.h" + #include "meter.h" +diff --git a/datapath/datapath.h b/datapath/datapath.h +index c377e9b24..2dd9ea83a 100644 +--- a/datapath/datapath.h ++++ b/datapath/datapath.h +@@ -29,7 +29,7 @@ + #include + + #include "compat.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "flow_table.h" + #include "meter.h" + #include "vport-internal_dev.h" +diff --git a/datapath/flow.c b/datapath/flow.c +index 5a00c238c..17aa5770e 100644 +--- a/datapath/flow.c ++++ b/datapath/flow.c +@@ -50,7 +50,7 @@ + + #include "datapath.h" + #include "conntrack.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "flow_netlink.h" + #include "vport.h" + +diff --git a/datapath/flow_netlink.c b/datapath/flow_netlink.c +index 996041602..f4af09c1d 100644 +--- a/datapath/flow_netlink.c ++++ b/datapath/flow_netlink.c +@@ -51,7 +51,7 @@ + + #include "datapath.h" + #include "conntrack.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "flow_netlink.h" + #include "gso.h" + +diff --git a/datapath/flow_netlink.h b/datapath/flow_netlink.h +index e10df2b5c..939a6cde3 100644 +--- a/datapath/flow_netlink.h ++++ b/datapath/flow_netlink.h +@@ -34,7 +34,7 @@ + #include + #include + +-#include "flow.h" ++#include "internal/flow.h" + + size_t ovs_tun_key_attr_size(void); + size_t ovs_key_attr_size(void); +diff --git a/datapath/flow_table.c b/datapath/flow_table.c +index 650338fb0..c5706e625 100644 +--- a/datapath/flow_table.c ++++ b/datapath/flow_table.c +@@ -16,7 +16,7 @@ + * 02110-1301, USA + */ + +-#include "flow.h" ++#include "internal/flow.h" + #include "datapath.h" + #include + #include +diff --git a/datapath/flow_table.h b/datapath/flow_table.h +index 1a76886b5..596a5a66d 100644 +--- a/datapath/flow_table.h ++++ b/datapath/flow_table.h +@@ -33,7 +33,7 @@ + #include + #include + +-#include "flow.h" ++#include "internal/flow.h" + + struct mask_cache_entry { + u32 skb_hash; +diff --git a/datapath/meter.h b/datapath/meter.h +index 964ace265..494aaf622 100644 +--- a/datapath/meter.h ++++ b/datapath/meter.h +@@ -17,7 +17,7 @@ + #include + #include + +-#include "flow.h" ++#include "internal/flow.h" + struct datapath; + + #define DP_MAX_BANDS 1 +diff --git a/include/automake.mk b/include/automake.mk +index e982da87d..701a01dbf 100644 +--- a/include/automake.mk ++++ b/include/automake.mk +@@ -16,3 +16,4 @@ include include/openvswitch/automake.mk + include include/sparse/automake.mk + include include/windows/automake.mk + include include/linux/automake.mk ++include include/internal/automake.mk +diff --git a/include/internal/automake.mk b/include/internal/automake.mk +new file mode 100644 +index 000000000..c39a2feb6 +--- /dev/null ++++ b/include/internal/automake.mk +@@ -0,0 +1,77 @@ ++# Common headers needed by openvswitch and some depending projects like OVN ++ ++ovslibincludedir = $(openvswitchincludedir)/internal ++ovslibinclude_HEADERS = \ ++ include/internal/bitmap.h \ ++ include/internal/byte-order.h \ ++ include/internal/classifier.h \ ++ include/internal/cmap.h \ ++ include/internal/colors.h \ ++ include/internal/command-line.h \ ++ include/internal/coverage.h \ ++ include/internal/csum.h \ ++ include/internal/daemon.h \ ++ include/internal/db-ctl-base.h \ ++ include/internal/dirs.h \ ++ include/internal/dp-packet.h \ ++ include/internal/fatal-signal.h \ ++ include/internal/flow.h \ ++ include/internal/hash.h \ ++ include/internal/hash-aarch64.h \ ++ include/internal/hindex.h \ ++ include/internal/hmapx.h \ ++ include/internal/jsonrpc.h \ ++ include/internal/latch.h \ ++ include/internal/mcast-snooping.h \ ++ include/internal/memory.h \ ++ include/internal/netdev-afxdp.h \ ++ include/internal/netdev-dpdk.h \ ++ include/internal/netlink.h \ ++ include/internal/bundle.h \ ++ include/internal/crc32c.h \ ++ include/internal/dhcp.h \ ++ include/internal/dhparams.h \ ++ include/internal/id-pool.h \ ++ include/internal/netdev.h \ ++ include/internal/netlink-protocol.h \ ++ include/internal/nx-match.h \ ++ include/internal/ovs-atomic-c11.h \ ++ include/internal/ovs-atomic-c++.h \ ++ include/internal/ovs-atomic-clang.h \ ++ include/internal/ovs-atomic-flag-gcc4.7+.h \ ++ include/internal/ovs-atomic-gcc4.7+.h \ ++ include/internal/ovs-atomic-gcc4+.h \ ++ include/internal/ovs-atomic-i586.h \ ++ include/internal/ovs-atomic-locked.c \ ++ include/internal/ovs-atomic-locked.h \ ++ include/internal/ovs-atomic-msvc.h \ ++ include/internal/ovs-atomic-pthreads.h \ ++ include/internal/ovs-atomic-x86_64.h \ ++ include/internal/packets.h \ ++ include/internal/process.h \ ++ include/internal/pvector.h \ ++ include/internal/random.h \ ++ include/internal/rculist.h \ ++ include/internal/seq.h \ ++ include/internal/simap.h \ ++ include/internal/skiplist.h \ ++ include/internal/smap.h \ ++ include/internal/socket-util.h \ ++ include/internal/sort.h \ ++ include/internal/sset.h \ ++ include/internal/stopwatch.h \ ++ include/internal/stream.h \ ++ include/internal/stream-ssl.h \ ++ include/internal/svec.h \ ++ include/internal/table.h \ ++ include/internal/timer.h \ ++ include/internal/timeval.h \ ++ include/internal/tun-metadata-private.h \ ++ include/internal/unaligned.h \ ++ include/internal/unixctl.h \ ++ include/internal/util.h \ ++ include/internal/uuid.h \ ++ include/internal/versions.h \ ++ lib/vswitch-idl.h \ ++ vtep/vtep-idl.h ++ +diff --git a/lib/bitmap.h b/include/internal/bitmap.h +similarity index 99% +rename from lib/bitmap.h +rename to include/internal/bitmap.h +index 0b62066c6..c73b9d1ee 100644 +--- a/lib/bitmap.h ++++ b/include/internal/bitmap.h +@@ -19,7 +19,7 @@ + + #include + #include +-#include "util.h" ++#include "internal/util.h" + + static inline unsigned long * + bitmap_unit__(const unsigned long *bitmap, size_t offset) +diff --git a/lib/bundle.h b/include/internal/bundle.h +similarity index 100% +rename from lib/bundle.h +rename to include/internal/bundle.h +diff --git a/lib/byte-order.h b/include/internal/byte-order.h +similarity index 100% +rename from lib/byte-order.h +rename to include/internal/byte-order.h +diff --git a/lib/classifier.h b/include/internal/classifier.h +similarity index 99% +rename from lib/classifier.h +rename to include/internal/classifier.h +index f646a8f74..79a2124b8 100644 +--- a/lib/classifier.h ++++ b/include/internal/classifier.h +@@ -298,13 +298,13 @@ + * still be RCU postponed, as the rule's visibility attribute may be examined + * parallel to the rule's removal. */ + +-#include "cmap.h" ++#include "internal/cmap.h" + #include "openvswitch/match.h" + #include "openvswitch/meta-flow.h" +-#include "pvector.h" +-#include "rculist.h" ++#include "internal/pvector.h" ++#include "internal/rculist.h" + #include "openvswitch/type-props.h" +-#include "versions.h" ++#include "internal/versions.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/cmap.h b/include/internal/cmap.h +similarity index 99% +rename from lib/cmap.h +rename to include/internal/cmap.h +index c502d2311..f7b09c2fe 100644 +--- a/lib/cmap.h ++++ b/include/internal/cmap.h +@@ -19,8 +19,8 @@ + + #include + #include +-#include "ovs-rcu.h" +-#include "util.h" ++#include "openvswitch/ovs-rcu.h" ++#include "internal/util.h" + + /* Concurrent hash map + * =================== +diff --git a/lib/colors.h b/include/internal/colors.h +similarity index 100% +rename from lib/colors.h +rename to include/internal/colors.h +diff --git a/lib/command-line.h b/include/internal/command-line.h +similarity index 100% +rename from lib/command-line.h +rename to include/internal/command-line.h +diff --git a/lib/coverage.h b/include/internal/coverage.h +similarity index 99% +rename from lib/coverage.h +rename to include/internal/coverage.h +index 8eb5a1e12..cf0ff7f8b 100644 +--- a/lib/coverage.h ++++ b/include/internal/coverage.h +@@ -27,7 +27,7 @@ + * for traditional coverage instrumentation with e.g. "gcov", but it is still + * a useful debugging tool. */ + +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/compiler.h" + + /* Makes coverage_run run every 5000 ms (5 seconds). +diff --git a/lib/crc32c.h b/include/internal/crc32c.h +similarity index 100% +rename from lib/crc32c.h +rename to include/internal/crc32c.h +diff --git a/lib/csum.h b/include/internal/csum.h +similarity index 100% +rename from lib/csum.h +rename to include/internal/csum.h +diff --git a/lib/daemon.h b/include/internal/daemon.h +similarity index 100% +rename from lib/daemon.h +rename to include/internal/daemon.h +diff --git a/lib/db-ctl-base.h b/include/internal/db-ctl-base.h +similarity index 100% +rename from lib/db-ctl-base.h +rename to include/internal/db-ctl-base.h +diff --git a/lib/dhcp.h b/include/internal/dhcp.h +similarity index 97% +rename from lib/dhcp.h +rename to include/internal/dhcp.h +index c904af6c4..1d1380408 100644 +--- a/lib/dhcp.h ++++ b/include/internal/dhcp.h +@@ -18,8 +18,8 @@ + #define DHCP_H 1 + + #include +-#include "packets.h" +-#include "util.h" ++#include "internal/packets.h" ++#include "internal/util.h" + + /* Ports used by DHCP. */ + #define DHCP_SERVER_PORT 67 /* Port used by DHCP server. */ +diff --git a/lib/dhparams.h b/include/internal/dhparams.h +similarity index 100% +rename from lib/dhparams.h +rename to include/internal/dhparams.h +diff --git a/lib/dirs.h b/include/internal/dirs.h +similarity index 100% +rename from lib/dirs.h +rename to include/internal/dirs.h +diff --git a/lib/dp-packet.h b/include/internal/dp-packet.h +similarity index 99% +rename from lib/dp-packet.h +rename to include/internal/dp-packet.h +index ee0805ae6..f7072b201 100644 +--- a/lib/dp-packet.h ++++ b/include/internal/dp-packet.h +@@ -25,12 +25,12 @@ + #include + #endif + +-#include "netdev-afxdp.h" +-#include "netdev-dpdk.h" ++#include "internal/netdev-afxdp.h" ++#include "internal/netdev-dpdk.h" + #include "openvswitch/list.h" +-#include "packets.h" +-#include "util.h" +-#include "flow.h" ++#include "internal/packets.h" ++#include "internal/util.h" ++#include "internal/flow.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/fatal-signal.h b/include/internal/fatal-signal.h +similarity index 100% +rename from lib/fatal-signal.h +rename to include/internal/fatal-signal.h +diff --git a/lib/flow.h b/include/internal/flow.h +similarity index 99% +rename from lib/flow.h +rename to include/internal/flow.h +index c647ad83c..c8be4d59c 100644 +--- a/lib/flow.h ++++ b/include/internal/flow.h +@@ -22,15 +22,15 @@ + #include + #include + #include +-#include "bitmap.h" +-#include "byte-order.h" ++#include "internal/bitmap.h" ++#include "internal/byte-order.h" + #include "openvswitch/compiler.h" + #include "openflow/nicira-ext.h" + #include "openflow/openflow.h" + #include "openvswitch/flow.h" +-#include "packets.h" +-#include "hash.h" +-#include "util.h" ++#include "internal/packets.h" ++#include "internal/hash.h" ++#include "internal/util.h" + + struct dpif_flow_stats; + struct dpif_flow_attrs; +diff --git a/lib/hash-aarch64.h b/include/internal/hash-aarch64.h +similarity index 100% +rename from lib/hash-aarch64.h +rename to include/internal/hash-aarch64.h +diff --git a/lib/hash.h b/include/internal/hash.h +similarity index 99% +rename from lib/hash.h +rename to include/internal/hash.h +index 60a39a40b..519c4ae44 100644 +--- a/lib/hash.h ++++ b/include/internal/hash.h +@@ -20,7 +20,7 @@ + #include + #include + #include +-#include "util.h" ++#include "internal/util.h" + + #ifdef __cplusplus + extern "C" { +@@ -99,7 +99,7 @@ static inline uint32_t hash_add_bytes32(uint32_t, const uint32_t *, size_t); + static inline uint32_t hash_add_bytes64(uint32_t, const uint64_t *, size_t); + + #if (defined(__ARM_FEATURE_CRC32) && defined(__aarch64__)) +-#include "hash-aarch64.h" ++#include "internal/hash-aarch64.h" + + #elif !(defined(__SSE4_2__) && defined(__x86_64__)) + /* Mhash-based implementation. */ +diff --git a/lib/hindex.h b/include/internal/hindex.h +similarity index 99% +rename from lib/hindex.h +rename to include/internal/hindex.h +index 876c5a9e3..d0c14a91c 100644 +--- a/lib/hindex.h ++++ b/include/internal/hindex.h +@@ -25,7 +25,7 @@ + + #include + #include +-#include "util.h" ++#include "internal/util.h" + + /* A hash index node, to embed inside the data structure being indexed. + * +diff --git a/lib/hmapx.h b/include/internal/hmapx.h +similarity index 100% +rename from lib/hmapx.h +rename to include/internal/hmapx.h +diff --git a/lib/id-pool.h b/include/internal/id-pool.h +similarity index 100% +rename from lib/id-pool.h +rename to include/internal/id-pool.h +diff --git a/lib/jsonrpc.h b/include/internal/jsonrpc.h +similarity index 100% +rename from lib/jsonrpc.h +rename to include/internal/jsonrpc.h +diff --git a/lib/latch.h b/include/internal/latch.h +similarity index 97% +rename from lib/latch.h +rename to include/internal/latch.h +index 3c0b842a1..c0b8aa6f1 100644 +--- a/lib/latch.h ++++ b/include/internal/latch.h +@@ -23,7 +23,7 @@ + * other that an event has occurred in a signal-safe way */ + + #include +-#include "util.h" ++#include "internal/util.h" + + struct latch { + #ifndef _WIN32 +diff --git a/lib/mcast-snooping.h b/include/internal/mcast-snooping.h +similarity index 97% +rename from lib/mcast-snooping.h +rename to include/internal/mcast-snooping.h +index f120405da..babdcffe9 100644 +--- a/lib/mcast-snooping.h ++++ b/include/internal/mcast-snooping.h +@@ -20,13 +20,13 @@ + #define MCAST_SNOOPING_H 1 + + #include +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "openvswitch/hmap.h" + #include "openvswitch/list.h" +-#include "ovs-atomic.h" +-#include "ovs-thread.h" +-#include "packets.h" +-#include "timeval.h" ++#include "openvswitch/ovs-atomic.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/packets.h" ++#include "internal/timeval.h" + + struct mcast_snooping; + +diff --git a/lib/memory.h b/include/internal/memory.h +similarity index 100% +rename from lib/memory.h +rename to include/internal/memory.h +diff --git a/lib/netdev-afxdp.h b/include/internal/netdev-afxdp.h +similarity index 100% +rename from lib/netdev-afxdp.h +rename to include/internal/netdev-afxdp.h +diff --git a/lib/netdev-dpdk.h b/include/internal/netdev-dpdk.h +similarity index 100% +rename from lib/netdev-dpdk.h +rename to include/internal/netdev-dpdk.h +diff --git a/lib/netdev.h b/include/internal/netdev.h +similarity index 99% +rename from lib/netdev.h +rename to include/internal/netdev.h +index acf174927..9da79e39f 100644 +--- a/lib/netdev.h ++++ b/include/internal/netdev.h +@@ -19,8 +19,8 @@ + + #include "openvswitch/netdev.h" + #include "openvswitch/types.h" +-#include "packets.h" +-#include "flow.h" ++#include "internal/packets.h" ++#include "internal/flow.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/netlink-protocol.h b/include/internal/netlink-protocol.h +similarity index 99% +rename from lib/netlink-protocol.h +rename to include/internal/netlink-protocol.h +index 6eaa7035a..50bbf3049 100644 +--- a/lib/netlink-protocol.h ++++ b/include/internal/netlink-protocol.h +@@ -31,7 +31,7 @@ + + #include + #include +-#include "util.h" ++#include "internal/util.h" + + #ifdef HAVE_NETLINK + #include +diff --git a/lib/netlink.h b/include/internal/netlink.h +similarity index 99% +rename from lib/netlink.h +rename to include/internal/netlink.h +index b97470743..0163285a9 100644 +--- a/lib/netlink.h ++++ b/include/internal/netlink.h +@@ -36,7 +36,7 @@ + #include + #include + #include +-#include "netlink-protocol.h" ++#include "internal/netlink-protocol.h" + #include "openvswitch/types.h" + + struct ofpbuf; +diff --git a/lib/nx-match.h b/include/internal/nx-match.h +similarity index 99% +rename from lib/nx-match.h +rename to include/internal/nx-match.h +index 967c8d93f..07f8639a3 100644 +--- a/lib/nx-match.h ++++ b/include/internal/nx-match.h +@@ -21,7 +21,7 @@ + #include + #include + #include "openvswitch/compiler.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "openvswitch/meta-flow.h" + #include "openvswitch/ofp-errors.h" + #include "openvswitch/types.h" +diff --git a/lib/ovs-atomic-c++.h b/include/internal/ovs-atomic-c++.h +similarity index 100% +rename from lib/ovs-atomic-c++.h +rename to include/internal/ovs-atomic-c++.h +diff --git a/lib/ovs-atomic-c11.h b/include/internal/ovs-atomic-c11.h +similarity index 100% +rename from lib/ovs-atomic-c11.h +rename to include/internal/ovs-atomic-c11.h +diff --git a/lib/ovs-atomic-clang.h b/include/internal/ovs-atomic-clang.h +similarity index 98% +rename from lib/ovs-atomic-clang.h +rename to include/internal/ovs-atomic-clang.h +index cdf02a512..77e0db1e9 100644 +--- a/lib/ovs-atomic-clang.h ++++ b/include/internal/ovs-atomic-clang.h +@@ -94,4 +94,4 @@ typedef enum { + #define atomic_and_explicit(RMW, ARG, ORIG, ORDER) \ + (*(ORIG) = __c11_atomic_fetch_and(RMW, ARG, ORDER), (void) 0) + +-#include "ovs-atomic-flag-gcc4.7+.h" ++#include "internal/ovs-atomic-flag-gcc4.7+.h" +diff --git a/lib/ovs-atomic-flag-gcc4.7+.h b/include/internal/ovs-atomic-flag-gcc4.7+.h +similarity index 100% +rename from lib/ovs-atomic-flag-gcc4.7+.h +rename to include/internal/ovs-atomic-flag-gcc4.7+.h +diff --git a/lib/ovs-atomic-gcc4+.h b/include/internal/ovs-atomic-gcc4+.h +similarity index 99% +rename from lib/ovs-atomic-gcc4+.h +rename to include/internal/ovs-atomic-gcc4+.h +index f9accde1a..cff986311 100644 +--- a/lib/ovs-atomic-gcc4+.h ++++ b/include/internal/ovs-atomic-gcc4+.h +@@ -19,7 +19,7 @@ + #error "This header should only be included indirectly via ovs-atomic.h." + #endif + +-#include "ovs-atomic-locked.h" ++#include "internal/ovs-atomic-locked.h" + #define OVS_ATOMIC_GCC4P_IMPL 1 + + #define ATOMIC(TYPE) TYPE +diff --git a/lib/ovs-atomic-gcc4.7+.h b/include/internal/ovs-atomic-gcc4.7+.h +similarity index 98% +rename from lib/ovs-atomic-gcc4.7+.h +rename to include/internal/ovs-atomic-gcc4.7+.h +index 846e05775..9bcb0efe5 100644 +--- a/lib/ovs-atomic-gcc4.7+.h ++++ b/include/internal/ovs-atomic-gcc4.7+.h +@@ -88,4 +88,4 @@ typedef enum { + #define atomic_and_explicit(RMW, OPERAND, ORIG, ORDER) \ + (*(ORIG) = __atomic_fetch_and(RMW, OPERAND, ORDER), (void) 0) + +-#include "ovs-atomic-flag-gcc4.7+.h" ++#include "internal/ovs-atomic-flag-gcc4.7+.h" +diff --git a/lib/ovs-atomic-i586.h b/include/internal/ovs-atomic-i586.h +similarity index 100% +rename from lib/ovs-atomic-i586.h +rename to include/internal/ovs-atomic-i586.h +diff --git a/lib/ovs-atomic-locked.c b/include/internal/ovs-atomic-locked.c +similarity index 94% +rename from lib/ovs-atomic-locked.c +rename to include/internal/ovs-atomic-locked.c +index dc2a4356c..3e8f8199f 100644 +--- a/lib/ovs-atomic-locked.c ++++ b/include/internal/ovs-atomic-locked.c +@@ -16,9 +16,9 @@ + + #include + +-#include "ovs-atomic.h" +-#include "hash.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-atomic.h" ++#include "internal/hash.h" ++#include "openvswitch/ovs-thread.h" + + #ifdef OVS_ATOMIC_LOCKED_IMPL + static struct ovs_mutex * +diff --git a/lib/ovs-atomic-locked.h b/include/internal/ovs-atomic-locked.h +similarity index 100% +rename from lib/ovs-atomic-locked.h +rename to include/internal/ovs-atomic-locked.h +diff --git a/lib/ovs-atomic-msvc.h b/include/internal/ovs-atomic-msvc.h +similarity index 100% +rename from lib/ovs-atomic-msvc.h +rename to include/internal/ovs-atomic-msvc.h +diff --git a/lib/ovs-atomic-pthreads.h b/include/internal/ovs-atomic-pthreads.h +similarity index 99% +rename from lib/ovs-atomic-pthreads.h +rename to include/internal/ovs-atomic-pthreads.h +index 570a67fe4..3bd6cfb99 100644 +--- a/lib/ovs-atomic-pthreads.h ++++ b/include/internal/ovs-atomic-pthreads.h +@@ -19,7 +19,7 @@ + #error "This header should only be included indirectly via ovs-atomic.h." + #endif + +-#include "ovs-atomic-locked.h" ++#include "internal/ovs-atomic-locked.h" + + #define OVS_ATOMIC_PTHREADS_IMPL 1 + +diff --git a/lib/ovs-atomic-x86_64.h b/include/internal/ovs-atomic-x86_64.h +similarity index 100% +rename from lib/ovs-atomic-x86_64.h +rename to include/internal/ovs-atomic-x86_64.h +diff --git a/lib/packets.h b/include/internal/packets.h +similarity index 99% +rename from lib/packets.h +rename to include/internal/packets.h +index ee4d96542..75225583c 100644 +--- a/lib/packets.h ++++ b/include/internal/packets.h +@@ -27,12 +27,12 @@ + #include "openvswitch/types.h" + #include "openvswitch/nsh.h" + #include "odp-netlink.h" +-#include "random.h" +-#include "hash.h" +-#include "tun-metadata.h" +-#include "unaligned.h" +-#include "util.h" +-#include "timeval.h" ++#include "internal/random.h" ++#include "internal/hash.h" ++#include "internal/tun-metadata-private.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" ++#include "internal/timeval.h" + + struct dp_packet; + struct conn; +diff --git a/lib/process.h b/include/internal/process.h +similarity index 100% +rename from lib/process.h +rename to include/internal/process.h +diff --git a/lib/pvector.h b/include/internal/pvector.h +similarity index 99% +rename from lib/pvector.h +rename to include/internal/pvector.h +index 6da8c5b63..cf11aced6 100644 +--- a/lib/pvector.h ++++ b/include/internal/pvector.h +@@ -20,8 +20,8 @@ + #include + #include + #include +-#include "ovs-rcu.h" +-#include "util.h" ++#include "openvswitch/ovs-rcu.h" ++#include "internal/util.h" + + /* Concurrent Priority Vector + * ========================== +diff --git a/lib/random.h b/include/internal/random.h +similarity index 100% +rename from lib/random.h +rename to include/internal/random.h +diff --git a/lib/rculist.h b/include/internal/rculist.h +similarity index 99% +rename from lib/rculist.h +rename to include/internal/rculist.h +index 1072b87af..850009fc2 100644 +--- a/lib/rculist.h ++++ b/include/internal/rculist.h +@@ -50,8 +50,8 @@ + + #include + #include +-#include "ovs-rcu.h" +-#include "util.h" ++#include "openvswitch/ovs-rcu.h" ++#include "internal/util.h" + + /* A non-existing mutex to make it more difficult for an user to accidentally + * keep using the 'prev' pointer. This may be helpful when porting code from +diff --git a/lib/seq.h b/include/internal/seq.h +similarity index 99% +rename from lib/seq.h +rename to include/internal/seq.h +index c88b9d1c8..cc0898669 100644 +--- a/lib/seq.h ++++ b/include/internal/seq.h +@@ -115,7 +115,7 @@ + */ + + #include +-#include "util.h" ++#include "internal/util.h" + + /* For implementation of an object with a sequence number attached. */ + struct seq *seq_create(void); +diff --git a/lib/simap.h b/include/internal/simap.h +similarity index 100% +rename from lib/simap.h +rename to include/internal/simap.h +diff --git a/lib/skiplist.h b/include/internal/skiplist.h +similarity index 100% +rename from lib/skiplist.h +rename to include/internal/skiplist.h +diff --git a/lib/smap.h b/include/internal/smap.h +similarity index 99% +rename from lib/smap.h +rename to include/internal/smap.h +index a92115966..ce974e775 100644 +--- a/lib/smap.h ++++ b/include/internal/smap.h +@@ -17,7 +17,7 @@ + + #include + #include +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" + + #ifdef __cplusplus +diff --git a/lib/socket-util.h b/include/internal/socket-util.h +similarity index 100% +rename from lib/socket-util.h +rename to include/internal/socket-util.h +diff --git a/lib/sort.h b/include/internal/sort.h +similarity index 100% +rename from lib/sort.h +rename to include/internal/sort.h +diff --git a/lib/sset.h b/include/internal/sset.h +similarity index 99% +rename from lib/sset.h +rename to include/internal/sset.h +index f0bb8b534..be8627ed8 100644 +--- a/lib/sset.h ++++ b/include/internal/sset.h +@@ -18,7 +18,7 @@ + #define SSET_H + + #include "openvswitch/hmap.h" +-#include "util.h" ++#include "internal/util.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/stopwatch.h b/include/internal/stopwatch.h +similarity index 100% +rename from lib/stopwatch.h +rename to include/internal/stopwatch.h +diff --git a/lib/stream-ssl.h b/include/internal/stream-ssl.h +similarity index 100% +rename from lib/stream-ssl.h +rename to include/internal/stream-ssl.h +diff --git a/lib/stream.h b/include/internal/stream.h +similarity index 98% +rename from lib/stream.h +rename to include/internal/stream.h +index e30c51275..0f3f531d1 100644 +--- a/lib/stream.h ++++ b/include/internal/stream.h +@@ -22,8 +22,8 @@ + #include + #include + #include "openvswitch/types.h" +-#include "socket-util.h" +-#include "util.h" ++#include "internal/socket-util.h" ++#include "internal/util.h" + + struct pstream; + struct stream; +diff --git a/lib/svec.h b/include/internal/svec.h +similarity index 100% +rename from lib/svec.h +rename to include/internal/svec.h +diff --git a/lib/table.h b/include/internal/table.h +similarity index 100% +rename from lib/table.h +rename to include/internal/table.h +diff --git a/lib/timer.h b/include/internal/timer.h +similarity index 96% +rename from lib/timer.h +rename to include/internal/timer.h +index 6b35d1763..e6f1a5a83 100644 +--- a/lib/timer.h ++++ b/include/internal/timer.h +@@ -19,8 +19,8 @@ + + #include + +-#include "timeval.h" +-#include "util.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + struct timer { + long long int t; +diff --git a/lib/timeval.h b/include/internal/timeval.h +similarity index 98% +rename from lib/timeval.h +rename to include/internal/timeval.h +index 502f703d4..32a1c8128 100644 +--- a/lib/timeval.h ++++ b/include/internal/timeval.h +@@ -19,7 +19,7 @@ + + #include + #include "openvswitch/type-props.h" +-#include "util.h" ++#include "internal/util.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/tun-metadata.h b/include/internal/tun-metadata-private.h +similarity index 99% +rename from lib/tun-metadata.h +rename to include/internal/tun-metadata-private.h +index 67dedae25..032748eac 100644 +--- a/lib/tun-metadata.h ++++ b/include/internal/tun-metadata-private.h +@@ -20,7 +20,7 @@ + #include + + #include "openvswitch/dynamic-string.h" +-#include "netlink.h" ++#include "internal/netlink.h" + #include "openvswitch/ofpbuf.h" + #include "openflow/openflow.h" + #include "openvswitch/tun-metadata.h" +diff --git a/lib/unaligned.h b/include/internal/unaligned.h +similarity index 99% +rename from lib/unaligned.h +rename to include/internal/unaligned.h +index f40e4e10d..839733b64 100644 +--- a/lib/unaligned.h ++++ b/include/internal/unaligned.h +@@ -18,10 +18,10 @@ + #define UNALIGNED_H 1 + + #include +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "openvswitch/types.h" + #include "openvswitch/type-props.h" +-#include "util.h" ++#include "internal/util.h" + + /* Public API. */ + static inline uint16_t get_unaligned_u16(const uint16_t *); +diff --git a/lib/unixctl.h b/include/internal/unixctl.h +similarity index 100% +rename from lib/unixctl.h +rename to include/internal/unixctl.h +diff --git a/include/internal/util.h b/include/internal/util.h +new file mode 100644 +index 000000000..4f40319c4 +--- /dev/null ++++ b/include/internal/util.h +@@ -0,0 +1,603 @@ ++/* ++ * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 Nicira, Inc. ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at: ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ */ ++ ++#ifndef UTIL_H ++#define UTIL_H 1 ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "openvswitch/compiler.h" ++#include "openvswitch/util.h" ++#if defined(__aarch64__) && __GNUC__ >= 6 ++#include ++#endif ++ ++extern char *program_name; ++ ++#define __ARRAY_SIZE_NOCHECK(ARRAY) (sizeof(ARRAY) / sizeof((ARRAY)[0])) ++#if __GNUC__ && !defined(__cplusplus) ++/* return 0 for array types, 1 otherwise */ ++#define __ARRAY_CHECK(ARRAY) \ ++ !__builtin_types_compatible_p(typeof(ARRAY), typeof(&ARRAY[0])) ++ ++/* compile-time fail if not array */ ++#define __ARRAY_FAIL(ARRAY) (sizeof(char[-2*!__ARRAY_CHECK(ARRAY)])) ++#define __ARRAY_SIZE(ARRAY) \ ++ __builtin_choose_expr(__ARRAY_CHECK(ARRAY), \ ++ __ARRAY_SIZE_NOCHECK(ARRAY), __ARRAY_FAIL(ARRAY)) ++#elif defined(__cplusplus) ++#define __ARRAY_SIZE(ARRAY) ( \ ++ 0 * sizeof(reinterpret_cast(ARRAY)) + \ ++ 0 * sizeof(::Bad_arg_to_ARRAY_SIZE::check_type((ARRAY), &(ARRAY))) + \ ++ sizeof(ARRAY) / sizeof((ARRAY)[0]) ) ++ ++struct Bad_arg_to_ARRAY_SIZE { ++ class Is_pointer; ++ class Is_array {}; ++ template ++ static Is_pointer check_type(const T *, const T * const *); ++ static Is_array check_type(const void *, const void *); ++}; ++#else ++#define __ARRAY_SIZE(ARRAY) __ARRAY_SIZE_NOCHECK(ARRAY) ++#endif ++ ++ ++/* This system's cache line size, in bytes. ++ * Being wrong hurts performance but not correctness. */ ++#define CACHE_LINE_SIZE 64 ++BUILD_ASSERT_DECL(IS_POW2(CACHE_LINE_SIZE)); ++ ++/* Cacheline marking is typically done using zero-sized array. ++ * However MSVC doesn't like zero-sized array in struct/union. ++ * C4200: https://msdn.microsoft.com/en-us/library/79wf64bc.aspx ++ */ ++typedef uint8_t OVS_CACHE_LINE_MARKER[1]; ++ ++static inline void ++ovs_prefetch_range(const void *start, size_t size) ++{ ++ const char *addr = (const char *)start; ++ size_t ofs; ++ ++ for (ofs = 0; ofs < size; ofs += CACHE_LINE_SIZE) { ++ OVS_PREFETCH(addr + ofs); ++ } ++} ++ ++#ifndef MIN ++#define MIN(X, Y) ((X) < (Y) ? (X) : (Y)) ++#endif ++ ++#ifndef MAX ++#define MAX(X, Y) ((X) > (Y) ? (X) : (Y)) ++#endif ++ ++/* Comparisons for ints with modular arithmetic */ ++#define INT_MOD_LT(a,b) ((int) ((a)-(b)) < 0) ++#define INT_MOD_LEQ(a,b) ((int) ((a)-(b)) <= 0) ++#define INT_MOD_GT(a,b) ((int) ((a)-(b)) > 0) ++#define INT_MOD_GEQ(a,b) ((int) ((a)-(b)) >= 0) ++ ++#define INT_MOD_MIN(a, b) ((INT_MOD_LT(a, b)) ? (a) : (b)) ++#define INT_MOD_MAX(a, b) ((INT_MOD_GT(a, b)) ? (a) : (b)) ++ ++#define OVS_NOT_REACHED() abort() ++ ++/* Joins two token expanding the arguments if they are macros. ++ * ++ * For token concatenation the circumlocution is needed for the ++ * expansion. */ ++#define OVS_JOIN2(X, Y) X##Y ++#define OVS_JOIN(X, Y) OVS_JOIN2(X, Y) ++ ++/* Use "%"PRIuSIZE to format size_t with printf(). */ ++#ifdef _WIN32 ++#define PRIdSIZE "Id" ++#define PRIiSIZE "Ii" ++#define PRIoSIZE "Io" ++#define PRIuSIZE "Iu" ++#define PRIxSIZE "Ix" ++#define PRIXSIZE "IX" ++#else ++#define PRIdSIZE "zd" ++#define PRIiSIZE "zi" ++#define PRIoSIZE "zo" ++#define PRIuSIZE "zu" ++#define PRIxSIZE "zx" ++#define PRIXSIZE "zX" ++#endif ++ ++#ifndef _WIN32 ++typedef uint32_t HANDLE; ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#define set_program_name(name) \ ++ ovs_set_program_name(name, OVS_PACKAGE_VERSION) ++ ++const char *get_subprogram_name(void); ++ void set_subprogram_name(const char *); ++ ++unsigned int get_page_size(void); ++long long int get_boot_time(void); ++ ++void ctl_timeout_setup(unsigned int secs); ++ ++void ovs_print_version(uint8_t min_ofp, uint8_t max_ofp); ++ ++void set_memory_locked(void); ++bool memory_locked(void); ++ ++OVS_NO_RETURN void out_of_memory(void); ++ ++/* Allocation wrappers that abort if memory is exhausted. */ ++void *xmalloc(size_t) OVS_MALLOC_LIKE; ++void *xcalloc(size_t, size_t) OVS_MALLOC_LIKE; ++void *xzalloc(size_t) OVS_MALLOC_LIKE; ++void *xrealloc(void *, size_t); ++void *xmemdup(const void *, size_t) OVS_MALLOC_LIKE; ++char *xmemdup0(const char *, size_t) OVS_MALLOC_LIKE; ++char *xstrdup(const char *) OVS_MALLOC_LIKE; ++char *nullable_xstrdup(const char *) OVS_MALLOC_LIKE; ++bool nullable_string_is_equal(const char *a, const char *b); ++char *xasprintf(const char *format, ...) OVS_PRINTF_FORMAT(1, 2) OVS_MALLOC_LIKE; ++char *xvasprintf(const char *format, va_list) OVS_PRINTF_FORMAT(1, 0) OVS_MALLOC_LIKE; ++void *x2nrealloc(void *p, size_t *n, size_t s); ++ ++/* Allocation wrappers for specialized situations where coverage counters ++ * cannot be used. */ ++void *xmalloc__(size_t) OVS_MALLOC_LIKE; ++void *xcalloc__(size_t, size_t) OVS_MALLOC_LIKE; ++void *xzalloc__(size_t) OVS_MALLOC_LIKE; ++void *xrealloc__(void *, size_t); ++ ++void *xmalloc_cacheline(size_t) OVS_MALLOC_LIKE; ++void *xzalloc_cacheline(size_t) OVS_MALLOC_LIKE; ++void free_cacheline(void *); ++ ++void ovs_strlcpy(char *dst, const char *src, size_t size); ++void ovs_strzcpy(char *dst, const char *src, size_t size); ++ ++int string_ends_with(const char *str, const char *suffix); ++ ++void *xmalloc_pagealign(size_t) OVS_MALLOC_LIKE; ++void free_pagealign(void *); ++void *xmalloc_size_align(size_t, size_t) OVS_MALLOC_LIKE; ++void free_size_align(void *); ++ ++/* The C standards say that neither the 'dst' nor 'src' argument to ++ * memcpy() may be null, even if 'n' is zero. This wrapper tolerates ++ * the null case. */ ++static inline void ++nullable_memcpy(void *dst, const void *src, size_t n) ++{ ++ if (n) { ++ memcpy(dst, src, n); ++ } ++} ++ ++/* The C standards say that the 'dst' argument to memset may not be ++ * null, even if 'n' is zero. This wrapper tolerates the null case. */ ++static inline void ++nullable_memset(void *dst, int c, size_t n) ++{ ++ if (n) { ++ memset(dst, c, n); ++ } ++} ++ ++/* Copy string SRC to DST, but no more bytes than the shorter of DST or SRC. ++ * DST and SRC must both be char arrays, not pointers, and with GNU C, this ++ * raises a compiler error if either DST or SRC is a pointer instead of an ++ * array. */ ++#define ovs_strlcpy_arrays(DST, SRC) \ ++ ovs_strlcpy(DST, SRC, MIN(ARRAY_SIZE(DST), ARRAY_SIZE(SRC))) ++ ++OVS_NO_RETURN void ovs_abort(int err_no, const char *format, ...) ++ OVS_PRINTF_FORMAT(2, 3); ++OVS_NO_RETURN void ovs_abort_valist(int err_no, const char *format, va_list) ++ OVS_PRINTF_FORMAT(2, 0); ++OVS_NO_RETURN void ovs_fatal(int err_no, const char *format, ...) ++ OVS_PRINTF_FORMAT(2, 3); ++OVS_NO_RETURN void ovs_fatal_valist(int err_no, const char *format, va_list) ++ OVS_PRINTF_FORMAT(2, 0); ++void ovs_error(int err_no, const char *format, ...) OVS_PRINTF_FORMAT(2, 3); ++void ovs_error_valist(int err_no, const char *format, va_list) ++ OVS_PRINTF_FORMAT(2, 0); ++const char *ovs_retval_to_string(int); ++const char *ovs_strerror(int); ++void ovs_hex_dump(FILE *, const void *, size_t, uintptr_t offset, bool ascii); ++ ++bool str_to_int(const char *, int base, int *); ++bool str_to_long(const char *, int base, long *); ++bool str_to_llong(const char *, int base, long long *); ++bool str_to_llong_with_tail(const char *, char **, int base, long long *); ++bool str_to_uint(const char *, int base, unsigned int *); ++bool str_to_ullong(const char *, int base, unsigned long long *); ++bool str_to_llong_range(const char *, int base, long long *, long long *); ++ ++bool ovs_scan(const char *s, const char *format, ...) OVS_SCANF_FORMAT(2, 3); ++bool ovs_scan_len(const char *s, int *n, const char *format, ...); ++ ++bool str_to_double(const char *, double *); ++ ++int hexit_value(unsigned char c); ++uintmax_t hexits_value(const char *s, size_t n, bool *ok); ++ ++int parse_int_string(const char *s, uint8_t *valuep, int field_width, ++ char **tail); ++ ++const char *english_list_delimiter(size_t index, size_t total); ++ ++char *get_cwd(void); ++#ifndef _WIN32 ++char *dir_name(const char *file_name); ++char *base_name(const char *file_name); ++#endif ++char *abs_file_name(const char *dir, const char *file_name); ++bool is_file_name_absolute(const char *); ++ ++char *follow_symlinks(const char *filename); ++ ++void ignore(bool x OVS_UNUSED); ++ ++/* Bitwise tests. */ ++ ++/* Returns the number of trailing 0-bits in 'n'. Undefined if 'n' == 0. */ ++#if __GNUC__ >= 4 ++static inline int ++raw_ctz(uint64_t n) ++{ ++ /* With GCC 4.7 on 32-bit x86, if a 32-bit integer is passed as 'n', using ++ * a plain __builtin_ctzll() here always generates an out-of-line function ++ * call. The test below helps it to emit a single 'bsf' instruction. */ ++ return (__builtin_constant_p(n <= UINT32_MAX) && n <= UINT32_MAX ++ ? __builtin_ctz(n) ++ : __builtin_ctzll(n)); ++} ++ ++static inline int ++raw_clz64(uint64_t n) ++{ ++ return __builtin_clzll(n); ++} ++#elif _MSC_VER ++static inline int ++raw_ctz(uint64_t n) ++{ ++#ifdef _WIN64 ++ unsigned long r = 0; ++ _BitScanForward64(&r, n); ++ return r; ++#else ++ unsigned long low = n, high, r = 0; ++ if (_BitScanForward(&r, low)) { ++ return r; ++ } ++ high = n >> 32; ++ _BitScanForward(&r, high); ++ return r + 32; ++#endif ++} ++ ++static inline int ++raw_clz64(uint64_t n) ++{ ++#ifdef _WIN64 ++ unsigned long r = 0; ++ _BitScanReverse64(&r, n); ++ return 63 - r; ++#else ++ unsigned long low, high = n >> 32, r = 0; ++ if (_BitScanReverse(&r, high)) { ++ return 31 - r; ++ } ++ low = n; ++ _BitScanReverse(&r, low); ++ return 63 - r; ++#endif ++} ++#else ++/* Defined in util.c. */ ++int raw_ctz(uint64_t n); ++int raw_clz64(uint64_t n); ++#endif ++ ++/* Returns the number of trailing 0-bits in 'n', or 32 if 'n' is 0. */ ++static inline int ++ctz32(uint32_t n) ++{ ++ return n ? raw_ctz(n) : 32; ++} ++ ++/* Returns the number of trailing 0-bits in 'n', or 64 if 'n' is 0. */ ++static inline int ++ctz64(uint64_t n) ++{ ++ return n ? raw_ctz(n) : 64; ++} ++ ++/* Returns the number of leading 0-bits in 'n', or 32 if 'n' is 0. */ ++static inline int ++clz32(uint32_t n) ++{ ++ return n ? raw_clz64(n) - 32 : 32; ++} ++ ++/* Returns the number of leading 0-bits in 'n', or 64 if 'n' is 0. */ ++static inline int ++clz64(uint64_t n) ++{ ++ return n ? raw_clz64(n) : 64; ++} ++ ++/* Given a word 'n', calculates floor(log_2('n')). This is equivalent ++ * to finding the bit position of the most significant one bit in 'n'. It is ++ * an error to call this function with 'n' == 0. */ ++static inline int ++log_2_floor(uint64_t n) ++{ ++ return 63 - raw_clz64(n); ++} ++ ++/* Given a word 'n', calculates ceil(log_2('n')). It is an error to ++ * call this function with 'n' == 0. */ ++static inline int ++log_2_ceil(uint64_t n) ++{ ++ return log_2_floor(n) + !is_pow2(n); ++} ++ ++/* unsigned int count_1bits(uint64_t x): ++ * ++ * Returns the number of 1-bits in 'x', between 0 and 64 inclusive. */ ++#if UINTPTR_MAX == UINT64_MAX ++static inline unsigned int ++count_1bits(uint64_t x) ++{ ++#if (__GNUC__ >= 4 && __POPCNT__) || (defined(__aarch64__) && __GNUC__ >= 7) ++ return __builtin_popcountll(x); ++#elif defined(__aarch64__) && __GNUC__ >= 6 ++ return vaddv_u8(vcnt_u8(vcreate_u8(x))); ++#else ++ /* This portable implementation is the fastest one we know of for 64 ++ * bits, and about 3x faster than GCC 4.7 __builtin_popcountll(). */ ++ const uint64_t h55 = UINT64_C(0x5555555555555555); ++ const uint64_t h33 = UINT64_C(0x3333333333333333); ++ const uint64_t h0F = UINT64_C(0x0F0F0F0F0F0F0F0F); ++ const uint64_t h01 = UINT64_C(0x0101010101010101); ++ x -= (x >> 1) & h55; /* Count of each 2 bits in-place. */ ++ x = (x & h33) + ((x >> 2) & h33); /* Count of each 4 bits in-place. */ ++ x = (x + (x >> 4)) & h0F; /* Count of each 8 bits in-place. */ ++ return (x * h01) >> 56; /* Sum of all bytes. */ ++#endif ++} ++#else /* Not 64-bit. */ ++#if __GNUC__ >= 4 && __POPCNT__ ++static inline unsigned int ++count_1bits_32__(uint32_t x) ++{ ++ return __builtin_popcount(x); ++} ++#else ++#define NEED_COUNT_1BITS_8 1 ++extern const uint8_t count_1bits_8[256]; ++static inline unsigned int ++count_1bits_32__(uint32_t x) ++{ ++ /* This portable implementation is the fastest one we know of for 32 bits, ++ * and faster than GCC __builtin_popcount(). */ ++ return (count_1bits_8[x & 0xff] + ++ count_1bits_8[(x >> 8) & 0xff] + ++ count_1bits_8[(x >> 16) & 0xff] + ++ count_1bits_8[x >> 24]); ++} ++#endif ++static inline unsigned int ++count_1bits(uint64_t x) ++{ ++ return count_1bits_32__(x) + count_1bits_32__(x >> 32); ++} ++#endif ++ ++/* Returns the rightmost 1-bit in 'x' (e.g. 01011000 => 00001000), or 0 if 'x' ++ * is 0. */ ++static inline uintmax_t ++rightmost_1bit(uintmax_t x) ++{ ++ return x & -x; ++} ++ ++/* Returns 'x' with its rightmost 1-bit changed to a zero (e.g. 01011000 => ++ * 01010000), or 0 if 'x' is 0. */ ++static inline uintmax_t ++zero_rightmost_1bit(uintmax_t x) ++{ ++ return x & (x - 1); ++} ++ ++/* Returns the index of the rightmost 1-bit in 'x' (e.g. 01011000 => 3), or an ++ * undefined value if 'x' is 0. */ ++static inline int ++rightmost_1bit_idx(uint64_t x) ++{ ++ return ctz64(x); ++} ++ ++/* Returns the index of the leftmost 1-bit in 'x' (e.g. 01011000 => 6), or an ++ * undefined value if 'x' is 0. */ ++static inline uint32_t ++leftmost_1bit_idx(uint64_t x) ++{ ++ return log_2_floor(x); ++} ++ ++/* Return a ovs_be32 prefix in network byte order with 'plen' highest bits set. ++ * Shift with 32 is undefined behavior, but we rather use 64-bit shift than ++ * compare. */ ++static inline ovs_be32 be32_prefix_mask(int plen) ++{ ++ return htonl((uint64_t)UINT32_MAX << (32 - plen)); ++} ++ ++/* Returns true if the 1-bits in 'super' are a superset of the 1-bits in 'sub', ++ * false otherwise. */ ++static inline bool ++uint_is_superset(uintmax_t super, uintmax_t sub) ++{ ++ return (super & sub) == sub; ++} ++ ++/* Returns true if the 1-bits in 'super' are a superset of the 1-bits in 'sub', ++ * false otherwise. */ ++static inline bool ++be16_is_superset(ovs_be16 super, ovs_be16 sub) ++{ ++ return (super & sub) == sub; ++} ++ ++/* Returns true if the 1-bits in 'super' are a superset of the 1-bits in 'sub', ++ * false otherwise. */ ++static inline bool ++be32_is_superset(ovs_be32 super, ovs_be32 sub) ++{ ++ return (super & sub) == sub; ++} ++ ++/* Returns true if the 1-bits in 'super' are a superset of the 1-bits in 'sub', ++ * false otherwise. */ ++static inline bool ++be64_is_superset(ovs_be64 super, ovs_be64 sub) ++{ ++ return (super & sub) == sub; ++} ++ ++bool is_all_zeros(const void *, size_t); ++bool is_all_ones(const void *, size_t); ++bool is_all_byte(const void *, size_t, uint8_t byte); ++void or_bytes(void *dst, const void *src, size_t n); ++void bitwise_copy(const void *src, unsigned int src_len, unsigned int src_ofs, ++ void *dst, unsigned int dst_len, unsigned int dst_ofs, ++ unsigned int n_bits); ++void bitwise_zero(void *dst_, unsigned int dst_len, unsigned dst_ofs, ++ unsigned int n_bits); ++void bitwise_one(void *dst_, unsigned int dst_len, unsigned dst_ofs, ++ unsigned int n_bits); ++bool bitwise_is_all_zeros(const void *, unsigned int len, unsigned int ofs, ++ unsigned int n_bits); ++unsigned int bitwise_scan(const void *, unsigned int len, ++ bool target, unsigned int start, unsigned int end); ++int bitwise_rscan(const void *, unsigned int len, bool target, ++ int start, int end); ++void bitwise_put(uint64_t value, ++ void *dst, unsigned int dst_len, unsigned int dst_ofs, ++ unsigned int n_bits); ++uint64_t bitwise_get(const void *src, unsigned int src_len, ++ unsigned int src_ofs, unsigned int n_bits); ++bool bitwise_get_bit(const void *src, unsigned int len, unsigned int ofs); ++void bitwise_put0(void *dst, unsigned int len, unsigned int ofs); ++void bitwise_put1(void *dst, unsigned int len, unsigned int ofs); ++void bitwise_put_bit(void *dst, unsigned int len, unsigned int ofs, bool); ++void bitwise_toggle_bit(void *dst, unsigned int len, unsigned int ofs); ++ ++/* Returns non-zero if the parameters have equal value. */ ++static inline int ++ovs_u128_equals(const ovs_u128 a, const ovs_u128 b) ++{ ++ return (a.u64.hi == b.u64.hi) && (a.u64.lo == b.u64.lo); ++} ++ ++/* Returns true if 'val' is 0. */ ++static inline bool ++ovs_u128_is_zero(const ovs_u128 val) ++{ ++ return !(val.u64.hi || val.u64.lo); ++} ++ ++/* Returns true if 'val' is all ones. */ ++static inline bool ++ovs_u128_is_ones(const ovs_u128 val) ++{ ++ return ovs_u128_equals(val, OVS_U128_MAX); ++} ++ ++/* Returns non-zero if the parameters have equal value. */ ++static inline int ++ovs_be128_equals(const ovs_be128 a, const ovs_be128 b) ++{ ++ return (a.be64.hi == b.be64.hi) && (a.be64.lo == b.be64.lo); ++} ++ ++/* Returns true if 'val' is 0. */ ++static inline bool ++ovs_be128_is_zero(const ovs_be128 val) ++{ ++ return !(val.be64.hi || val.be64.lo); ++} ++ ++static inline ovs_u128 ++ovs_u128_and(const ovs_u128 a, const ovs_u128 b) ++{ ++ ovs_u128 dst; ++ ++ dst.u64.hi = a.u64.hi & b.u64.hi; ++ dst.u64.lo = a.u64.lo & b.u64.lo; ++ ++ return dst; ++} ++ ++static inline bool ++ovs_be128_is_superset(ovs_be128 super, ovs_be128 sub) ++{ ++ return (be64_is_superset(super.be64.hi, sub.be64.hi) && ++ be64_is_superset(super.be64.lo, sub.be64.lo)); ++} ++ ++static inline bool ++ovs_u128_is_superset(ovs_u128 super, ovs_u128 sub) ++{ ++ return (uint_is_superset(super.u64.hi, sub.u64.hi) && ++ uint_is_superset(super.u64.lo, sub.u64.lo)); ++} ++ ++void xsleep(unsigned int seconds); ++void xnanosleep(uint64_t nanoseconds); ++ ++bool is_stdout_a_tty(void); ++ ++#ifdef _WIN32 ++ ++char *ovs_format_message(int error); ++char *ovs_lasterror_to_string(void); ++int ftruncate(int fd, off_t length); ++#endif ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* util.h */ +diff --git a/lib/uuid.h b/include/internal/uuid.h +similarity index 100% +rename from lib/uuid.h +rename to include/internal/uuid.h +diff --git a/lib/versions.h b/include/internal/versions.h +similarity index 98% +rename from lib/versions.h +rename to include/internal/versions.h +index d92f0a319..24d28102a 100644 +--- a/lib/versions.h ++++ b/include/internal/versions.h +@@ -17,7 +17,7 @@ + #ifndef VERSIONS_H + #define VERSIONS_H 1 + +-#include "ovs-atomic.h" ++#include "openvswitch/ovs-atomic.h" + #include "openvswitch/type-props.h" + + typedef uint64_t ovs_version_t; +diff --git a/include/openvswitch/automake.mk b/include/openvswitch/automake.mk +index 84670d80a..2845a1ece 100644 +--- a/include/openvswitch/automake.mk ++++ b/include/openvswitch/automake.mk +@@ -1,5 +1,7 @@ + openvswitchincludedir = $(includedir)/openvswitch + openvswitchinclude_HEADERS = \ ++ include/odp-netlink.h \ ++ include/odp-netlink-macros.h \ + include/openvswitch/compiler.h \ + include/openvswitch/dynamic-string.h \ + include/openvswitch/hmap.h \ +@@ -34,6 +36,20 @@ openvswitchinclude_HEADERS = \ + include/openvswitch/ofp-switch.h \ + include/openvswitch/ofp-table.h \ + include/openvswitch/ofp-util.h \ ++ include/openvswitch/ovs-atomic.h \ ++ include/openvswitch/ovs-numa.h \ ++ include/openvswitch/ovs-rcu.h \ ++ include/openvswitch/ovs-thread.h \ ++ include/openvswitch/ovsdb-cs.h \ ++ include/openvswitch/ovsdb-condition.h \ ++ include/openvswitch/ovsdb-data.h \ ++ include/openvswitch/ovsdb-error.h \ ++ include/openvswitch/ovsdb-idl.h \ ++ include/openvswitch/ovsdb-idl-provider.h \ ++ include/openvswitch/ovsdb-map-op.h \ ++ include/openvswitch/ovsdb-set-op.h \ ++ include/openvswitch/ovsdb-parser.h \ ++ include/openvswitch/ovsdb-types.h \ + include/openvswitch/packets.h \ + include/openvswitch/poll-loop.h \ + include/openvswitch/rconn.h \ +diff --git a/lib/ovs-atomic.h b/include/openvswitch/ovs-atomic.h +similarity index 97% +rename from lib/ovs-atomic.h +rename to include/openvswitch/ovs-atomic.h +index 341e0d0cc..d155c98e4 100644 +--- a/lib/ovs-atomic.h ++++ b/include/openvswitch/ovs-atomic.h +@@ -323,35 +323,39 @@ + #include + #include + #include "openvswitch/compiler.h" +-#include "util.h" ++#include "internal/util.h" ++ ++#ifdef __cplusplus ++extern "C" { ++#endif + + #define IN_OVS_ATOMIC_H + #if __CHECKER__ + /* sparse doesn't understand some GCC extensions we use. */ +- #include "ovs-atomic-pthreads.h" ++ #include "internal/ovs-atomic-pthreads.h" + #elif __has_extension(c_atomic) +- #include "ovs-atomic-clang.h" ++ #include "internal/ovs-atomic-clang.h" + #elif HAVE_ATOMIC && __cplusplus >= 201103L +- #include "ovs-atomic-c++.h" ++ #include "internal/ovs-atomic-c++.h" + #elif HAVE_STDATOMIC_H && !defined(__cplusplus) +- #include "ovs-atomic-c11.h" ++ #include "internal/ovs-atomic-c11.h" + #elif __GNUC__ >= 5 && !defined(__cplusplus) + #error "GCC 5+ should have " + #elif __GNUC__ >= 5 || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 7) +- #include "ovs-atomic-gcc4.7+.h" ++ #include "internal/ovs-atomic-gcc4.7+.h" + #elif __GNUC__ && defined(__x86_64__) +- #include "ovs-atomic-x86_64.h" ++ #include "internal/ovs-atomic-x86_64.h" + #elif __GNUC__ && defined(__i386__) +- #include "ovs-atomic-i586.h" ++ #include "internal/ovs-atomic-i586.h" + #elif HAVE_GCC4_ATOMICS +- #include "ovs-atomic-gcc4+.h" ++ #include "internal/ovs-atomic-gcc4+.h" + #elif _MSC_VER +- #include "ovs-atomic-msvc.h" ++ #include "internal/ovs-atomic-msvc.h" + #else + /* ovs-atomic-pthreads implementation is provided for portability. + * It might be too slow for real use because Open vSwitch is + * optimized for platforms where real atomic ops are available. */ +- #include "ovs-atomic-pthreads.h" ++ #include "internal/ovs-atomic-pthreads.h" + #endif + #undef IN_OVS_ATOMIC_H + +@@ -668,4 +672,8 @@ ovs_refcount_unref_relaxed(struct ovs_refcount *refcount) + return old_refcount; + } + ++#ifdef __cplusplus ++} // extern "C" ++#endif ++ + #endif /* ovs-atomic.h */ +diff --git a/lib/ovs-numa.h b/include/openvswitch/ovs-numa.h +similarity index 96% +rename from lib/ovs-numa.h +rename to include/openvswitch/ovs-numa.h +index 2030bdb64..06661a03e 100644 +--- a/lib/ovs-numa.h ++++ b/include/openvswitch/ovs-numa.h +@@ -28,6 +28,10 @@ + + #define MAX_NUMA_NODES 128 + ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + /* Dump of a list of 'struct ovs_numa_info'. */ + struct ovs_numa_dump { + struct hmap cores; +@@ -73,4 +77,8 @@ int ovs_numa_thread_setaffinity_core(unsigned core_id); + #define FOR_EACH_NUMA_ON_DUMP(ITER, DUMP) \ + HMAP_FOR_EACH((ITER), hmap_node, &(DUMP)->numas) + ++#ifdef __cplusplus ++} // extern "C" ++#endif ++ + #endif /* ovs-numa.h */ +diff --git a/lib/ovs-rcu.h b/include/openvswitch/ovs-rcu.h +similarity index 99% +rename from lib/ovs-rcu.h +rename to include/openvswitch/ovs-rcu.h +index 5e31181d8..9eee05659 100644 +--- a/lib/ovs-rcu.h ++++ b/include/openvswitch/ovs-rcu.h +@@ -158,7 +158,11 @@ + */ + + #include "openvswitch/compiler.h" +-#include "ovs-atomic.h" ++#include "openvswitch/ovs-atomic.h" ++ ++#ifdef __cplusplus ++extern "C" { ++#endif + + #if __GNUC__ + #define OVSRCU_TYPE(TYPE) struct { ATOMIC(TYPE) p; } +@@ -310,4 +314,8 @@ void ovsrcu_synchronize(void); + + void ovsrcu_exit(void); + ++#ifdef __cplusplus ++} // extern "C" ++#endif ++ + #endif /* ovs-rcu.h */ +diff --git a/lib/ovs-thread.h b/include/openvswitch/ovs-thread.h +similarity index 99% +rename from lib/ovs-thread.h +rename to include/openvswitch/ovs-thread.h +index 3b444ccdc..b1ac36096 100644 +--- a/lib/ovs-thread.h ++++ b/include/openvswitch/ovs-thread.h +@@ -20,10 +20,14 @@ + #include + #include + #include +-#include "ovs-atomic.h" +-#include "ovs-rcu.h" ++#include "openvswitch/ovs-atomic.h" ++#include "openvswitch/ovs-rcu.h" + #include "openvswitch/thread.h" +-#include "util.h" ++#include "internal/util.h" ++ ++#ifdef __cplusplus ++extern "C" { ++#endif + + struct seq; + +@@ -524,4 +528,8 @@ bool may_fork(void); + int count_cpu_cores(void); + bool thread_is_pmd(void); + ++#ifdef __cplusplus ++} // extern "C" ++#endif ++ + #endif /* ovs-thread.h */ +diff --git a/lib/ovsdb-condition.h b/include/openvswitch/ovsdb-condition.h +similarity index 95% +rename from lib/ovsdb-condition.h +rename to include/openvswitch/ovsdb-condition.h +index 65496e1b2..cd72d7b38 100644 +--- a/lib/ovsdb-condition.h ++++ b/include/openvswitch/ovsdb-condition.h +@@ -31,6 +31,10 @@ + OVSDB_FUNCTION(OVSDB_F_EXCLUDES, "excludes") \ + OVSDB_FUNCTION(OVSDB_F_NE, "!=") + ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + enum ovsdb_function { + #define OVSDB_FUNCTION(ENUM, NAME) ENUM, + OVSDB_FUNCTIONS +@@ -42,4 +46,8 @@ struct ovsdb_error * ovsdb_function_from_string(const char *name, + enum ovsdb_function *function); + const char * ovsdb_function_to_string(enum ovsdb_function function); + ++#ifdef __cplusplus ++} // extern "C" { ++#endif ++ + #endif /* ovsdb-condition.h */ +diff --git a/lib/ovsdb-cs.h b/include/openvswitch/ovsdb-cs.h +similarity index 98% +rename from lib/ovsdb-cs.h +rename to include/openvswitch/ovsdb-cs.h +index 03bbd7ee1..2c06559a8 100644 +--- a/lib/ovsdb-cs.h ++++ b/include/openvswitch/ovsdb-cs.h +@@ -31,9 +31,13 @@ + #include "openvswitch/shash.h" + #include "openvswitch/uuid.h" + ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + struct json; + struct ovsdb_cs; +- ++ + struct ovsdb_cs_ops { + /* Returns to use for the specified . The + * implementation might find ovsdb_cs_parse_table_updates() to be a useful +@@ -202,4 +206,8 @@ const struct ovsdb_cs_table_update *ovsdb_cs_db_update_find_table( + struct shash *ovsdb_cs_parse_schema(const struct json *schema_json); + void ovsdb_cs_free_schema(struct shash *schema); + ++#ifdef __cplusplus ++} // extern "C" ++#endif ++ + #endif /* ovsdb-cs.h */ +diff --git a/lib/ovsdb-data.h b/include/openvswitch/ovsdb-data.h +similarity index 99% +rename from lib/ovsdb-data.h +rename to include/openvswitch/ovsdb-data.h +index a27ce91ed..525a33db0 100644 +--- a/lib/ovsdb-data.h ++++ b/include/openvswitch/ovsdb-data.h +@@ -18,10 +18,10 @@ + + #include + #include "openvswitch/compiler.h" +-#include "ovsdb-types.h" ++#include "openvswitch/ovsdb-types.h" + #include "openvswitch/json.h" + #include "openvswitch/shash.h" +-#include "util.h" ++#include "internal/util.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/ovsdb-error.h b/include/openvswitch/ovsdb-error.h +similarity index 97% +rename from lib/ovsdb-error.h +rename to include/openvswitch/ovsdb-error.h +index 1621f0eac..ccae8470e 100644 +--- a/lib/ovsdb-error.h ++++ b/include/openvswitch/ovsdb-error.h +@@ -18,6 +18,10 @@ + + #include "openvswitch/compiler.h" + ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + struct json; + + struct ovsdb_error *ovsdb_error(const char *tag, const char *details, ...) +@@ -72,4 +76,8 @@ const char *ovsdb_error_get_tag(const struct ovsdb_error *); + + void ovsdb_error_assert(struct ovsdb_error *); + ++#ifdef __cplusplus ++} // extern "C" ++#endif ++ + #endif /* ovsdb-error.h */ +diff --git a/lib/ovsdb-idl-provider.h b/include/openvswitch/ovsdb-idl-provider.h +similarity index 97% +rename from lib/ovsdb-idl-provider.h +rename to include/openvswitch/ovsdb-idl-provider.h +index 8797686f9..53efd911c 100644 +--- a/lib/ovsdb-idl-provider.h ++++ b/include/openvswitch/ovsdb-idl-provider.h +@@ -19,13 +19,13 @@ + + #include "openvswitch/hmap.h" + #include "openvswitch/list.h" +-#include "ovsdb-idl.h" +-#include "ovsdb-map-op.h" +-#include "ovsdb-set-op.h" +-#include "ovsdb-types.h" ++#include "openvswitch/ovsdb-idl.h" ++#include "openvswitch/ovsdb-map-op.h" ++#include "openvswitch/ovsdb-set-op.h" ++#include "openvswitch/ovsdb-types.h" + #include "openvswitch/shash.h" +-#include "sset.h" +-#include "uuid.h" ++#include "internal/sset.h" ++#include "internal/uuid.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/ovsdb-idl.h b/include/openvswitch/ovsdb-idl.h +similarity index 99% +rename from lib/ovsdb-idl.h +rename to include/openvswitch/ovsdb-idl.h +index 48cff8a83..7e2101704 100644 +--- a/lib/ovsdb-idl.h ++++ b/include/openvswitch/ovsdb-idl.h +@@ -38,11 +38,11 @@ + #include + #include + #include "openvswitch/compiler.h" +-#include "ovsdb-types.h" +-#include "ovsdb-data.h" ++#include "openvswitch/ovsdb-types.h" ++#include "openvswitch/ovsdb-data.h" + #include "openvswitch/list.h" +-#include "ovsdb-condition.h" +-#include "skiplist.h" ++#include "openvswitch/ovsdb-condition.h" ++#include "internal/skiplist.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/ovsdb-map-op.h b/include/openvswitch/ovsdb-map-op.h +similarity index 97% +rename from lib/ovsdb-map-op.h +rename to include/openvswitch/ovsdb-map-op.h +index 282f0534e..9de4013f7 100644 +--- a/lib/ovsdb-map-op.h ++++ b/include/openvswitch/ovsdb-map-op.h +@@ -17,7 +17,7 @@ + #ifndef OVSDB_MAP_OP_H + #define OVSDB_MAP_OP_H 1 + +-#include "ovsdb-data.h" ++#include "openvswitch/ovsdb-data.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/ovsdb-parser.h b/include/openvswitch/ovsdb-parser.h +similarity index 96% +rename from lib/ovsdb-parser.h +rename to include/openvswitch/ovsdb-parser.h +index 8af64de36..86a2d1c80 100644 +--- a/lib/ovsdb-parser.h ++++ b/include/openvswitch/ovsdb-parser.h +@@ -19,8 +19,12 @@ + #include + #include "openvswitch/compiler.h" + #include "openvswitch/json.h" +-#include "sset.h" +-#include "util.h" ++#include "internal/sset.h" ++#include "internal/util.h" ++ ++#ifdef __cplusplus ++extern "C" { ++#endif + + struct ovsdb_parser { + char *name; /* Used only in error messages. */ +@@ -78,4 +82,8 @@ struct ovsdb_error *ovsdb_parser_destroy(struct ovsdb_parser *) + + bool ovsdb_parser_is_id(const char *string); + ++#ifdef __cplusplus ++} // extern "C" ++#endif ++ + #endif /* ovsdb-parser.h */ +diff --git a/lib/ovsdb-set-op.h b/include/openvswitch/ovsdb-set-op.h +similarity index 97% +rename from lib/ovsdb-set-op.h +rename to include/openvswitch/ovsdb-set-op.h +index 419080b8a..d3adbb3f1 100644 +--- a/lib/ovsdb-set-op.h ++++ b/include/openvswitch/ovsdb-set-op.h +@@ -18,7 +18,7 @@ + #ifndef OVSDB_SET_OP_H + #define OVSDB_SET_OP_H 1 + +-#include "ovsdb-data.h" ++#include "openvswitch/ovsdb-data.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/ovsdb-types.h b/include/openvswitch/ovsdb-types.h +similarity index 99% +rename from lib/ovsdb-types.h +rename to include/openvswitch/ovsdb-types.h +index 1776fdbec..810499a4a 100644 +--- a/lib/ovsdb-types.h ++++ b/include/openvswitch/ovsdb-types.h +@@ -20,7 +20,7 @@ + #include + #include + #include "openvswitch/compiler.h" +-#include "uuid.h" ++#include "internal/uuid.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/include/sparse/automake.mk b/include/sparse/automake.mk +index e96637119..4b53bce0e 100644 +--- a/include/sparse/automake.mk ++++ b/include/sparse/automake.mk +@@ -1,4 +1,4 @@ +-noinst_HEADERS += \ ++sparse_headers = \ + include/sparse/rte_byteorder.h \ + include/sparse/xmmintrin.h \ + include/sparse/arpa/inet.h \ +@@ -21,3 +21,11 @@ noinst_HEADERS += \ + include/sparse/threads.h \ + include/sparse/linux/if_packet.h \ + include/sparse/linux/tc_act/tc_pedit.h ++ ++# Only install headers if enabled ++if ENABLE_SPARSE_BY_DEFAULT ++ ovssparseincludedir = $(openvswitchincludedir)/sparse ++ ovssparseinclude_HEADERS = $(sparse_headers) ++else ++ noinst_HEADERS += $(sparse_headers) ++endif +diff --git a/include/windows/netinet/icmp6.h b/include/windows/netinet/icmp6.h +index 81f8f5d23..14051be81 100644 +--- a/include/windows/netinet/icmp6.h ++++ b/include/windows/netinet/icmp6.h +@@ -61,7 +61,7 @@ + #ifndef _NETINET_ICMP6_H_ + #define _NETINET_ICMP6_H_ + +-#include "byte-order.h" ++#include "internal/byte-order.h" + + #define ICMPV6_PLD_MAXLEN 1232 /* IPV6_MMTU - sizeof(struct ip6_hdr) + - sizeof(struct icmp6_hdr) */ +diff --git a/include/windows/netinet/ip6.h b/include/windows/netinet/ip6.h +index c14c4eec4..ab9f9f296 100644 +--- a/include/windows/netinet/ip6.h ++++ b/include/windows/netinet/ip6.h +@@ -62,7 +62,7 @@ + #define _NETINET_IP6_H_ + #include + #include +-#include "byte-order.h" ++#include "internal/byte-order.h" + + /* + * Definition for internet protocol version 6. +diff --git a/lib/aes128.c b/lib/aes128.c +index 98447d14b..9a3b21d23 100644 +--- a/lib/aes128.c ++++ b/lib/aes128.c +@@ -26,7 +26,7 @@ + + #include "aes128.h" + +-#include "util.h" ++#include "internal/util.h" + + static const uint32_t Te0[256] = { + 0xc66363a5U, 0xf87c7c84U, 0xee777799U, 0xf67b7b8dU, +diff --git a/lib/async-append-aio.c b/lib/async-append-aio.c +index 23430a455..4d4f07f66 100644 +--- a/lib/async-append-aio.c ++++ b/lib/async-append-aio.c +@@ -26,8 +26,8 @@ + #include + + #include "byteq.h" +-#include "ovs-thread.h" +-#include "util.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/util.h" + + /* Maximum number of bytes of buffered data. */ + enum { BUFFER_SIZE = 65536 }; +diff --git a/lib/async-append-null.c b/lib/async-append-null.c +index 217997bec..ed7a7d276 100644 +--- a/lib/async-append-null.c ++++ b/lib/async-append-null.c +@@ -23,7 +23,7 @@ + #include + #include + +-#include "util.h" ++#include "internal/util.h" + + struct async_append * + async_append_create(int fd OVS_UNUSED) +diff --git a/lib/automake.mk b/lib/automake.mk +index a23cdc4ad..e13cc31e5 100644 +--- a/lib/automake.mk ++++ b/lib/automake.mk +@@ -237,31 +237,15 @@ lib_libopenvswitch_la_SOURCES = \ + 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-replay.c \ + lib/ovs-replay.h \ + lib/ovs-router.h \ + lib/ovs-router.c \ + lib/ovs-thread.c \ +- lib/ovs-thread.h \ + lib/ovsdb-cs.c \ + lib/ovsdb-cs.h \ + lib/ovsdb-data.c \ +diff --git a/lib/backtrace.c b/lib/backtrace.c +index 2853d5ff1..a9c5897ef 100644 +--- a/lib/backtrace.c ++++ b/lib/backtrace.c +@@ -23,7 +23,7 @@ + + #include "backtrace.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(backtrace); + +diff --git a/lib/bfd.c b/lib/bfd.c +index 9698576d0..880dc43f6 100644 +--- a/lib/bfd.c ++++ b/lib/bfd.c +@@ -22,30 +22,30 @@ + #include + #include + +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "connectivity.h" +-#include "csum.h" +-#include "dp-packet.h" ++#include "internal/csum.h" ++#include "internal/dp-packet.h" + #include "dpif.h" + #include "openvswitch/dynamic-string.h" +-#include "flow.h" +-#include "hash.h" ++#include "internal/flow.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" + #include "openvswitch/list.h" +-#include "netdev.h" ++#include "internal/netdev.h" + #include "odp-util.h" + #include "openvswitch/ofpbuf.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/types.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "random.h" +-#include "seq.h" +-#include "smap.h" +-#include "timeval.h" +-#include "unaligned.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/random.h" ++#include "internal/seq.h" ++#include "internal/smap.h" ++#include "internal/timeval.h" ++#include "internal/unaligned.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(bfd); +diff --git a/lib/bfd.h b/lib/bfd.h +index 9d32327fb..b5577223c 100644 +--- a/lib/bfd.h ++++ b/lib/bfd.h +@@ -21,7 +21,7 @@ + #include + #include + +-#include "packets.h" ++#include "internal/packets.h" + + struct bfd; + struct dpif_flow_stats; +diff --git a/lib/bundle.c b/lib/bundle.c +index d728380ec..4f653e6c0 100644 +--- a/lib/bundle.c ++++ b/lib/bundle.c +@@ -15,16 +15,16 @@ + + #include + +-#include "bundle.h" ++#include "internal/bundle.h" + + #include + #include + #include + #include + +-#include "colors.h" ++#include "internal/colors.h" + #include "multipath.h" +-#include "nx-match.h" ++#include "internal/nx-match.h" + #include "openflow/nicira-ext.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/meta-flow.h" +@@ -33,7 +33,7 @@ + #include "openvswitch/ofp-port.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(bundle); + +diff --git a/lib/byteq.c b/lib/byteq.c +index 3f865cf9e..e9c70268c 100644 +--- a/lib/byteq.c ++++ b/lib/byteq.c +@@ -18,7 +18,7 @@ + #include + #include + #include +-#include "util.h" ++#include "internal/util.h" + + /* Initializes 'q' as an empty byteq that uses the 'size' bytes of 'buffer' to + * store data. 'size' must be a power of 2. +diff --git a/lib/ccmap.c b/lib/ccmap.c +index a460833b1..317a0b85f 100644 +--- a/lib/ccmap.c ++++ b/lib/ccmap.c +@@ -16,12 +16,12 @@ + + #include + #include "ccmap.h" +-#include "coverage.h" +-#include "bitmap.h" +-#include "hash.h" +-#include "ovs-rcu.h" +-#include "random.h" +-#include "util.h" ++#include "internal/coverage.h" ++#include "internal/bitmap.h" ++#include "internal/hash.h" ++#include "openvswitch/ovs-rcu.h" ++#include "internal/random.h" ++#include "internal/util.h" + + COVERAGE_DEFINE(ccmap_expand); + COVERAGE_DEFINE(ccmap_shrink); +diff --git a/lib/ccmap.h b/lib/ccmap.h +index 9c394486e..66fcd6ceb 100644 +--- a/lib/ccmap.h ++++ b/lib/ccmap.h +@@ -19,8 +19,8 @@ + + #include + #include +-#include "ovs-rcu.h" +-#include "util.h" ++#include "openvswitch/ovs-rcu.h" ++#include "internal/util.h" + + /* Concurrent hash map for numerical counts of given hash values. + * ============================================================== +diff --git a/lib/cfm.c b/lib/cfm.c +index cc43e70e3..da9fe0210 100644 +--- a/lib/cfm.c ++++ b/lib/cfm.c +@@ -21,24 +21,24 @@ + #include + #include + +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "connectivity.h" +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "openvswitch/dynamic-string.h" +-#include "flow.h" +-#include "hash.h" ++#include "internal/flow.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" +-#include "netdev.h" +-#include "ovs-atomic.h" +-#include "packets.h" ++#include "internal/netdev.h" ++#include "openvswitch/ovs-atomic.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "random.h" +-#include "seq.h" +-#include "timer.h" +-#include "timeval.h" +-#include "unixctl.h" ++#include "internal/random.h" ++#include "internal/seq.h" ++#include "internal/timer.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(cfm); + +diff --git a/lib/cfm.h b/lib/cfm.h +index 5710c9952..a2ace3421 100644 +--- a/lib/cfm.h ++++ b/lib/cfm.h +@@ -20,7 +20,7 @@ + + #include "openvswitch/hmap.h" + #include "openvswitch/types.h" +-#include "packets.h" ++#include "internal/packets.h" + + struct flow; + struct dp_packet; +diff --git a/lib/classifier-private.h b/lib/classifier-private.h +index 1d5ee007a..114a380cf 100644 +--- a/lib/classifier-private.h ++++ b/lib/classifier-private.h +@@ -18,10 +18,10 @@ + #define CLASSIFIER_PRIVATE_H 1 + + #include "ccmap.h" +-#include "cmap.h" +-#include "flow.h" +-#include "hash.h" +-#include "rculist.h" ++#include "internal/cmap.h" ++#include "internal/flow.h" ++#include "internal/hash.h" ++#include "internal/rculist.h" + + /* Classifier internal definitions, subject to change at any time. */ + +diff --git a/lib/classifier.c b/lib/classifier.c +index c4790ee6b..1f8c8bd67 100644 +--- a/lib/classifier.c ++++ b/lib/classifier.c +@@ -15,16 +15,16 @@ + */ + + #include +-#include "classifier.h" ++#include "internal/classifier.h" + #include "classifier-private.h" + #include + #include + #include +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "openvswitch/dynamic-string.h" + #include "odp-util.h" +-#include "packets.h" +-#include "util.h" ++#include "internal/packets.h" ++#include "internal/util.h" + + struct trie_ctx; + +diff --git a/lib/cmap.c b/lib/cmap.c +index c9eef3f4a..bfa0bba34 100644 +--- a/lib/cmap.c ++++ b/lib/cmap.c +@@ -15,13 +15,13 @@ + */ + + #include +-#include "cmap.h" +-#include "coverage.h" +-#include "bitmap.h" +-#include "hash.h" +-#include "ovs-rcu.h" +-#include "random.h" +-#include "util.h" ++#include "internal/cmap.h" ++#include "internal/coverage.h" ++#include "internal/bitmap.h" ++#include "internal/hash.h" ++#include "openvswitch/ovs-rcu.h" ++#include "internal/random.h" ++#include "internal/util.h" + + COVERAGE_DEFINE(cmap_expand); + COVERAGE_DEFINE(cmap_shrink); +diff --git a/lib/colors.c b/lib/colors.c +index 13456445e..a98c3dd71 100644 +--- a/lib/colors.c ++++ b/lib/colors.c +@@ -18,12 +18,12 @@ + + #include + +-#include "colors.h" ++#include "internal/colors.h" + + #include + #include + +-#include "util.h" ++#include "internal/util.h" + + struct color_key { + const char *name; +diff --git a/lib/command-line.c b/lib/command-line.c +index 967f4f5d5..20777a6e7 100644 +--- a/lib/command-line.c ++++ b/lib/command-line.c +@@ -15,14 +15,14 @@ + */ + + #include +-#include "command-line.h" ++#include "internal/command-line.h" + #include + #include + #include +-#include "svec.h" ++#include "internal/svec.h" + #include "openvswitch/dynamic-string.h" +-#include "ovs-thread.h" +-#include "util.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(command_line); +diff --git a/lib/connectivity.c b/lib/connectivity.c +index c80b5f113..7984864ff 100644 +--- a/lib/connectivity.c ++++ b/lib/connectivity.c +@@ -16,8 +16,8 @@ + + #include + #include "connectivity.h" +-#include "ovs-thread.h" +-#include "seq.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/seq.h" + + static struct seq *connectivity_seq; + +diff --git a/lib/conntrack-icmp.c b/lib/conntrack-icmp.c +index b40297039..993a6e3a0 100644 +--- a/lib/conntrack-icmp.c ++++ b/lib/conntrack-icmp.c +@@ -23,7 +23,7 @@ + + #include "conntrack-private.h" + #include "conntrack-tp.h" +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + + enum OVS_PACKED_ENUM icmp_state { + ICMPS_FIRST, +diff --git a/lib/conntrack-other.c b/lib/conntrack-other.c +index d3b460185..a4061ba13 100644 +--- a/lib/conntrack-other.c ++++ b/lib/conntrack-other.c +@@ -18,7 +18,7 @@ + + #include "conntrack-private.h" + #include "conntrack-tp.h" +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + + enum OVS_PACKED_ENUM other_state { + OTHERS_FIRST, +diff --git a/lib/conntrack-private.h b/lib/conntrack-private.h +index dfdf4e676..c987b9655 100644 +--- a/lib/conntrack-private.h ++++ b/lib/conntrack-private.h +@@ -21,16 +21,16 @@ + #include + #include + +-#include "cmap.h" ++#include "internal/cmap.h" + #include "conntrack.h" + #include "ct-dpif.h" + #include "ipf.h" + #include "openvswitch/hmap.h" + #include "openvswitch/list.h" + #include "openvswitch/types.h" +-#include "packets.h" +-#include "unaligned.h" +-#include "dp-packet.h" ++#include "internal/packets.h" ++#include "internal/unaligned.h" ++#include "internal/dp-packet.h" + + struct ct_endpoint { + union ct_addr addr; +diff --git a/lib/conntrack-tcp.c b/lib/conntrack-tcp.c +index 8a7c98cc4..464e8e3f4 100644 +--- a/lib/conntrack-tcp.c ++++ b/lib/conntrack-tcp.c +@@ -40,10 +40,10 @@ + + #include "conntrack-private.h" + #include "conntrack-tp.h" +-#include "coverage.h" ++#include "internal/coverage.h" + #include "ct-dpif.h" +-#include "dp-packet.h" +-#include "util.h" ++#include "internal/dp-packet.h" ++#include "internal/util.h" + + COVERAGE_DEFINE(conntrack_tcp_seq_chk_bypass); + COVERAGE_DEFINE(conntrack_tcp_seq_chk_failed); +diff --git a/lib/conntrack.c b/lib/conntrack.c +index 33a1a9295..6bb5202b9 100644 +--- a/lib/conntrack.c ++++ b/lib/conntrack.c +@@ -22,24 +22,24 @@ + #include + #include + +-#include "bitmap.h" ++#include "internal/bitmap.h" + #include "conntrack.h" + #include "conntrack-private.h" + #include "conntrack-tp.h" +-#include "coverage.h" +-#include "csum.h" ++#include "internal/coverage.h" ++#include "internal/csum.h" + #include "ct-dpif.h" +-#include "dp-packet.h" +-#include "flow.h" +-#include "netdev.h" ++#include "internal/dp-packet.h" ++#include "internal/flow.h" ++#include "internal/netdev.h" + #include "odp-netlink.h" + #include "openvswitch/hmap.h" + #include "openvswitch/vlog.h" +-#include "ovs-rcu.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-rcu.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/poll-loop.h" +-#include "random.h" +-#include "timeval.h" ++#include "internal/random.h" ++#include "internal/timeval.h" + + VLOG_DEFINE_THIS_MODULE(conntrack); + +diff --git a/lib/conntrack.h b/lib/conntrack.h +index 9553b188a..766c85416 100644 +--- a/lib/conntrack.h ++++ b/lib/conntrack.h +@@ -19,18 +19,18 @@ + + #include + +-#include "cmap.h" ++#include "internal/cmap.h" + #include "ct-dpif.h" +-#include "latch.h" ++#include "internal/latch.h" + #include "odp-netlink.h" + #include "openvswitch/hmap.h" + #include "openvswitch/list.h" + #include "openvswitch/thread.h" + #include "openvswitch/types.h" +-#include "ovs-atomic.h" +-#include "ovs-thread.h" +-#include "packets.h" +-#include "hindex.h" ++#include "openvswitch/ovs-atomic.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/packets.h" ++#include "internal/hindex.h" + + /* Userspace connection tracker + * ============================ +diff --git a/lib/coverage.c b/lib/coverage.c +index a95b6aa25..a5e74236b 100644 +--- a/lib/coverage.c ++++ b/lib/coverage.c +@@ -15,15 +15,15 @@ + */ + + #include +-#include "coverage.h" ++#include "internal/coverage.h" + #include + #include + #include "openvswitch/dynamic-string.h" +-#include "hash.h" +-#include "svec.h" +-#include "timeval.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/hash.h" ++#include "internal/svec.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(coverage); +diff --git a/lib/crc32c.c b/lib/crc32c.c +index e8dd6eee7..37f0d0a35 100644 +--- a/lib/crc32c.c ++++ b/lib/crc32c.c +@@ -43,8 +43,8 @@ + */ + + #include +-#include "crc32c.h" +-#include "byte-order.h" ++#include "internal/crc32c.h" ++#include "internal/byte-order.h" + + /*****************************************************************/ + /* */ +diff --git a/lib/csum.c b/lib/csum.c +index eaa05ad98..98e584b51 100644 +--- a/lib/csum.c ++++ b/lib/csum.c +@@ -15,8 +15,8 @@ + */ + + #include +-#include "csum.h" +-#include "unaligned.h" ++#include "internal/csum.h" ++#include "internal/unaligned.h" + #include + #include + +diff --git a/lib/ct-dpif.h b/lib/ct-dpif.h +index b59cba962..a31088732 100644 +--- a/lib/ct-dpif.h ++++ b/lib/ct-dpif.h +@@ -18,7 +18,7 @@ + #define CT_DPIF_H + + #include "openvswitch/types.h" +-#include "packets.h" ++#include "internal/packets.h" + + union ct_dpif_inet_addr { + ovs_be32 ip; +diff --git a/lib/daemon-unix.c b/lib/daemon-unix.c +index 34d45b82a..29b80d907 100644 +--- a/lib/daemon-unix.c ++++ b/lib/daemon-unix.c +@@ -16,7 +16,7 @@ + + #include + #include "backtrace.h" +-#include "daemon.h" ++#include "internal/daemon.h" + #include "daemon-private.h" + #include + #include +@@ -32,15 +32,15 @@ + #if HAVE_LIBCAPNG + #include + #endif +-#include "command-line.h" +-#include "fatal-signal.h" +-#include "dirs.h" ++#include "internal/command-line.h" ++#include "internal/fatal-signal.h" ++#include "internal/dirs.h" + #include "lockfile.h" +-#include "ovs-thread.h" +-#include "process.h" +-#include "socket-util.h" +-#include "timeval.h" +-#include "util.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/process.h" ++#include "internal/socket-util.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(daemon_unix); +diff --git a/lib/daemon-windows.c b/lib/daemon-windows.c +index 7e5f264f5..92639eae0 100644 +--- a/lib/daemon-windows.c ++++ b/lib/daemon-windows.c +@@ -15,15 +15,15 @@ + */ + + #include +-#include "daemon.h" ++#include "internal/daemon.h" + #include "daemon-private.h" + #include + #include + #include + #include +-#include "dirs.h" +-#include "fatal-signal.h" +-#include "ovs-thread.h" ++#include "internal/dirs.h" ++#include "internal/fatal-signal.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/vlog.h" + +diff --git a/lib/daemon.c b/lib/daemon.c +index 3249c5ab4..7d44afe0a 100644 +--- a/lib/daemon.c ++++ b/lib/daemon.c +@@ -14,13 +14,13 @@ + * limitations under the License. + */ + #include +-#include "daemon.h" ++#include "internal/daemon.h" + #include "daemon-private.h" + #include + #include + #include +-#include "util.h" +-#include "ovs-thread.h" ++#include "internal/util.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(daemon); +diff --git a/lib/db-ctl-base.c b/lib/db-ctl-base.c +index 0c459156f..1a00af77a 100644 +--- a/lib/db-ctl-base.c ++++ b/lib/db-ctl-base.c +@@ -20,24 +20,25 @@ + #include + #include + +-#include "db-ctl-base.h" ++#include "internal/db-ctl-base.h" + ++#include "internal/command-line.h" + #include "openvswitch/compiler.h" +-#include "dirs.h" ++#include "internal/dirs.h" + #include "openvswitch/dynamic-string.h" +-#include "fatal-signal.h" +-#include "hash.h" ++#include "internal/fatal-signal.h" ++#include "internal/hash.h" + #include "openvswitch/json.h" + #include "openvswitch/vlog.h" +-#include "ovsdb-data.h" +-#include "ovsdb-idl.h" +-#include "ovsdb-idl-provider.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-idl.h" ++#include "openvswitch/ovsdb-idl-provider.h" + #include "openvswitch/shash.h" +-#include "sset.h" +-#include "svec.h" ++#include "internal/sset.h" ++#include "internal/svec.h" + #include "string.h" +-#include "table.h" +-#include "util.h" ++#include "internal/table.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(db_ctl_base); + +diff --git a/lib/dhparams.c b/lib/dhparams.c +index 85123863f..f3077a776 100644 +--- a/lib/dhparams.c ++++ b/lib/dhparams.c +@@ -3,7 +3,7 @@ + * If you do need to regenerate this file, run "make generate-dhparams-c". */ + + #include +-#include "lib/dhparams.h" ++#include "internal/dhparams.h" + #include "openvswitch/util.h" + + static int +diff --git a/lib/dirs.c.in b/lib/dirs.c.in +index 85c49ee0b..e1f6e1da3 100644 +--- a/lib/dirs.c.in ++++ b/lib/dirs.c.in +@@ -16,10 +16,10 @@ + */ + + #include +-#include "dirs.h" ++#include "internal/dirs.h" + #include +-#include "ovs-thread.h" +-#include "util.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/util.h" + + struct directory { + const char *value; /* Actual value; NULL if not yet determined. */ +diff --git a/lib/dns-resolve.c b/lib/dns-resolve.c +index d34451434..74c418b66 100644 +--- a/lib/dns-resolve.c ++++ b/lib/dns-resolve.c +@@ -24,10 +24,10 @@ + #include + #include + #include +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" + #include "openvswitch/vlog.h" +-#include "timeval.h" ++#include "internal/timeval.h" + + VLOG_DEFINE_THIS_MODULE(dns_resolve); + +diff --git a/lib/dp-packet.c b/lib/dp-packet.c +index 35c72542a..73f3fcd64 100644 +--- a/lib/dp-packet.c ++++ b/lib/dp-packet.c +@@ -18,11 +18,11 @@ + #include + #include + +-#include "dp-packet.h" +-#include "netdev-afxdp.h" +-#include "netdev-dpdk.h" ++#include "internal/dp-packet.h" ++#include "internal/netdev-afxdp.h" ++#include "internal/netdev-dpdk.h" + #include "openvswitch/dynamic-string.h" +-#include "util.h" ++#include "internal/util.h" + + static void + dp_packet_init__(struct dp_packet *b, size_t allocated, enum dp_packet_source source) +diff --git a/lib/dpctl.c b/lib/dpctl.c +index 81cbe3730..1ca2bece9 100644 +--- a/lib/dpctl.c ++++ b/lib/dpctl.c +@@ -27,27 +27,28 @@ + #include + #include + ++#include "internal/command-line.h" + #include "openvswitch/compiler.h" + #include "ct-dpif.h" +-#include "dirs.h" ++#include "internal/dirs.h" + #include "dpctl.h" + #include "dpif.h" + #include "dpif-provider.h" + #include "openvswitch/dynamic-string.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "openvswitch/match.h" +-#include "netdev.h" +-#include "netlink.h" ++#include "internal/netdev.h" ++#include "internal/netlink.h" + #include "odp-util.h" + #include "openvswitch/ofpbuf.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/shash.h" +-#include "simap.h" +-#include "smap.h" +-#include "sset.h" +-#include "timeval.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/simap.h" ++#include "internal/smap.h" ++#include "internal/sset.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "openvswitch/ofp-flow.h" + #include "openvswitch/ofp-port.h" + +diff --git a/lib/dpdk-stub.c b/lib/dpdk-stub.c +index 3eee1f485..01a64c931 100644 +--- a/lib/dpdk-stub.c ++++ b/lib/dpdk-stub.c +@@ -18,8 +18,8 @@ + #include + #include "dpdk.h" + +-#include "smap.h" +-#include "ovs-thread.h" ++#include "internal/smap.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/vlog.h" + #include "vswitch-idl.h" + +diff --git a/lib/dpdk.c b/lib/dpdk.c +index 6886fbd9d..21068e713 100644 +--- a/lib/dpdk.c ++++ b/lib/dpdk.c +@@ -29,18 +29,18 @@ + #include + #include + +-#include "dirs.h" +-#include "fatal-signal.h" +-#include "netdev-dpdk.h" ++#include "internal/dirs.h" ++#include "internal/fatal-signal.h" ++#include "internal/netdev-dpdk.h" + #include "netdev-offload-provider.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/vlog.h" +-#include "ovs-atomic.h" +-#include "ovs-numa.h" +-#include "smap.h" +-#include "svec.h" +-#include "unixctl.h" +-#include "util.h" ++#include "openvswitch/ovs-atomic.h" ++#include "openvswitch/ovs-numa.h" ++#include "internal/smap.h" ++#include "internal/svec.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "vswitch-idl.h" + + VLOG_DEFINE_THIS_MODULE(dpdk); +diff --git a/lib/dpif-netdev-avx512.c b/lib/dpif-netdev-avx512.c +index b7131ba3f..68eced4ee 100644 +--- a/lib/dpif-netdev-avx512.c ++++ b/lib/dpif-netdev-avx512.c +@@ -28,8 +28,8 @@ + #include + #include + +-#include "dp-packet.h" +-#include "netdev.h" ++#include "internal/dp-packet.h" ++#include "internal/netdev.h" + #include "netdev-offload.h" + + /* Each AVX512 register (zmm register in assembly notation) can contain up to +diff --git a/lib/dpif-netdev-extract-avx512.c b/lib/dpif-netdev-extract-avx512.c +index b8bb4f38d..047cd914f 100644 +--- a/lib/dpif-netdev-extract-avx512.c ++++ b/lib/dpif-netdev-extract-avx512.c +@@ -43,7 +43,7 @@ + #include + + #include "cpu.h" +-#include "flow.h" ++#include "internal/flow.h" + + #include "dpif-netdev-private-dpcls.h" + #include "dpif-netdev-private-extract.h" +diff --git a/lib/dpif-netdev-extract-study.c b/lib/dpif-netdev-extract-study.c +index 5a9370669..5807c5d42 100644 +--- a/lib/dpif-netdev-extract-study.c ++++ b/lib/dpif-netdev-extract-study.c +@@ -21,7 +21,7 @@ + + #include "dpif-netdev-private-thread.h" + #include "openvswitch/vlog.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + + VLOG_DEFINE_THIS_MODULE(dpif_mfex_extract_study); + +diff --git a/lib/dpif-netdev-lookup-avx512-gather.c b/lib/dpif-netdev-lookup-avx512-gather.c +index 6e50f6ecd..cb8de8980 100644 +--- a/lib/dpif-netdev-lookup-avx512-gather.c ++++ b/lib/dpif-netdev-lookup-avx512-gather.c +@@ -22,10 +22,10 @@ + #include "dpif-netdev.h" + #include "dpif-netdev-lookup.h" + +-#include "cmap.h" ++#include "internal/cmap.h" + #include "cpu.h" +-#include "flow.h" +-#include "pvector.h" ++#include "internal/flow.h" ++#include "internal/pvector.h" + #include "openvswitch/vlog.h" + + #include "immintrin.h" +diff --git a/lib/dpif-netdev-lookup-generic.c b/lib/dpif-netdev-lookup-generic.c +index 37a069401..898395610 100644 +--- a/lib/dpif-netdev-lookup-generic.c ++++ b/lib/dpif-netdev-lookup-generic.c +@@ -19,17 +19,17 @@ + #include "dpif-netdev.h" + #include "dpif-netdev-lookup.h" + +-#include "bitmap.h" +-#include "cmap.h" ++#include "internal/bitmap.h" ++#include "internal/cmap.h" + +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "dpif.h" + #include "dpif-netdev-perf.h" + #include "dpif-provider.h" +-#include "flow.h" +-#include "ovs-thread.h" +-#include "packets.h" +-#include "pvector.h" ++#include "internal/flow.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/packets.h" ++#include "internal/pvector.h" + + VLOG_DEFINE_THIS_MODULE(dpif_lookup_generic); + +diff --git a/lib/dpif-netdev-perf.c b/lib/dpif-netdev-perf.c +index a2a7d8f0b..c82ce5427 100644 +--- a/lib/dpif-netdev-perf.c ++++ b/lib/dpif-netdev-perf.c +@@ -21,9 +21,9 @@ + #include "dpif-netdev-perf.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/vlog.h" +-#include "ovs-numa.h" +-#include "ovs-thread.h" +-#include "timeval.h" ++#include "openvswitch/ovs-numa.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/timeval.h" + + VLOG_DEFINE_THIS_MODULE(pmd_perf); + +diff --git a/lib/dpif-netdev-perf.h b/lib/dpif-netdev-perf.h +index 9673dddd8..b6d63fb29 100644 +--- a/lib/dpif-netdev-perf.h ++++ b/lib/dpif-netdev-perf.h +@@ -30,10 +30,10 @@ + #endif + + #include "openvswitch/vlog.h" +-#include "ovs-atomic.h" +-#include "timeval.h" +-#include "unixctl.h" +-#include "util.h" ++#include "openvswitch/ovs-atomic.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/dpif-netdev-private-dpcls.h b/lib/dpif-netdev-private-dpcls.h +index 0d5da73c7..09416b087 100644 +--- a/lib/dpif-netdev-private-dpcls.h ++++ b/lib/dpif-netdev-private-dpcls.h +@@ -23,7 +23,7 @@ + #include + #include + +-#include "cmap.h" ++#include "internal/cmap.h" + #include "openvswitch/thread.h" + + #ifdef __cplusplus +diff --git a/lib/dpif-netdev-private-dpif.c b/lib/dpif-netdev-private-dpif.c +index 84d4ec156..bc8e10774 100644 +--- a/lib/dpif-netdev-private-dpif.c ++++ b/lib/dpif-netdev-private-dpif.c +@@ -24,7 +24,7 @@ + + #include "openvswitch/dynamic-string.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(dpif_netdev_impl); + +diff --git a/lib/dpif-netdev-private-extract.c b/lib/dpif-netdev-private-extract.c +index a29bdcfa7..b90c4f39d 100644 +--- a/lib/dpif-netdev-private-extract.c ++++ b/lib/dpif-netdev-private-extract.c +@@ -19,14 +19,14 @@ + #include + #include + +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "dpif-netdev-private-dpcls.h" + #include "dpif-netdev-private-extract.h" + #include "dpif-netdev-private-thread.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "openvswitch/vlog.h" +-#include "ovs-thread.h" +-#include "util.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(dpif_netdev_extract); + +diff --git a/lib/dpif-netdev-private-flow.h b/lib/dpif-netdev-private-flow.h +index 66016eb09..688efe7ce 100644 +--- a/lib/dpif-netdev-private-flow.h ++++ b/lib/dpif-netdev-private-flow.h +@@ -24,7 +24,7 @@ + #include + #include + +-#include "cmap.h" ++#include "internal/cmap.h" + #include "openvswitch/thread.h" + + #ifdef __cplusplus +diff --git a/lib/dpif-netdev-private-thread.h b/lib/dpif-netdev-private-thread.h +index 4472b199d..4da8f805d 100644 +--- a/lib/dpif-netdev-private-thread.h ++++ b/lib/dpif-netdev-private-thread.h +@@ -27,7 +27,7 @@ + #include + + #include "ccmap.h" +-#include "cmap.h" ++#include "internal/cmap.h" + + #include "dpif-netdev-private-dfc.h" + #include "dpif-netdev-private-dpif.h" +diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c +index 9f35713ef..8840877a8 100644 +--- a/lib/dpif-netdev.c ++++ b/lib/dpif-netdev.c +@@ -34,15 +34,15 @@ + #include + #include + +-#include "bitmap.h" ++#include "internal/bitmap.h" + #include "ccmap.h" +-#include "cmap.h" ++#include "internal/cmap.h" + #include "conntrack.h" + #include "conntrack-tp.h" +-#include "coverage.h" ++#include "internal/coverage.h" + #include "ct-dpif.h" +-#include "csum.h" +-#include "dp-packet.h" ++#include "internal/csum.h" ++#include "internal/dp-packet.h" + #include "dpif.h" + #include "dpif-netdev-lookup.h" + #include "dpif-netdev-perf.h" +@@ -50,18 +50,18 @@ + #include "dpif-provider.h" + #include "dummy.h" + #include "fat-rwlock.h" +-#include "flow.h" +-#include "hmapx.h" ++#include "internal/flow.h" ++#include "internal/hmapx.h" + #include "id-fpool.h" +-#include "id-pool.h" ++#include "internal/id-pool.h" + #include "ipf.h" + #include "mov-avg.h" + #include "mpsc-queue.h" +-#include "netdev.h" ++#include "internal/netdev.h" + #include "netdev-offload.h" + #include "netdev-provider.h" + #include "netdev-vport.h" +-#include "netlink.h" ++#include "internal/netlink.h" + #include "odp-execute.h" + #include "odp-util.h" + #include "openvswitch/dynamic-string.h" +@@ -72,21 +72,21 @@ + #include "openvswitch/ofpbuf.h" + #include "openvswitch/shash.h" + #include "openvswitch/vlog.h" +-#include "ovs-numa.h" +-#include "ovs-rcu.h" +-#include "packets.h" ++#include "openvswitch/ovs-numa.h" ++#include "openvswitch/ovs-rcu.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "pvector.h" +-#include "random.h" +-#include "seq.h" +-#include "smap.h" +-#include "sset.h" +-#include "timeval.h" ++#include "internal/pvector.h" ++#include "internal/random.h" ++#include "internal/seq.h" ++#include "internal/smap.h" ++#include "internal/sset.h" ++#include "internal/timeval.h" + #include "tnl-neigh-cache.h" + #include "tnl-ports.h" +-#include "unixctl.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + + VLOG_DEFINE_THIS_MODULE(dpif_netdev); + +diff --git a/lib/dpif-netdev.h b/lib/dpif-netdev.h +index 6db6ed2e2..1ccb6fa8f 100644 +--- a/lib/dpif-netdev.h ++++ b/lib/dpif-netdev.h +@@ -22,8 +22,8 @@ + #include + #include "dpif.h" + #include "openvswitch/types.h" +-#include "dp-packet.h" +-#include "packets.h" ++#include "internal/dp-packet.h" ++#include "internal/packets.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/dpif-netlink-rtnl.h b/lib/dpif-netlink-rtnl.h +index 5c790e0bc..fded17012 100644 +--- a/lib/dpif-netlink-rtnl.h ++++ b/lib/dpif-netlink-rtnl.h +@@ -19,7 +19,7 @@ + + #include + +-#include "netdev.h" ++#include "internal/netdev.h" + + /* Declare these to keep sparse happy. */ + int dpif_netlink_rtnl_port_create(struct netdev *netdev); +diff --git a/lib/dpif-netlink.c b/lib/dpif-netlink.c +index 71e35ccdd..444693efd 100644 +--- a/lib/dpif-netlink.c ++++ b/lib/dpif-netlink.c +@@ -32,20 +32,20 @@ + #include + #include + +-#include "bitmap.h" ++#include "internal/bitmap.h" + #include "dpif-netlink-rtnl.h" + #include "dpif-provider.h" + #include "fat-rwlock.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "netdev-linux.h" + #include "netdev-offload.h" + #include "netdev-provider.h" + #include "netdev-vport.h" +-#include "netdev.h" ++#include "internal/netdev.h" + #include "netlink-conntrack.h" + #include "netlink-notifier.h" + #include "netlink-socket.h" +-#include "netlink.h" ++#include "internal/netlink.h" + #include "netnsid.h" + #include "odp-util.h" + #include "openvswitch/dynamic-string.h" +@@ -58,12 +58,12 @@ + #include "openvswitch/thread.h" + #include "openvswitch/usdt-probes.h" + #include "openvswitch/vlog.h" +-#include "packets.h" +-#include "random.h" +-#include "sset.h" +-#include "timeval.h" +-#include "unaligned.h" +-#include "util.h" ++#include "internal/packets.h" ++#include "internal/random.h" ++#include "internal/sset.h" ++#include "internal/timeval.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(dpif_netlink); + #ifdef _WIN32 +diff --git a/lib/dpif-netlink.h b/lib/dpif-netlink.h +index 24294bc42..9c7c503c7 100644 +--- a/lib/dpif-netlink.h ++++ b/lib/dpif-netlink.h +@@ -21,7 +21,7 @@ + #include + #include + +-#include "flow.h" ++#include "internal/flow.h" + + struct ofpbuf; + +diff --git a/lib/dpif-provider.h b/lib/dpif-provider.h +index 12477a24f..f6cd3cad4 100644 +--- a/lib/dpif-provider.h ++++ b/lib/dpif-provider.h +@@ -24,7 +24,7 @@ + + #include "openflow/openflow.h" + #include "dpif.h" +-#include "util.h" ++#include "internal/util.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/dpif.c b/lib/dpif.c +index 40f5fe446..9225aeea4 100644 +--- a/lib/dpif.c ++++ b/lib/dpif.c +@@ -23,25 +23,25 @@ + #include + #include + +-#include "coverage.h" +-#include "dp-packet.h" ++#include "internal/coverage.h" ++#include "internal/dp-packet.h" + #include "dpctl.h" + #include "dpif-netdev.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "netdev-provider.h" +-#include "netdev.h" +-#include "netlink.h" ++#include "internal/netdev.h" ++#include "internal/netlink.h" + #include "odp-execute.h" + #include "odp-util.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "route-table.h" +-#include "seq.h" +-#include "sset.h" +-#include "timeval.h" ++#include "internal/seq.h" ++#include "internal/sset.h" ++#include "internal/timeval.h" + #include "tnl-neigh-cache.h" + #include "tnl-ports.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + #include "valgrind.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/ofp-errors.h" +diff --git a/lib/dpif.h b/lib/dpif.h +index 6cb4dae6d..ad7676c45 100644 +--- a/lib/dpif.h ++++ b/lib/dpif.h +@@ -377,13 +377,13 @@ + #include + + #include "dpdk.h" +-#include "dp-packet.h" +-#include "netdev.h" ++#include "internal/dp-packet.h" ++#include "internal/netdev.h" + #include "openflow/openflow.h" + #include "openvswitch/ofp-meter.h" +-#include "ovs-numa.h" +-#include "packets.h" +-#include "util.h" ++#include "openvswitch/ovs-numa.h" ++#include "internal/packets.h" ++#include "internal/util.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/dummy.c b/lib/dummy.c +index 899a2c0c5..1be71a70a 100644 +--- a/lib/dummy.c ++++ b/lib/dummy.c +@@ -17,7 +17,7 @@ + #include + #include "dummy.h" + #include +-#include "util.h" ++#include "internal/util.h" + + /* Enables support for "dummy" network devices and dpifs, which are useful for + * testing. A client program might call this function if it is designed +diff --git a/lib/dynamic-string.c b/lib/dynamic-string.c +index fd0127ed1..bc0c02651 100644 +--- a/lib/dynamic-string.c ++++ b/lib/dynamic-string.c +@@ -20,8 +20,8 @@ + #include + #include + #include +-#include "timeval.h" +-#include "util.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + /* Initializes 'ds' as an empty string buffer. */ + void +diff --git a/lib/entropy.c b/lib/entropy.c +index 05cc64835..42d59a097 100644 +--- a/lib/entropy.c ++++ b/lib/entropy.c +@@ -23,8 +23,8 @@ + #ifdef _WIN32 + #include + #endif +-#include "util.h" +-#include "socket-util.h" ++#include "internal/util.h" ++#include "internal/socket-util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(entropy); +diff --git a/lib/fat-rwlock.c b/lib/fat-rwlock.c +index d913b2088..6a2305c67 100644 +--- a/lib/fat-rwlock.c ++++ b/lib/fat-rwlock.c +@@ -22,8 +22,8 @@ + + #include "openvswitch/hmap.h" + #include "openvswitch/list.h" +-#include "ovs-thread.h" +-#include "random.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/random.h" + + struct fat_rwlock_slot { + /* Membership in rwlock's list of "struct fat_rwlock_slot"s. +diff --git a/lib/fat-rwlock.h b/lib/fat-rwlock.h +index 49480819b..33b2e472b 100644 +--- a/lib/fat-rwlock.h ++++ b/lib/fat-rwlock.h +@@ -19,7 +19,7 @@ + + #include "openvswitch/compiler.h" + #include "openvswitch/list.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + + /* "Fat rwlock". + * +diff --git a/lib/fatal-signal.c b/lib/fatal-signal.c +index bbb31ef27..c54402e61 100644 +--- a/lib/fatal-signal.c ++++ b/lib/fatal-signal.c +@@ -15,7 +15,7 @@ + */ + #include + #include "backtrace.h" +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include + #include + #include +@@ -24,13 +24,13 @@ + #include + #include + #include +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/shash.h" +-#include "sset.h" ++#include "internal/sset.h" + #include "signals.h" +-#include "socket-util.h" +-#include "util.h" ++#include "internal/socket-util.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + #include "openvswitch/type-props.h" +diff --git a/lib/flow.c b/lib/flow.c +index dd523c889..bbef74b79 100644 +--- a/lib/flow.c ++++ b/lib/flow.c +@@ -15,7 +15,7 @@ + */ + #include + #include +-#include "flow.h" ++#include "internal/flow.h" + #include + #include + #include +@@ -26,21 +26,21 @@ + #include + #include + #include +-#include "byte-order.h" +-#include "colors.h" +-#include "coverage.h" +-#include "csum.h" ++#include "internal/byte-order.h" ++#include "internal/colors.h" ++#include "internal/coverage.h" ++#include "internal/csum.h" + #include "openvswitch/dynamic-string.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "jhash.h" + #include "openvswitch/match.h" +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "openflow/openflow.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "odp-util.h" +-#include "random.h" +-#include "unaligned.h" +-#include "util.h" ++#include "internal/random.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" + #include "openvswitch/nsh.h" + #include "ovs-router.h" + #include "lib/netdev-provider.h" +@@ -133,7 +133,7 @@ struct mf_ctx { + /* miniflow_push_* macros allow filling in a miniflow data values in order. + * Assertions are needed only when the layout of the struct flow is modified. + * 'ofs' is a compile-time constant, which allows most of the code be optimized +- * away. Some GCC versions gave warnings on ALWAYS_INLINE, so these are ++ * away. Some GCC versions gave warnings on OVS_ALWAYS_INLINE, so these are + * defined as macros. */ + + #if (FLOW_WC_SEQ != 42) +@@ -345,7 +345,7 @@ parse_mpls(const void **datap, size_t *sizep) + } + + /* passed vlan_hdrs arg must be at least size FLOW_MAX_VLAN_HEADERS. */ +-static inline ALWAYS_INLINE size_t ++static inline OVS_ALWAYS_INLINE size_t + parse_vlan(const void **datap, size_t *sizep, union flow_vlan_hdr *vlan_hdrs) + { + const ovs_be16 *eth_type; +@@ -369,7 +369,7 @@ parse_vlan(const void **datap, size_t *sizep, union flow_vlan_hdr *vlan_hdrs) + return n; + } + +-static inline ALWAYS_INLINE ovs_be16 ++static inline OVS_ALWAYS_INLINE ovs_be16 + parse_ethertype(const void **datap, size_t *sizep) + { + const struct llc_snap_header *llc; +diff --git a/lib/getopt_long.c b/lib/getopt_long.c +index 0663762fb..6c1721353 100644 +--- a/lib/getopt_long.c ++++ b/lib/getopt_long.c +@@ -32,7 +32,7 @@ + #include + #include + #include +-#include "util.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(getopt_long); +diff --git a/lib/getrusage-windows.c b/lib/getrusage-windows.c +index 915725e37..605820ba3 100644 +--- a/lib/getrusage-windows.c ++++ b/lib/getrusage-windows.c +@@ -19,7 +19,7 @@ + #include + #include + #include +-#include "util.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(getrusage_windows); +diff --git a/lib/guarded-list.h b/lib/guarded-list.h +index 7f1d257e1..7a1b218bc 100644 +--- a/lib/guarded-list.h ++++ b/lib/guarded-list.h +@@ -20,7 +20,7 @@ + #include + #include "openvswitch/compiler.h" + #include "openvswitch/list.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + + struct guarded_list { + struct ovs_mutex mutex; +diff --git a/lib/hash.c b/lib/hash.c +index c722f3c3c..ad9e9b3d0 100644 +--- a/lib/hash.c ++++ b/lib/hash.c +@@ -14,9 +14,9 @@ + * limitations under the License. + */ + #include +-#include "hash.h" ++#include "internal/hash.h" + #include +-#include "unaligned.h" ++#include "internal/unaligned.h" + + /* Returns the hash of 'a', 'b', and 'c'. */ + uint32_t +diff --git a/lib/heap.c b/lib/heap.c +index 682915ac3..caa3eccd0 100644 +--- a/lib/heap.c ++++ b/lib/heap.c +@@ -17,7 +17,7 @@ + #include + #include "heap.h" + #include +-#include "util.h" ++#include "internal/util.h" + + static void put_node(struct heap *, struct heap_node *, size_t i); + static void swap_nodes(struct heap *, size_t i, size_t j); +diff --git a/lib/hindex.c b/lib/hindex.c +index 260649bf8..53a6302c0 100644 +--- a/lib/hindex.c ++++ b/lib/hindex.c +@@ -15,8 +15,8 @@ + */ + + #include +-#include "hindex.h" +-#include "coverage.h" ++#include "internal/hindex.h" ++#include "internal/coverage.h" + + static bool hindex_node_is_body(const struct hindex_node *); + static bool hindex_node_is_head(const struct hindex_node *); +diff --git a/lib/hmap.c b/lib/hmap.c +index 9ee05b6d4..f71ca7160 100644 +--- a/lib/hmap.c ++++ b/lib/hmap.c +@@ -18,9 +18,9 @@ + #include "openvswitch/hmap.h" + #include + #include +-#include "coverage.h" +-#include "random.h" +-#include "util.h" ++#include "internal/coverage.h" ++#include "internal/random.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(hmap); +diff --git a/lib/hmapx.c b/lib/hmapx.c +index eadfe640a..cceb9f23d 100644 +--- a/lib/hmapx.c ++++ b/lib/hmapx.c +@@ -16,9 +16,9 @@ + + #include + +-#include "hmapx.h" ++#include "internal/hmapx.h" + +-#include "hash.h" ++#include "internal/hash.h" + + static struct hmapx_node * + hmapx_find__(const struct hmapx *map, const void *data, size_t hash) +diff --git a/lib/id-fpool.c b/lib/id-fpool.c +index 15cef5d00..0fd33d379 100644 +--- a/lib/id-fpool.c ++++ b/lib/id-fpool.c +@@ -19,7 +19,7 @@ + #include "openvswitch/list.h" + #include "openvswitch/thread.h" + #include "openvswitch/util.h" +-#include "ovs-atomic.h" ++#include "openvswitch/ovs-atomic.h" + #include "id-fpool.h" + + #ifdef HAVE_PTHREAD_SPIN_LOCK +diff --git a/lib/id-pool.c b/lib/id-pool.c +index 69910ad08..c8aac587d 100644 +--- a/lib/id-pool.c ++++ b/lib/id-pool.c +@@ -16,9 +16,9 @@ + */ + + #include +-#include "id-pool.h" ++#include "internal/id-pool.h" + #include "openvswitch/hmap.h" +-#include "hash.h" ++#include "internal/hash.h" + + struct id_node { + struct hmap_node node; +diff --git a/lib/if-notifier-bsd.c b/lib/if-notifier-bsd.c +index b57b4b1b2..acaca8a50 100644 +--- a/lib/if-notifier-bsd.c ++++ b/lib/if-notifier-bsd.c +@@ -17,7 +17,7 @@ + #include + #include "if-notifier.h" + #include "rtbsd.h" +-#include "util.h" ++#include "internal/util.h" + + struct if_notifier { + struct rtbsd_notifier notifier; +diff --git a/lib/if-notifier.c b/lib/if-notifier.c +index f2d7157b9..0a23030f1 100644 +--- a/lib/if-notifier.c ++++ b/lib/if-notifier.c +@@ -17,7 +17,7 @@ + #include + #include "if-notifier.h" + #include "rtnetlink.h" +-#include "util.h" ++#include "internal/util.h" + + struct if_notifier { + struct nln_notifier *notifier; +diff --git a/lib/ipf.c b/lib/ipf.c +index 507db2aea..ee90bc8b6 100644 +--- a/lib/ipf.c ++++ b/lib/ipf.c +@@ -23,16 +23,16 @@ + #include + #include + +-#include "coverage.h" +-#include "csum.h" ++#include "internal/coverage.h" ++#include "internal/csum.h" + #include "ipf.h" +-#include "latch.h" ++#include "internal/latch.h" + #include "openvswitch/hmap.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/vlog.h" +-#include "ovs-atomic.h" +-#include "packets.h" +-#include "util.h" ++#include "openvswitch/ovs-atomic.h" ++#include "internal/packets.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(ipf); + COVERAGE_DEFINE(ipf_stuck_frag_list_purged); +diff --git a/lib/ipf.h b/lib/ipf.h +index 6ac91b270..09f7aae0b 100644 +--- a/lib/ipf.h ++++ b/lib/ipf.h +@@ -17,7 +17,7 @@ + #ifndef IPF_H + #define IPF_H 1 + +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "openvswitch/types.h" + + struct ipf; +diff --git a/lib/jhash.c b/lib/jhash.c +index c59b51b61..5498d8803 100644 +--- a/lib/jhash.c ++++ b/lib/jhash.c +@@ -17,7 +17,7 @@ + #include + #include "jhash.h" + #include +-#include "unaligned.h" ++#include "internal/unaligned.h" + + /* This is the public domain lookup3 hash by Bob Jenkins from + * http://burtleburtle.net/bob/c/lookup3.c, modified for style. */ +diff --git a/lib/jhash.h b/lib/jhash.h +index f83b08fad..5b39b51ce 100644 +--- a/lib/jhash.h ++++ b/lib/jhash.h +@@ -21,7 +21,7 @@ + #include + #include + #include +-#include "util.h" ++#include "internal/util.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/json.c b/lib/json.c +index 720c73d94..a01cf1654 100644 +--- a/lib/json.c ++++ b/lib/json.c +@@ -25,11 +25,11 @@ + #include + + #include "openvswitch/dynamic-string.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/shash.h" + #include "unicode.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + + /* The type of a JSON token. */ + enum json_token_type { +diff --git a/lib/jsonrpc.c b/lib/jsonrpc.c +index c8ce5362e..8eb95d0ee 100644 +--- a/lib/jsonrpc.c ++++ b/lib/jsonrpc.c +@@ -16,23 +16,23 @@ + + #include + +-#include "jsonrpc.h" ++#include "internal/jsonrpc.h" + + #include + + #include "byteq.h" + #include "openvswitch/dynamic-string.h" +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "openvswitch/json.h" + #include "openvswitch/list.h" + #include "openvswitch/ofpbuf.h" + #include "ovs-replay.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/poll-loop.h" + #include "reconnect.h" +-#include "stream.h" +-#include "svec.h" +-#include "timeval.h" ++#include "internal/stream.h" ++#include "internal/svec.h" ++#include "internal/timeval.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(jsonrpc); +diff --git a/lib/lacp.c b/lib/lacp.c +index 89d711225..f809ca5c2 100644 +--- a/lib/lacp.c ++++ b/lib/lacp.c +@@ -20,19 +20,19 @@ + + #include "connectivity.h" + #include "openvswitch/dynamic-string.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" +-#include "dp-packet.h" +-#include "ovs-atomic.h" +-#include "packets.h" ++#include "internal/dp-packet.h" ++#include "openvswitch/ovs-atomic.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "seq.h" ++#include "internal/seq.h" + #include "openvswitch/shash.h" +-#include "timer.h" +-#include "timeval.h" +-#include "unixctl.h" ++#include "internal/timer.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(lacp); + +diff --git a/lib/lacp.h b/lib/lacp.h +index 1ca06f762..39ce9c50d 100644 +--- a/lib/lacp.h ++++ b/lib/lacp.h +@@ -19,7 +19,7 @@ + + #include + #include +-#include "packets.h" ++#include "internal/packets.h" + + /* LACP Protocol Implementation. */ + +diff --git a/lib/latch-unix.c b/lib/latch-unix.c +index f4d10c39a..c7f10747c 100644 +--- a/lib/latch-unix.c ++++ b/lib/latch-unix.c +@@ -16,12 +16,12 @@ + + #include + +-#include "latch.h" ++#include "internal/latch.h" + #include + #include + #include + #include "openvswitch/poll-loop.h" +-#include "socket-util.h" ++#include "internal/socket-util.h" + + /* Initializes 'latch' as initially unset. */ + void +diff --git a/lib/latch-windows.c b/lib/latch-windows.c +index 67c0592a0..47eeced39 100644 +--- a/lib/latch-windows.c ++++ b/lib/latch-windows.c +@@ -16,12 +16,12 @@ + + #include + +-#include "latch.h" ++#include "internal/latch.h" + #include + #include + #include + #include "openvswitch/poll-loop.h" +-#include "socket-util.h" ++#include "internal/socket-util.h" + + /* Initializes 'latch' as initially unset. */ + void +diff --git a/lib/learn.c b/lib/learn.c +index a40209ec0..b5231f286 100644 +--- a/lib/learn.c ++++ b/lib/learn.c +@@ -18,9 +18,9 @@ + + #include "learn.h" + +-#include "byte-order.h" +-#include "colors.h" +-#include "nx-match.h" ++#include "internal/byte-order.h" ++#include "internal/colors.h" ++#include "internal/nx-match.h" + #include "openflow/openflow.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/match.h" +@@ -32,7 +32,7 @@ + #include "openvswitch/ofp-table.h" + #include "openvswitch/ofpbuf.h" + #include "vl-mff-map.h" +-#include "unaligned.h" ++#include "internal/unaligned.h" + + + /* Checks that 'learn' is a valid action on 'flow'. Returns 0 if it is valid, +diff --git a/lib/learning-switch.c b/lib/learning-switch.c +index 8102475ca..cc1c3e53a 100644 +--- a/lib/learning-switch.c ++++ b/lib/learning-switch.c +@@ -24,10 +24,10 @@ + #include + #include + +-#include "byte-order.h" +-#include "classifier.h" +-#include "dp-packet.h" +-#include "flow.h" ++#include "internal/byte-order.h" ++#include "internal/classifier.h" ++#include "internal/dp-packet.h" ++#include "internal/flow.h" + #include "openvswitch/hmap.h" + #include "mac-learning.h" + #include "openflow/openflow.h" +@@ -48,8 +48,8 @@ + #include "openvswitch/poll-loop.h" + #include "openvswitch/rconn.h" + #include "openvswitch/shash.h" +-#include "simap.h" +-#include "timeval.h" ++#include "internal/simap.h" ++#include "internal/timeval.h" + + VLOG_DEFINE_THIS_MODULE(learning_switch); + +diff --git a/lib/lldp/lldp.c b/lib/lldp/lldp.c +index 1b5b4db57..752f82a81 100644 +--- a/lib/lldp/lldp.c ++++ b/lib/lldp/lldp.c +@@ -26,8 +26,8 @@ + #include + #include + #include "openvswitch/compiler.h" +-#include "dp-packet.h" +-#include "packets.h" ++#include "internal/dp-packet.h" ++#include "internal/packets.h" + + VLOG_DEFINE_THIS_MODULE(lldp); + +diff --git a/lib/lldp/lldpd-structs.c b/lib/lldp/lldpd-structs.c +index 499b44174..a723b1b9c 100644 +--- a/lib/lldp/lldpd-structs.c ++++ b/lib/lldp/lldpd-structs.c +@@ -21,7 +21,7 @@ + #include + #include + #include "lldpd.h" +-#include "timeval.h" ++#include "internal/timeval.h" + + VLOG_DEFINE_THIS_MODULE(lldpd_structs); + +diff --git a/lib/lldp/lldpd-structs.h b/lib/lldp/lldpd-structs.h +index fe5d5f9f8..60c239bdb 100644 +--- a/lib/lldp/lldpd-structs.h ++++ b/lib/lldp/lldpd-structs.h +@@ -25,7 +25,7 @@ + #include + #include "aa-structs.h" + #include "lldp-const.h" +-#include "packets.h" ++#include "internal/packets.h" + + enum { + LLDPD_AF_UNSPEC = 0, +diff --git a/lib/lldp/lldpd.c b/lib/lldp/lldpd.c +index a600da550..cde497e2a 100644 +--- a/lib/lldp/lldpd.c ++++ b/lib/lldp/lldpd.c +@@ -42,8 +42,8 @@ + #include "openvswitch/compiler.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/list.h" +-#include "packets.h" +-#include "timeval.h" ++#include "internal/packets.h" ++#include "internal/timeval.h" + + VLOG_DEFINE_THIS_MODULE(lldpd); + +diff --git a/lib/lldp/lldpd.h b/lib/lldp/lldpd.h +index 3f5be84a2..52c694e1d 100644 +--- a/lib/lldp/lldpd.h ++++ b/lib/lldp/lldpd.h +@@ -24,11 +24,11 @@ + #include + #include + #include +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "openvswitch/list.h" + #include "lldpd-structs.h" + #include "lldp-tlv.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/vlog.h" + + #define ETHERTYPE_LLDP 0x88cc +diff --git a/lib/lockfile.c b/lib/lockfile.c +index 42782d29e..69df76ee5 100644 +--- a/lib/lockfile.c ++++ b/lib/lockfile.c +@@ -24,12 +24,12 @@ + #include + #include + +-#include "coverage.h" +-#include "hash.h" ++#include "internal/coverage.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" +-#include "ovs-thread.h" +-#include "timeval.h" +-#include "util.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(lockfile); +diff --git a/lib/mac-learning.c b/lib/mac-learning.c +index 3fcd7d9b7..45900d783 100644 +--- a/lib/mac-learning.c ++++ b/lib/mac-learning.c +@@ -20,14 +20,14 @@ + #include + #include + +-#include "bitmap.h" +-#include "coverage.h" +-#include "hash.h" ++#include "internal/bitmap.h" ++#include "internal/coverage.h" ++#include "internal/hash.h" + #include "openvswitch/list.h" + #include "openvswitch/poll-loop.h" +-#include "timeval.h" +-#include "unaligned.h" +-#include "util.h" ++#include "internal/timeval.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" + #include "vlan-bitmap.h" + + COVERAGE_DEFINE(mac_learning_learned); +diff --git a/lib/mac-learning.h b/lib/mac-learning.h +index 270fbd70d..e25c68615 100644 +--- a/lib/mac-learning.h ++++ b/lib/mac-learning.h +@@ -21,10 +21,10 @@ + #include "heap.h" + #include "openvswitch/hmap.h" + #include "openvswitch/list.h" +-#include "ovs-atomic.h" +-#include "ovs-thread.h" +-#include "packets.h" +-#include "timeval.h" ++#include "openvswitch/ovs-atomic.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/packets.h" ++#include "internal/timeval.h" + + /* MAC learning table + * ================== +diff --git a/lib/match.c b/lib/match.c +index 2ad03e044..88d402a86 100644 +--- a/lib/match.c ++++ b/lib/match.c +@@ -17,14 +17,14 @@ + #include + #include "openvswitch/match.h" + #include +-#include "flow.h" +-#include "byte-order.h" +-#include "colors.h" ++#include "internal/flow.h" ++#include "internal/byte-order.h" ++#include "internal/colors.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/meta-flow.h" + #include "openvswitch/ofp-port.h" +-#include "packets.h" +-#include "tun-metadata.h" ++#include "internal/packets.h" ++#include "internal/tun-metadata-private.h" + #include "openvswitch/nsh.h" + + /* Converts the flow in 'flow' into a match in 'match', with the given +diff --git a/lib/mcast-snooping.c b/lib/mcast-snooping.c +index 6730301b6..2620a232b 100644 +--- a/lib/mcast-snooping.c ++++ b/lib/mcast-snooping.c +@@ -17,21 +17,21 @@ + */ + + #include +-#include "mcast-snooping.h" ++#include "internal/mcast-snooping.h" + + #include + #include + +-#include "bitmap.h" +-#include "byte-order.h" +-#include "coverage.h" +-#include "hash.h" ++#include "internal/bitmap.h" ++#include "internal/byte-order.h" ++#include "internal/coverage.h" ++#include "internal/hash.h" + #include "openvswitch/list.h" + #include "openvswitch/poll-loop.h" +-#include "timeval.h" ++#include "internal/timeval.h" + #include "entropy.h" +-#include "unaligned.h" +-#include "util.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" + #include "vlan-bitmap.h" + #include "openvswitch/vlog.h" + +diff --git a/lib/memory.c b/lib/memory.c +index da97476c6..3ef08cf03 100644 +--- a/lib/memory.c ++++ b/lib/memory.c +@@ -15,15 +15,15 @@ + */ + + #include +-#include "memory.h" ++#include "internal/memory.h" + #include + #include + #include + #include "openvswitch/dynamic-string.h" + #include "openvswitch/poll-loop.h" +-#include "simap.h" +-#include "timeval.h" +-#include "unixctl.h" ++#include "internal/simap.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(memory); +diff --git a/lib/meta-flow.c b/lib/meta-flow.c +index e03cd8d0c..27e720423 100644 +--- a/lib/meta-flow.c ++++ b/lib/meta-flow.c +@@ -23,19 +23,19 @@ + #include + #include + +-#include "classifier.h" ++#include "internal/classifier.h" + #include "openvswitch/dynamic-string.h" +-#include "nx-match.h" +-#include "ovs-atomic.h" +-#include "ovs-rcu.h" +-#include "ovs-thread.h" +-#include "packets.h" +-#include "random.h" ++#include "internal/nx-match.h" ++#include "openvswitch/ovs-atomic.h" ++#include "openvswitch/ovs-rcu.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/packets.h" ++#include "internal/random.h" + #include "openvswitch/shash.h" +-#include "socket-util.h" +-#include "tun-metadata.h" +-#include "unaligned.h" +-#include "util.h" ++#include "internal/socket-util.h" ++#include "internal/tun-metadata-private.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" + #include "openvswitch/ofp-errors.h" + #include "openvswitch/ofp-match.h" + #include "openvswitch/ofp-port.h" +diff --git a/lib/mpsc-queue.c b/lib/mpsc-queue.c +index 4e99c94f7..acac08538 100644 +--- a/lib/mpsc-queue.c ++++ b/lib/mpsc-queue.c +@@ -16,7 +16,7 @@ + + #include + +-#include "ovs-atomic.h" ++#include "openvswitch/ovs-atomic.h" + + #include "mpsc-queue.h" + +diff --git a/lib/mpsc-queue.h b/lib/mpsc-queue.h +index 8c7109621..ec4a13886 100644 +--- a/lib/mpsc-queue.h ++++ b/lib/mpsc-queue.h +@@ -24,7 +24,7 @@ + #include + #include + +-#include "ovs-atomic.h" ++#include "openvswitch/ovs-atomic.h" + + /* Multi-producer, single-consumer queue + * ===================================== +diff --git a/lib/multipath.c b/lib/multipath.c +index 6896f94a1..01de39df6 100644 +--- a/lib/multipath.c ++++ b/lib/multipath.c +@@ -21,14 +21,14 @@ + #include + #include + #include +-#include "colors.h" +-#include "nx-match.h" ++#include "internal/colors.h" ++#include "internal/nx-match.h" + #include "openflow/nicira-ext.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/ofp-actions.h" + #include "openvswitch/ofp-errors.h" +-#include "packets.h" +-#include "util.h" ++#include "internal/packets.h" ++#include "internal/util.h" + + /* Checks that 'mp' is valid on flow. Returns 0 if it is valid, otherwise an + * OFPERR_*. */ +diff --git a/lib/namemap.c b/lib/namemap.c +index 785cda4c2..ac6e2f39e 100644 +--- a/lib/namemap.c ++++ b/lib/namemap.c +@@ -17,7 +17,7 @@ + #include + #include "openvswitch/namemap.h" + #include +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" + +diff --git a/lib/netdev-afxdp-pool.c b/lib/netdev-afxdp-pool.c +index 3386d2dcf..bb135ae48 100644 +--- a/lib/netdev-afxdp-pool.c ++++ b/lib/netdev-afxdp-pool.c +@@ -15,7 +15,7 @@ + */ + #include + +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "netdev-afxdp-pool.h" + #include "openvswitch/util.h" + +diff --git a/lib/netdev-afxdp-pool.h b/lib/netdev-afxdp-pool.h +index f929b9489..bad48f327 100644 +--- a/lib/netdev-afxdp-pool.h ++++ b/lib/netdev-afxdp-pool.h +@@ -24,7 +24,7 @@ + #include + + #include "openvswitch/thread.h" +-#include "ovs-atomic.h" ++#include "openvswitch/ovs-atomic.h" + + /* LIFO ptr_array. */ + struct umem_pool { +diff --git a/lib/netdev-afxdp.c b/lib/netdev-afxdp.c +index 482400d8d..da5074cbb 100644 +--- a/lib/netdev-afxdp.c ++++ b/lib/netdev-afxdp.c +@@ -18,7 +18,7 @@ + + #include "netdev-linux-private.h" + #include "netdev-linux.h" +-#include "netdev-afxdp.h" ++#include "internal/netdev-afxdp.h" + #include "netdev-afxdp-pool.h" + + #include +@@ -35,19 +35,19 @@ + #include + #include + +-#include "coverage.h" +-#include "dp-packet.h" ++#include "internal/coverage.h" ++#include "internal/dp-packet.h" + #include "dpif-netdev.h" +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "openvswitch/compiler.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/list.h" + #include "openvswitch/thread.h" + #include "openvswitch/vlog.h" +-#include "ovs-numa.h" +-#include "packets.h" +-#include "socket-util.h" +-#include "util.h" ++#include "openvswitch/ovs-numa.h" ++#include "internal/packets.h" ++#include "internal/socket-util.h" ++#include "internal/util.h" + + #ifndef SOL_XDP + #define SOL_XDP 283 +diff --git a/lib/netdev-bsd.c b/lib/netdev-bsd.c +index 7875636cc..b4f1ca638 100644 +--- a/lib/netdev-bsd.c ++++ b/lib/netdev-bsd.c +@@ -48,19 +48,19 @@ + #endif + + #include "rtbsd.h" +-#include "coverage.h" +-#include "dp-packet.h" ++#include "internal/coverage.h" ++#include "internal/dp-packet.h" + #include "dpif-netdev.h" + #include "openvswitch/dynamic-string.h" +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "openflow/openflow.h" +-#include "ovs-thread.h" +-#include "packets.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/shash.h" +-#include "socket-util.h" +-#include "svec.h" +-#include "util.h" ++#include "internal/socket-util.h" ++#include "internal/svec.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(netdev_bsd); +diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c +index b6b29c75e..a1284f10e 100644 +--- a/lib/netdev-dpdk.c ++++ b/lib/netdev-dpdk.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include "netdev-dpdk.h" ++#include "internal/netdev-dpdk.h" + + #include + #include +@@ -39,13 +39,13 @@ + #include + #include + +-#include "cmap.h" +-#include "coverage.h" +-#include "dirs.h" +-#include "dp-packet.h" ++#include "internal/cmap.h" ++#include "internal/coverage.h" ++#include "internal/dirs.h" ++#include "internal/dp-packet.h" + #include "dpdk.h" + #include "dpif-netdev.h" +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "if-notifier.h" + #include "netdev-provider.h" + #include "netdev-vport.h" +@@ -56,18 +56,18 @@ + #include "openvswitch/ofp-print.h" + #include "openvswitch/shash.h" + #include "openvswitch/vlog.h" +-#include "ovs-numa.h" +-#include "ovs-rcu.h" +-#include "ovs-thread.h" +-#include "packets.h" +-#include "smap.h" +-#include "sset.h" +-#include "timeval.h" +-#include "unaligned.h" +-#include "unixctl.h" ++#include "openvswitch/ovs-numa.h" ++#include "openvswitch/ovs-rcu.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/packets.h" ++#include "internal/smap.h" ++#include "internal/sset.h" ++#include "internal/timeval.h" ++#include "internal/unaligned.h" ++#include "internal/unixctl.h" + #include "userspace-tso.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + + enum {VIRTIO_RXQ, VIRTIO_TXQ, VIRTIO_QNUM}; + +diff --git a/lib/netdev-dummy.c b/lib/netdev-dummy.c +index 72cb95471..a51a2c975 100644 +--- a/lib/netdev-dummy.c ++++ b/lib/netdev-dummy.c +@@ -21,9 +21,9 @@ + #include + #include + +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "dpif-netdev.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "netdev-offload-provider.h" + #include "netdev-provider.h" + #include "netdev-vport.h" +@@ -34,16 +34,16 @@ + #include "openvswitch/ofp-print.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "ovs-atomic.h" +-#include "packets.h" ++#include "openvswitch/ovs-atomic.h" ++#include "internal/packets.h" + #include "pcap-file.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/shash.h" +-#include "sset.h" +-#include "stream.h" +-#include "unaligned.h" +-#include "timeval.h" +-#include "unixctl.h" ++#include "internal/sset.h" ++#include "internal/stream.h" ++#include "internal/unaligned.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" + #include "reconnect.h" + + VLOG_DEFINE_THIS_MODULE(netdev_dummy); +diff --git a/lib/netdev-linux-private.h b/lib/netdev-linux-private.h +index deb015bdb..58e4e9283 100644 +--- a/lib/netdev-linux-private.h ++++ b/lib/netdev-linux-private.h +@@ -27,14 +27,14 @@ + #include + #include + +-#include "dp-packet.h" +-#include "netdev-afxdp.h" ++#include "internal/dp-packet.h" ++#include "internal/netdev-afxdp.h" + #include "netdev-afxdp-pool.h" + #include "netdev-provider.h" + #include "netdev-vport.h" + #include "openvswitch/thread.h" +-#include "ovs-atomic.h" +-#include "timer.h" ++#include "openvswitch/ovs-atomic.h" ++#include "internal/timer.h" + + struct netdev; + +diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c +index 620a451de..bfb1193b8 100644 +--- a/lib/netdev-linux.c ++++ b/lib/netdev-linux.c +@@ -49,37 +49,37 @@ + #include + #include + +-#include "coverage.h" +-#include "dp-packet.h" ++#include "internal/coverage.h" ++#include "internal/dp-packet.h" + #include "dpif-netlink.h" + #include "dpif-netdev.h" + #include "openvswitch/dynamic-string.h" +-#include "fatal-signal.h" +-#include "hash.h" ++#include "internal/fatal-signal.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" +-#include "netdev-afxdp.h" ++#include "internal/netdev-afxdp.h" + #include "netdev-provider.h" + #include "netdev-vport.h" + #include "netlink-notifier.h" + #include "netlink-socket.h" +-#include "netlink.h" ++#include "internal/netlink.h" + #include "netnsid.h" + #include "openvswitch/ofpbuf.h" + #include "openflow/openflow.h" +-#include "ovs-atomic.h" +-#include "ovs-numa.h" +-#include "packets.h" ++#include "openvswitch/ovs-atomic.h" ++#include "openvswitch/ovs-numa.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" + #include "rtnetlink.h" + #include "openvswitch/shash.h" +-#include "socket-util.h" +-#include "sset.h" ++#include "internal/socket-util.h" ++#include "internal/sset.h" + #include "tc.h" +-#include "timer.h" +-#include "unaligned.h" ++#include "internal/timer.h" ++#include "internal/unaligned.h" + #include "openvswitch/vlog.h" + #include "userspace-tso.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(netdev_linux); + +diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c +index b89dfdd52..744c12a71 100644 +--- a/lib/netdev-native-tnl.c ++++ b/lib/netdev-native-tnl.c +@@ -32,17 +32,17 @@ + #include + #include + +-#include "byte-order.h" +-#include "csum.h" +-#include "dp-packet.h" +-#include "netdev.h" ++#include "internal/byte-order.h" ++#include "internal/csum.h" ++#include "internal/dp-packet.h" ++#include "internal/netdev.h" + #include "netdev-vport.h" + #include "netdev-vport-private.h" + #include "odp-netlink.h" +-#include "packets.h" +-#include "seq.h" +-#include "unaligned.h" +-#include "unixctl.h" ++#include "internal/packets.h" ++#include "internal/seq.h" ++#include "internal/unaligned.h" ++#include "internal/unixctl.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(native_tnl); +diff --git a/lib/netdev-native-tnl.h b/lib/netdev-native-tnl.h +index ba05b8b4c..758a632dc 100644 +--- a/lib/netdev-native-tnl.h ++++ b/lib/netdev-native-tnl.h +@@ -20,9 +20,9 @@ + #include + #include + #include "openvswitch/compiler.h" +-#include "dp-packet.h" +-#include "packets.h" +-#include "unixctl.h" ++#include "internal/dp-packet.h" ++#include "internal/packets.h" ++#include "internal/unixctl.h" + + struct netdev; + struct ovs_action_push_tnl; +diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c +index 94dc6a9b7..359615a93 100644 +--- a/lib/netdev-offload-dpdk.c ++++ b/lib/netdev-offload-dpdk.c +@@ -21,7 +21,7 @@ + #include + #include + +-#include "cmap.h" ++#include "internal/cmap.h" + #include "dpif-netdev.h" + #include "netdev-offload-provider.h" + #include "netdev-provider.h" +@@ -29,9 +29,9 @@ + #include "odp-util.h" + #include "openvswitch/match.h" + #include "openvswitch/vlog.h" +-#include "ovs-rcu.h" +-#include "packets.h" +-#include "uuid.h" ++#include "openvswitch/ovs-rcu.h" ++#include "internal/packets.h" ++#include "internal/uuid.h" + + VLOG_DEFINE_THIS_MODULE(netdev_offload_dpdk); + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(600, 600); +diff --git a/lib/netdev-offload-provider.h b/lib/netdev-offload-provider.h +index 8ff2de983..360536339 100644 +--- a/lib/netdev-offload-provider.h ++++ b/lib/netdev-offload-provider.h +@@ -18,11 +18,11 @@ + #ifndef NETDEV_FLOW_API_PROVIDER_H + #define NETDEV_FLOW_API_PROVIDER_H 1 + +-#include "flow.h" ++#include "internal/flow.h" + #include "netdev-offload.h" + #include "openvswitch/netdev.h" + #include "openvswitch/types.h" +-#include "packets.h" ++#include "internal/packets.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/netdev-offload-tc.c b/lib/netdev-offload-tc.c +index 9845e8d3f..e82dd2ce4 100644 +--- a/lib/netdev-offload-tc.c ++++ b/lib/netdev-offload-tc.c +@@ -20,7 +20,7 @@ + #include + + #include "dpif.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" + #include "openvswitch/match.h" + #include "openvswitch/ofpbuf.h" +@@ -32,13 +32,13 @@ + #include "netdev-offload-provider.h" + #include "netdev-provider.h" + #include "netdev-vport.h" +-#include "netlink.h" ++#include "internal/netlink.h" + #include "netlink-socket.h" + #include "odp-netlink.h" + #include "odp-util.h" + #include "tc.h" +-#include "unaligned.h" +-#include "util.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" + #include "dpif-provider.h" + + VLOG_DEFINE_THIS_MODULE(netdev_offload_tc); +diff --git a/lib/netdev-offload.c b/lib/netdev-offload.c +index fb108c0d5..845cc05e9 100644 +--- a/lib/netdev-offload.c ++++ b/lib/netdev-offload.c +@@ -26,31 +26,31 @@ + #include + #include + +-#include "cmap.h" +-#include "coverage.h" ++#include "internal/cmap.h" ++#include "internal/coverage.h" + #include "dpif.h" +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "openvswitch/dynamic-string.h" +-#include "fatal-signal.h" +-#include "hash.h" ++#include "internal/fatal-signal.h" ++#include "internal/hash.h" + #include "openvswitch/list.h" + #include "netdev-offload-provider.h" + #include "netdev-provider.h" + #include "netdev-vport.h" + #include "odp-netlink.h" + #include "openflow/openflow.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/ofp-print.h" + #include "openvswitch/poll-loop.h" +-#include "seq.h" ++#include "internal/seq.h" + #include "openvswitch/shash.h" +-#include "smap.h" +-#include "socket-util.h" +-#include "sset.h" +-#include "svec.h" ++#include "internal/smap.h" ++#include "internal/socket-util.h" ++#include "internal/sset.h" ++#include "internal/svec.h" + #include "openvswitch/vlog.h" +-#include "flow.h" +-#include "util.h" ++#include "internal/flow.h" ++#include "internal/util.h" + #ifdef __linux__ + #include "tc.h" + #endif +diff --git a/lib/netdev-offload.h b/lib/netdev-offload.h +index 8237a85dd..1038103ee 100644 +--- a/lib/netdev-offload.h ++++ b/lib/netdev-offload.h +@@ -20,10 +20,10 @@ + + #include "openvswitch/netdev.h" + #include "openvswitch/types.h" +-#include "ovs-rcu.h" +-#include "ovs-thread.h" +-#include "packets.h" +-#include "flow.h" ++#include "openvswitch/ovs-rcu.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/packets.h" ++#include "internal/flow.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/netdev-provider.h b/lib/netdev-provider.h +index b5420947d..a83616e30 100644 +--- a/lib/netdev-provider.h ++++ b/lib/netdev-provider.h +@@ -20,15 +20,15 @@ + /* Generic interface to network devices. */ + + #include "connectivity.h" +-#include "netdev.h" ++#include "internal/netdev.h" + #include "netdev-offload.h" + #include "openvswitch/list.h" +-#include "ovs-numa.h" +-#include "ovs-rcu.h" +-#include "packets.h" +-#include "seq.h" ++#include "openvswitch/ovs-numa.h" ++#include "openvswitch/ovs-rcu.h" ++#include "internal/packets.h" ++#include "internal/seq.h" + #include "openvswitch/shash.h" +-#include "smap.h" ++#include "internal/smap.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/netdev-vport-private.h b/lib/netdev-vport-private.h +index 490894f1a..07a9c7200 100644 +--- a/lib/netdev-vport-private.h ++++ b/lib/netdev-vport-private.h +@@ -20,9 +20,9 @@ + #include + #include + #include "openvswitch/compiler.h" +-#include "netdev.h" ++#include "internal/netdev.h" + #include "netdev-provider.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + + struct netdev_vport { + struct netdev up; +diff --git a/lib/netdev-vport.c b/lib/netdev-vport.c +index 64331f74b..efb9d903d 100644 +--- a/lib/netdev-vport.c ++++ b/lib/netdev-vport.c +@@ -28,24 +28,24 @@ + #include + #include + +-#include "byte-order.h" +-#include "daemon.h" +-#include "dirs.h" ++#include "internal/byte-order.h" ++#include "internal/daemon.h" ++#include "internal/dirs.h" + #include "dpif.h" +-#include "netdev.h" ++#include "internal/netdev.h" + #include "netdev-native-tnl.h" + #include "netdev-provider.h" + #include "netdev-vport-private.h" + #include "openvswitch/dynamic-string.h" + #include "ovs-router.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" + #include "route-table.h" +-#include "simap.h" +-#include "smap.h" +-#include "socket-util.h" +-#include "unaligned.h" +-#include "unixctl.h" ++#include "internal/simap.h" ++#include "internal/smap.h" ++#include "internal/socket-util.h" ++#include "internal/unaligned.h" ++#include "internal/unixctl.h" + #include "openvswitch/vlog.h" + #include "openvswitch/ofp-parse.h" + #ifdef __linux__ +diff --git a/lib/netdev-windows.c b/lib/netdev-windows.c +index 4ad45ffa1..65de7bf30 100644 +--- a/lib/netdev-windows.c ++++ b/lib/netdev-windows.c +@@ -21,18 +21,18 @@ + + #include + +-#include "coverage.h" +-#include "fatal-signal.h" ++#include "internal/coverage.h" ++#include "internal/fatal-signal.h" + #include "netdev-provider.h" + #include "openvswitch/ofpbuf.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/shash.h" +-#include "svec.h" ++#include "internal/svec.h" + #include "openvswitch/vlog.h" + #include "odp-netlink.h" + #include "netlink-socket.h" +-#include "netlink.h" ++#include "internal/netlink.h" + + VLOG_DEFINE_THIS_MODULE(netdev_windows); + static struct vlog_rate_limit error_rl = VLOG_RATE_LIMIT_INIT(9999, 5); +diff --git a/lib/netdev.c b/lib/netdev.c +index 8305f6c42..91d526463 100644 +--- a/lib/netdev.c ++++ b/lib/netdev.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include "netdev.h" ++#include "internal/netdev.h" + + #include + #include +@@ -31,31 +31,31 @@ + #include + #endif + +-#include "cmap.h" +-#include "coverage.h" ++#include "internal/cmap.h" ++#include "internal/coverage.h" + #include "dpif.h" +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "openvswitch/dynamic-string.h" +-#include "fatal-signal.h" +-#include "hash.h" ++#include "internal/fatal-signal.h" ++#include "internal/hash.h" + #include "openvswitch/list.h" + #include "netdev-offload-provider.h" + #include "netdev-provider.h" + #include "netdev-vport.h" + #include "odp-netlink.h" + #include "openflow/openflow.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/ofp-print.h" + #include "openvswitch/poll-loop.h" +-#include "seq.h" ++#include "internal/seq.h" + #include "openvswitch/shash.h" +-#include "smap.h" +-#include "socket-util.h" +-#include "sset.h" +-#include "svec.h" ++#include "internal/smap.h" ++#include "internal/socket-util.h" ++#include "internal/sset.h" ++#include "internal/svec.h" + #include "openvswitch/vlog.h" +-#include "flow.h" +-#include "util.h" ++#include "internal/flow.h" ++#include "internal/util.h" + #ifdef __linux__ + #include "tc.h" + #endif +diff --git a/lib/netflow.h b/lib/netflow.h +index 321f64ccc..a32821a8e 100644 +--- a/lib/netflow.h ++++ b/lib/netflow.h +@@ -21,7 +21,7 @@ + + #include + #include "openvswitch/types.h" +-#include "util.h" ++#include "internal/util.h" + + #define NETFLOW_V5_VERSION 5 + +diff --git a/lib/netlink-conntrack.c b/lib/netlink-conntrack.c +index 8dca46e55..fbc2b30e3 100644 +--- a/lib/netlink-conntrack.c ++++ b/lib/netlink-conntrack.c +@@ -26,17 +26,17 @@ + #include + #include + +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "openvswitch/compiler.h" + #include "openvswitch/dynamic-string.h" +-#include "netlink.h" ++#include "internal/netlink.h" + #include "netlink-socket.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" + #include "openvswitch/poll-loop.h" +-#include "timeval.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(netlink_conntrack); + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 5); +diff --git a/lib/netlink-conntrack.h b/lib/netlink-conntrack.h +index 4972dc6ca..80a017ef9 100644 +--- a/lib/netlink-conntrack.h ++++ b/lib/netlink-conntrack.h +@@ -19,15 +19,15 @@ + + #include + +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "openvswitch/compiler.h" + #include "ct-dpif.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/hmap.h" + #include "openvswitch/ofpbuf.h" +-#include "timeval.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + + enum nl_ct_event_type { + NL_CT_EVENT_NEW = 1 << 0, +diff --git a/lib/netlink-notifier.c b/lib/netlink-notifier.c +index dfecb9778..3770d1d98 100644 +--- a/lib/netlink-notifier.c ++++ b/lib/netlink-notifier.c +@@ -22,8 +22,8 @@ + #include + #include + +-#include "coverage.h" +-#include "netlink.h" ++#include "internal/coverage.h" ++#include "internal/netlink.h" + #include "netlink-socket.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +diff --git a/lib/netlink-socket.c b/lib/netlink-socket.c +index 93c1fa561..96423debb 100644 +--- a/lib/netlink-socket.c ++++ b/lib/netlink-socket.c +@@ -23,20 +23,20 @@ + #include + #include + #include +-#include "coverage.h" ++#include "internal/coverage.h" + #include "openvswitch/dynamic-string.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" +-#include "netlink.h" +-#include "netlink-protocol.h" ++#include "internal/netlink.h" ++#include "internal/netlink-protocol.h" + #include "netnsid.h" + #include "odp-netlink.h" + #include "openvswitch/ofpbuf.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/poll-loop.h" +-#include "seq.h" +-#include "socket-util.h" +-#include "util.h" ++#include "internal/seq.h" ++#include "internal/socket-util.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(netlink_socket); +diff --git a/lib/netlink-socket.h b/lib/netlink-socket.h +index 7852ad052..52c3ac4e0 100644 +--- a/lib/netlink-socket.h ++++ b/lib/netlink-socket.h +@@ -194,8 +194,8 @@ + #include + #include + #include "openvswitch/ofpbuf.h" +-#include "ovs-atomic.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-atomic.h" ++#include "openvswitch/ovs-thread.h" + + struct nl_sock; + +diff --git a/lib/netlink.c b/lib/netlink.c +index 8204025a5..84b0fe47c 100644 +--- a/lib/netlink.c ++++ b/lib/netlink.c +@@ -15,19 +15,19 @@ + */ + + #include +-#include "netlink.h" ++#include "internal/netlink.h" + #include + #include + #include + #include +-#include "coverage.h" +-#include "flow.h" +-#include "netlink-protocol.h" ++#include "internal/coverage.h" ++#include "internal/flow.h" ++#include "internal/netlink-protocol.h" + #include "openvswitch/ofpbuf.h" +-#include "timeval.h" +-#include "unaligned.h" ++#include "internal/timeval.h" ++#include "internal/unaligned.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(netlink); + +diff --git a/lib/nx-match.c b/lib/nx-match.c +index 440f5f763..1f317fc81 100644 +--- a/lib/nx-match.c ++++ b/lib/nx-match.c +@@ -16,12 +16,12 @@ + + #include + +-#include "nx-match.h" ++#include "internal/nx-match.h" + + #include + +-#include "classifier.h" +-#include "colors.h" ++#include "internal/classifier.h" ++#include "internal/colors.h" + #include "openvswitch/hmap.h" + #include "openflow/nicira-ext.h" + #include "openvswitch/dynamic-string.h" +@@ -32,11 +32,11 @@ + #include "openvswitch/ofp-port.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/shash.h" +-#include "tun-metadata.h" +-#include "unaligned.h" +-#include "util.h" ++#include "internal/tun-metadata-private.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" + #include "vl-mff-map.h" + + VLOG_DEFINE_THIS_MODULE(nx_match); +diff --git a/lib/object-collection.c b/lib/object-collection.c +index efabe3f92..a64029c8b 100644 +--- a/lib/object-collection.c ++++ b/lib/object-collection.c +@@ -17,7 +17,7 @@ + #include + + #include "object-collection.h" +-#include "util.h" ++#include "internal/util.h" + + void + object_collection_init(struct object_collection *coll) +diff --git a/lib/odp-execute.c b/lib/odp-execute.c +index 2f4cdd92c..ebb87d3b8 100644 +--- a/lib/odp-execute.c ++++ b/lib/odp-execute.c +@@ -25,17 +25,17 @@ + #include + #include + +-#include "coverage.h" +-#include "dp-packet.h" ++#include "internal/coverage.h" ++#include "internal/dp-packet.h" + #include "dpif.h" +-#include "netlink.h" ++#include "internal/netlink.h" + #include "odp-netlink.h" + #include "odp-util.h" +-#include "packets.h" +-#include "flow.h" +-#include "unaligned.h" +-#include "util.h" +-#include "csum.h" ++#include "internal/packets.h" ++#include "internal/flow.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" ++#include "internal/csum.h" + #include "conntrack.h" + #include "openvswitch/vlog.h" + +diff --git a/lib/odp-util.c b/lib/odp-util.c +index 9a705cffa..a65706466 100644 +--- a/lib/odp-util.c ++++ b/lib/odp-util.c +@@ -27,24 +27,24 @@ + #include + #include + +-#include "byte-order.h" +-#include "coverage.h" ++#include "internal/byte-order.h" ++#include "internal/coverage.h" + #include "dpif.h" + #include "openvswitch/dynamic-string.h" +-#include "flow.h" +-#include "netlink.h" ++#include "internal/flow.h" ++#include "internal/netlink.h" + #include "openvswitch/ofpbuf.h" +-#include "packets.h" +-#include "simap.h" +-#include "timeval.h" +-#include "tun-metadata.h" +-#include "unaligned.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/packets.h" ++#include "internal/simap.h" ++#include "internal/timeval.h" ++#include "internal/tun-metadata-private.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + #include "openvswitch/vlog.h" + #include "openvswitch/match.h" + #include "odp-netlink-macros.h" +-#include "csum.h" ++#include "internal/csum.h" + + VLOG_DEFINE_THIS_MODULE(odp_util); + +diff --git a/lib/odp-util.h b/lib/odp-util.h +index a1d0d0fba..631490b86 100644 +--- a/lib/odp-util.h ++++ b/lib/odp-util.h +@@ -21,14 +21,14 @@ + #include + #include + #include +-#include "flow.h" +-#include "hash.h" ++#include "internal/flow.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" + #include "openvswitch/ofp-actions.h" + #include "openvswitch/uuid.h" + #include "odp-netlink.h" + #include "openflow/openflow.h" +-#include "util.h" ++#include "internal/util.h" + + struct ds; + struct nlattr; +diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c +index f7fb96c5c..699b8036d 100644 +--- a/lib/ofp-actions.c ++++ b/lib/ofp-actions.c +@@ -19,15 +19,15 @@ + #include + #include + +-#include "bundle.h" +-#include "byte-order.h" +-#include "colors.h" ++#include "internal/bundle.h" ++#include "internal/byte-order.h" ++#include "internal/colors.h" + #include "openvswitch/compiler.h" + #include "dummy.h" + #include "openvswitch/hmap.h" + #include "learn.h" + #include "multipath.h" +-#include "nx-match.h" ++#include "internal/nx-match.h" + #include "odp-netlink.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/meta-flow.h" +@@ -39,8 +39,8 @@ + #include "openvswitch/ofp-table.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "unaligned.h" +-#include "util.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" + #include "vl-mff-map.h" + + VLOG_DEFINE_THIS_MODULE(ofp_actions); +diff --git a/lib/ofp-bundle.c b/lib/ofp-bundle.c +index 0161c2bc6..360ec1b84 100644 +--- a/lib/ofp-bundle.c ++++ b/lib/ofp-bundle.c +@@ -22,7 +22,7 @@ + #include "openvswitch/ofp-print.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(ofp_bundle); + +diff --git a/lib/ofp-connection.c b/lib/ofp-connection.c +index 3a7611b00..64da0bbd3 100644 +--- a/lib/ofp-connection.c ++++ b/lib/ofp-connection.c +@@ -16,7 +16,7 @@ + + #include + #include "openvswitch/ofp-connection.h" +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "openflow/nicira-ext.h" + #include "openvswitch/ofp-errors.h" + #include "openvswitch/ofp-monitor.h" +@@ -27,7 +27,7 @@ + #include "openvswitch/ofpbuf.h" + #include "openvswitch/type-props.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(ofp_connection); + +diff --git a/lib/ofp-ed-props.c b/lib/ofp-ed-props.c +index d0649da02..5572496ab 100644 +--- a/lib/ofp-ed-props.c ++++ b/lib/ofp-ed-props.c +@@ -21,8 +21,8 @@ + #include "openvswitch/ofp-ed-props.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/ofp-parse.h" +-#include "util.h" +-#include "lib/packets.h" ++#include "internal/util.h" ++#include "internal/packets.h" + + + enum ofperr +diff --git a/lib/ofp-errors.c b/lib/ofp-errors.c +index 35191abf1..eb0d32394 100644 +--- a/lib/ofp-errors.c ++++ b/lib/ofp-errors.c +@@ -16,7 +16,7 @@ + + #include + #include +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "openflow/openflow.h" + #include "openflow/nicira-ext.h" + #include "openvswitch/dynamic-string.h" +@@ -25,7 +25,7 @@ + #include "openvswitch/ofp-print.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(ofp_errors); + +diff --git a/lib/ofp-flow.c b/lib/ofp-flow.c +index 3bc744f78..04f120675 100644 +--- a/lib/ofp-flow.c ++++ b/lib/ofp-flow.c +@@ -17,10 +17,10 @@ + #include + #include "openvswitch/ofp-flow.h" + #include +-#include "byte-order.h" +-#include "colors.h" +-#include "flow.h" +-#include "nx-match.h" ++#include "internal/byte-order.h" ++#include "internal/colors.h" ++#include "internal/flow.h" ++#include "internal/nx-match.h" + #include "openvswitch/ofp-actions.h" + #include "openvswitch/ofp-group.h" + #include "openvswitch/ofp-match.h" +@@ -31,7 +31,7 @@ + #include "openvswitch/ofp-table.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + #include "ox-stat.h" + + VLOG_DEFINE_THIS_MODULE(ofp_flow); +diff --git a/lib/ofp-group.c b/lib/ofp-group.c +index 737f48047..0a8a3aa64 100644 +--- a/lib/ofp-group.c ++++ b/lib/ofp-group.c +@@ -17,9 +17,9 @@ + #include + #include "openvswitch/ofp-group.h" + #include +-#include "byte-order.h" +-#include "id-pool.h" +-#include "nx-match.h" ++#include "internal/byte-order.h" ++#include "internal/id-pool.h" ++#include "internal/nx-match.h" + #include "openvswitch/ofp-actions.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/ofp-msgs.h" +@@ -29,7 +29,7 @@ + #include "openvswitch/ofp-prop.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(ofp_group); + +diff --git a/lib/ofp-ipfix.c b/lib/ofp-ipfix.c +index 0ffc4d936..6dbe76ef9 100644 +--- a/lib/ofp-ipfix.c ++++ b/lib/ofp-ipfix.c +@@ -17,12 +17,12 @@ + #include + #include "openvswitch/ofp-ipfix.h" + #include +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "openflow/nicira-ext.h" + #include "openvswitch/ofp-errors.h" + #include "openvswitch/ofp-msgs.h" + #include "openvswitch/ofpbuf.h" +-#include "util.h" ++#include "internal/util.h" + + static void + ofputil_ipfix_stats_to_reply(const struct ofputil_ipfix_stats *ois, +diff --git a/lib/ofp-match.c b/lib/ofp-match.c +index 86a082dde..4a8953a65 100644 +--- a/lib/ofp-match.c ++++ b/lib/ofp-match.c +@@ -16,9 +16,9 @@ + + #include + #include "openvswitch/ofp-match.h" +-#include "byte-order.h" +-#include "flow.h" +-#include "nx-match.h" ++#include "internal/byte-order.h" ++#include "internal/flow.h" ++#include "internal/nx-match.h" + #include "openvswitch/match.h" + #include "openvswitch/ofp-errors.h" + #include "openvswitch/ofp-msgs.h" +diff --git a/lib/ofp-meter.c b/lib/ofp-meter.c +index 9ea40a0bf..37cc9384b 100644 +--- a/lib/ofp-meter.c ++++ b/lib/ofp-meter.c +@@ -16,8 +16,8 @@ + + #include + #include "openvswitch/ofp-meter.h" +-#include "byte-order.h" +-#include "nx-match.h" ++#include "internal/byte-order.h" ++#include "internal/nx-match.h" + #include "openvswitch/ofp-errors.h" + #include "openvswitch/ofp-msgs.h" + #include "openvswitch/ofp-parse.h" +diff --git a/lib/ofp-monitor.c b/lib/ofp-monitor.c +index e12fa6d2b..cdf54037e 100644 +--- a/lib/ofp-monitor.c ++++ b/lib/ofp-monitor.c +@@ -16,9 +16,9 @@ + + #include + #include "openvswitch/ofp-monitor.h" +-#include "byte-order.h" +-#include "nx-match.h" +-#include "ovs-atomic.h" ++#include "internal/byte-order.h" ++#include "internal/nx-match.h" ++#include "openvswitch/ovs-atomic.h" + #include "openvswitch/ofp-actions.h" + #include "openvswitch/ofp-errors.h" + #include "openvswitch/ofp-group.h" +diff --git a/lib/ofp-msgs.c b/lib/ofp-msgs.c +index fec54f75f..ebf360dba 100644 +--- a/lib/ofp-msgs.c ++++ b/lib/ofp-msgs.c +@@ -15,8 +15,8 @@ + */ + + #include +-#include "byte-order.h" +-#include "hash.h" ++#include "internal/byte-order.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" + #include "openflow/nicira-ext.h" + #include "openflow/openflow.h" +@@ -24,8 +24,8 @@ + #include "openvswitch/ofp-msgs.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "ovs-thread.h" +-#include "util.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(ofp_msgs); + +diff --git a/lib/ofp-packet.c b/lib/ofp-packet.c +index 4579548ee..2a7584b64 100644 +--- a/lib/ofp-packet.c ++++ b/lib/ofp-packet.c +@@ -17,8 +17,8 @@ + #include + #include "openvswitch/ofp-packet.h" + #include +-#include "dp-packet.h" +-#include "nx-match.h" ++#include "internal/dp-packet.h" ++#include "internal/nx-match.h" + #include "openvswitch/ofp-actions.h" + #include "openvswitch/ofp-errors.h" + #include "openvswitch/ofp-msgs.h" +@@ -29,8 +29,8 @@ + #include "openvswitch/ofp-table.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + + VLOG_DEFINE_THIS_MODULE(ofp_packet); + +diff --git a/lib/ofp-parse.c b/lib/ofp-parse.c +index a90b926ef..1bd491a88 100644 +--- a/lib/ofp-parse.c ++++ b/lib/ofp-parse.c +@@ -17,16 +17,16 @@ + #include + #include "openvswitch/ofp-parse.h" + #include +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "openvswitch/match.h" + #include "openvswitch/meta-flow.h" + #include "openvswitch/ofp-actions.h" + #include "openvswitch/ofp-flow.h" + #include "openvswitch/ofp-match.h" + #include "openvswitch/ofp-table.h" +-#include "packets.h" +-#include "socket-util.h" +-#include "util.h" ++#include "internal/packets.h" ++#include "internal/socket-util.h" ++#include "internal/util.h" + + /* Parses 'str' as an 8-bit unsigned integer into '*valuep'. + * +diff --git a/lib/ofp-port.c b/lib/ofp-port.c +index 16d587488..280450e30 100644 +--- a/lib/ofp-port.c ++++ b/lib/ofp-port.c +@@ -17,8 +17,8 @@ + #include + #include "openvswitch/ofp-port.h" + #include +-#include "byte-order.h" +-#include "flow.h" ++#include "internal/byte-order.h" ++#include "internal/flow.h" + #include "openflow/intel-ext.h" + #include "openvswitch/json.h" + #include "openvswitch/ofp-errors.h" +diff --git a/lib/ofp-print.c b/lib/ofp-print.c +index db7318205..33a214e1c 100644 +--- a/lib/ofp-print.c ++++ b/lib/ofp-print.c +@@ -27,16 +27,16 @@ + #include + #include + +-#include "bundle.h" +-#include "byte-order.h" +-#include "colors.h" ++#include "internal/bundle.h" ++#include "internal/byte-order.h" ++#include "internal/colors.h" + #include "openvswitch/compiler.h" +-#include "dp-packet.h" +-#include "flow.h" ++#include "internal/dp-packet.h" ++#include "internal/flow.h" + #include "learn.h" + #include "multipath.h" +-#include "netdev.h" +-#include "nx-match.h" ++#include "internal/netdev.h" ++#include "internal/nx-match.h" + #include "odp-util.h" + #include "openflow/nicira-ext.h" + #include "openflow/openflow.h" +@@ -59,10 +59,10 @@ + #include "openvswitch/ofp-util.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/type-props.h" +-#include "packets.h" +-#include "unaligned.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/packets.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + + static void ofp_print_error(struct ds *, enum ofperr); + +diff --git a/lib/ofp-prop.c b/lib/ofp-prop.c +index 8b2d8a85a..da5619dd1 100644 +--- a/lib/ofp-prop.c ++++ b/lib/ofp-prop.c +@@ -16,13 +16,13 @@ + + #include + +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/ofp-errors.h" + #include "openvswitch/ofp-prop.h" + #include "openvswitch/vlog.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + + struct ofp_prop_be16 { + ovs_be16 type; +diff --git a/lib/ofp-protocol.c b/lib/ofp-protocol.c +index 4d2dd6268..eeeb9973a 100644 +--- a/lib/ofp-protocol.c ++++ b/lib/ofp-protocol.c +@@ -22,7 +22,7 @@ + #include "openvswitch/ofp-msgs.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(ofp_protocol); + +diff --git a/lib/ofp-queue.c b/lib/ofp-queue.c +index efb8a250a..c69cc2190 100644 +--- a/lib/ofp-queue.c ++++ b/lib/ofp-queue.c +@@ -16,15 +16,15 @@ + + #include + #include "openvswitch/ofp-queue.h" +-#include "byte-order.h" +-#include "flow.h" ++#include "internal/byte-order.h" ++#include "internal/flow.h" + #include "openvswitch/ofp-msgs.h" + #include "openvswitch/ofp-print.h" + #include "openvswitch/ofp-port.h" + #include "openvswitch/ofp-prop.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(ofp_queue); + +diff --git a/lib/ofp-switch.c b/lib/ofp-switch.c +index 2f7a1cad2..6933dd7d0 100644 +--- a/lib/ofp-switch.c ++++ b/lib/ofp-switch.c +@@ -16,14 +16,14 @@ + + #include + #include "openvswitch/ofp-switch.h" +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/ofp-actions.h" + #include "openvswitch/ofp-errors.h" + #include "openvswitch/ofp-msgs.h" + #include "openvswitch/ofp-port.h" + #include "openvswitch/ofp-print.h" +-#include "util.h" ++#include "internal/util.h" + + /* ofputil_switch_features */ + +diff --git a/lib/ofp-table.c b/lib/ofp-table.c +index a956754f2..9d3ad1121 100644 +--- a/lib/ofp-table.c ++++ b/lib/ofp-table.c +@@ -16,8 +16,8 @@ + + #include + #include "openvswitch/ofp-table.h" +-#include "bitmap.h" +-#include "nx-match.h" ++#include "internal/bitmap.h" ++#include "internal/nx-match.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" + #include "openvswitch/ofp-actions.h" +@@ -26,7 +26,7 @@ + #include "openvswitch/ofp-prop.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(ofp_table); + +diff --git a/lib/ofp-util.c b/lib/ofp-util.c +index a324ceeea..accf2fa0f 100644 +--- a/lib/ofp-util.c ++++ b/lib/ofp-util.c +@@ -23,15 +23,15 @@ + #include + #include + #include +-#include "bitmap.h" +-#include "bundle.h" +-#include "byte-order.h" +-#include "classifier.h" ++#include "internal/bitmap.h" ++#include "internal/bundle.h" ++#include "internal/byte-order.h" ++#include "internal/classifier.h" + #include "learn.h" + #include "multipath.h" +-#include "netdev.h" +-#include "nx-match.h" +-#include "id-pool.h" ++#include "internal/netdev.h" ++#include "internal/nx-match.h" ++#include "internal/id-pool.h" + #include "openflow/netronome-ext.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" +@@ -45,12 +45,12 @@ + #include "openvswitch/type-props.h" + #include "openvswitch/vlog.h" + #include "openflow/intel-ext.h" +-#include "packets.h" +-#include "random.h" +-#include "tun-metadata.h" +-#include "unaligned.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/packets.h" ++#include "internal/random.h" ++#include "internal/tun-metadata-private.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + + VLOG_DEFINE_THIS_MODULE(ofp_util); + +diff --git a/lib/ofp-version-opt.c b/lib/ofp-version-opt.c +index f97d7b738..2dc60374a 100644 +--- a/lib/ofp-version-opt.c ++++ b/lib/ofp-version-opt.c +@@ -2,7 +2,7 @@ + #include "openvswitch/dynamic-string.h" + #include "openvswitch/ofp-protocol.h" + #include "ofp-version-opt.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + + static uint32_t allowed_versions = 0; + +diff --git a/lib/ofp-version-opt.h b/lib/ofp-version-opt.h +index f50f400d3..ec1dd7229 100644 +--- a/lib/ofp-version-opt.h ++++ b/lib/ofp-version-opt.h +@@ -2,7 +2,7 @@ + #define OFP_VERSION_H 1 + + #include +-#include "util.h" ++#include "internal/util.h" + + #define OFP_VERSION_LONG_OPTIONS \ + {"version", no_argument, NULL, 'V'}, \ +diff --git a/lib/ofpbuf.c b/lib/ofpbuf.c +index 271105bde..2de734bdd 100644 +--- a/lib/ofpbuf.c ++++ b/lib/ofpbuf.c +@@ -19,7 +19,7 @@ + #include + #include + #include "openvswitch/dynamic-string.h" +-#include "util.h" ++#include "internal/util.h" + + static void + ofpbuf_init__(struct ofpbuf *b, size_t allocated, enum ofpbuf_source source) +diff --git a/lib/ovs-lldp.c b/lib/ovs-lldp.c +index 162311fa4..7bcab25cf 100644 +--- a/lib/ovs-lldp.c ++++ b/lib/ovs-lldp.c +@@ -35,17 +35,17 @@ + #include + #include + #include "openvswitch/dynamic-string.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "openvswitch/list.h" + #include "lldp/lldpd.h" + #include "lldp/lldpd-structs.h" +-#include "netdev.h" ++#include "internal/netdev.h" + #include "openvswitch/types.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "smap.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/smap.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(ovs_lldp); +diff --git a/lib/ovs-lldp.h b/lib/ovs-lldp.h +index 0e536e8c2..746ad3c4b 100644 +--- a/lib/ovs-lldp.h ++++ b/lib/ovs-lldp.h +@@ -20,13 +20,13 @@ + #define OVS_LLDP_H + + #include +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "openvswitch/hmap.h" + #include "openvswitch/list.h" + #include "lldp/lldpd.h" +-#include "ovs-atomic.h" +-#include "packets.h" +-#include "timer.h" ++#include "openvswitch/ovs-atomic.h" ++#include "internal/packets.h" ++#include "internal/timer.h" + + /* Transmit every LLDPD_TX_INTERVAL seconds. */ + #define LLDP_DEFAULT_TRANSMIT_INTERVAL_MS (LLDPD_TX_INTERVAL * 1000) +diff --git a/lib/ovs-numa.c b/lib/ovs-numa.c +index 9e3fa5421..c4792cf31 100644 +--- a/lib/ovs-numa.c ++++ b/lib/ovs-numa.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include "ovs-numa.h" ++#include "openvswitch/ovs-numa.h" + + #include + #include +@@ -27,12 +27,12 @@ + #include + #endif /* __linux__ */ + +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" + #include "openvswitch/list.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(ovs_numa); + +diff --git a/lib/ovs-rcu.c b/lib/ovs-rcu.c +index 1866bd308..c9bfeab8f 100644 +--- a/lib/ovs-rcu.c ++++ b/lib/ovs-rcu.c +@@ -16,16 +16,16 @@ + + #include + #include +-#include "ovs-rcu.h" +-#include "fatal-signal.h" ++#include "openvswitch/ovs-rcu.h" ++#include "internal/fatal-signal.h" + #include "guarded-list.h" +-#include "latch.h" ++#include "internal/latch.h" + #include "openvswitch/list.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/poll-loop.h" +-#include "seq.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/seq.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(ovs_rcu); +diff --git a/lib/ovs-replay.c b/lib/ovs-replay.c +index f386246c7..59b2ce0e1 100644 +--- a/lib/ovs-replay.c ++++ b/lib/ovs-replay.c +@@ -22,10 +22,10 @@ + #include + #include + #include +-#include "dirs.h" +-#include "ovs-atomic.h" ++#include "internal/dirs.h" ++#include "openvswitch/ovs-atomic.h" + #include "ovs-replay.h" +-#include "util.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(ovs_replay); +diff --git a/lib/ovs-router.c b/lib/ovs-router.c +index e52cbb0bf..4dc3549c7 100644 +--- a/lib/ovs-router.c ++++ b/lib/ovs-router.c +@@ -30,21 +30,21 @@ + #include + #include + +-#include "classifier.h" +-#include "colors.h" ++#include "internal/classifier.h" ++#include "internal/command-line.h" + #include "openvswitch/compiler.h" + #include "dpif.h" +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "openvswitch/dynamic-string.h" +-#include "netdev.h" +-#include "packets.h" +-#include "seq.h" +-#include "ovs-thread.h" ++#include "internal/netdev.h" ++#include "internal/packets.h" ++#include "internal/seq.h" ++#include "openvswitch/ovs-thread.h" + #include "route-table.h" + #include "tnl-ports.h" +-#include "unixctl.h" +-#include "util.h" +-#include "unaligned.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" ++#include "internal/unaligned.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(ovs_router); +diff --git a/lib/ovs-router.h b/lib/ovs-router.h +index 34ea163ee..57c148fce 100644 +--- a/lib/ovs-router.h ++++ b/lib/ovs-router.h +@@ -20,7 +20,7 @@ + #include + #include + +-#include "util.h" ++#include "internal/util.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/lib/ovs-thread.c b/lib/ovs-thread.c +index 542dbbc7d..1a72d78b3 100644 +--- a/lib/ovs-thread.c ++++ b/lib/ovs-thread.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include + #include + #ifndef _WIN32 +@@ -24,14 +24,14 @@ + #include + #include + #include "openvswitch/compiler.h" +-#include "fatal-signal.h" +-#include "hash.h" ++#include "internal/fatal-signal.h" ++#include "internal/hash.h" + #include "openvswitch/list.h" +-#include "ovs-rcu.h" ++#include "openvswitch/ovs-rcu.h" + #include "openvswitch/poll-loop.h" +-#include "seq.h" +-#include "socket-util.h" +-#include "util.h" ++#include "internal/seq.h" ++#include "internal/socket-util.h" ++#include "internal/util.h" + + #ifdef __CHECKER__ + /* Omit the definitions in this file because they are somewhat difficult to +diff --git a/lib/ovsdb-condition.c b/lib/ovsdb-condition.c +index e0c4e43da..867fbbe08 100644 +--- a/lib/ovsdb-condition.c ++++ b/lib/ovsdb-condition.c +@@ -16,8 +16,8 @@ + #include + + #include +-#include "ovsdb-error.h" +-#include "ovsdb-condition.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-condition.h" + + struct ovsdb_error * + ovsdb_function_from_string(const char *name, enum ovsdb_function *function) +diff --git a/lib/ovsdb-cs.c b/lib/ovsdb-cs.c +index dead31275..553a0f82f 100644 +--- a/lib/ovsdb-cs.c ++++ b/lib/ovsdb-cs.c +@@ -16,27 +16,27 @@ + + #include + +-#include "ovsdb-cs.h" ++#include "openvswitch/ovsdb-cs.h" + + #include + +-#include "hash.h" +-#include "jsonrpc.h" ++#include "internal/hash.h" ++#include "internal/jsonrpc.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/hmap.h" + #include "openvswitch/json.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/shash.h" + #include "openvswitch/vlog.h" +-#include "ovsdb-data.h" +-#include "ovsdb-error.h" +-#include "ovsdb-parser.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-parser.h" + #include "ovsdb-session.h" +-#include "ovsdb-types.h" +-#include "sset.h" +-#include "svec.h" +-#include "util.h" +-#include "uuid.h" ++#include "openvswitch/ovsdb-types.h" ++#include "internal/sset.h" ++#include "internal/svec.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + + VLOG_DEFINE_THIS_MODULE(ovsdb_cs); + +diff --git a/lib/ovsdb-data.c b/lib/ovsdb-data.c +index 6b1c20ff8..cd3e0c0ae 100644 +--- a/lib/ovsdb-data.c ++++ b/lib/ovsdb-data.c +@@ -15,7 +15,7 @@ + + #include + +-#include "ovsdb-data.h" ++#include "openvswitch/ovsdb-data.h" + + #include + #include +@@ -23,16 +23,16 @@ + #include + + #include "openvswitch/dynamic-string.h" +-#include "hash.h" +-#include "ovs-thread.h" +-#include "ovsdb-error.h" +-#include "ovsdb-parser.h" ++#include "internal/hash.h" ++#include "openvswitch/ovs-thread.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-parser.h" + #include "openvswitch/json.h" + #include "openvswitch/shash.h" +-#include "smap.h" +-#include "sort.h" ++#include "internal/smap.h" ++#include "internal/sort.h" + #include "unicode.h" +-#include "util.h" ++#include "internal/util.h" + + static struct json * + wrap_json(const char *name, struct json *wrapped) +diff --git a/lib/ovsdb-error.c b/lib/ovsdb-error.c +index a75ad36b7..15bf1e3c1 100644 +--- a/lib/ovsdb-error.c ++++ b/lib/ovsdb-error.c +@@ -15,14 +15,14 @@ + + #include + +-#include "ovsdb-error.h" ++#include "openvswitch/ovsdb-error.h" + + #include + + #include "backtrace.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" +-#include "util.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(ovsdb_error); +diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c +index c19128d55..b2d3e9818 100644 +--- a/lib/ovsdb-idl.c ++++ b/lib/ovsdb-idl.c +@@ -16,37 +16,37 @@ + + #include + +-#include "ovsdb-idl.h" ++#include "openvswitch/ovsdb-idl.h" + + #include + #include + #include + #include + +-#include "bitmap.h" +-#include "coverage.h" +-#include "hash.h" ++#include "internal/bitmap.h" ++#include "internal/coverage.h" ++#include "internal/hash.h" + #include "openvswitch/dynamic-string.h" +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "openvswitch/json.h" +-#include "jsonrpc.h" ++#include "internal/jsonrpc.h" + #include "ovsdb/ovsdb.h" + #include "ovsdb/table.h" +-#include "ovsdb-cs.h" +-#include "ovsdb-data.h" +-#include "ovsdb-error.h" +-#include "ovsdb-idl-provider.h" +-#include "ovsdb-parser.h" ++#include "openvswitch/ovsdb-cs.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-idl-provider.h" ++#include "openvswitch/ovsdb-parser.h" + #include "ovsdb-server-idl.h" + #include "ovsdb-session.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/shash.h" +-#include "skiplist.h" +-#include "simap.h" +-#include "sset.h" +-#include "svec.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/skiplist.h" ++#include "internal/simap.h" ++#include "internal/sset.h" ++#include "internal/svec.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(ovsdb_idl); +diff --git a/lib/ovsdb-map-op.c b/lib/ovsdb-map-op.c +index 7b90ba84f..df568e3e2 100644 +--- a/lib/ovsdb-map-op.c ++++ b/lib/ovsdb-map-op.c +@@ -15,10 +15,10 @@ +  */ + + #include +-#include "ovsdb-map-op.h" +-#include "util.h" ++#include "openvswitch/ovsdb-map-op.h" ++#include "internal/util.h" + #include "openvswitch/hmap.h" +-#include "hash.h" ++#include "internal/hash.h" + + /* Map Operation: a Partial Map Update */ + struct map_op { +diff --git a/lib/ovsdb-parser.c b/lib/ovsdb-parser.c +index 38119c195..be173ac22 100644 +--- a/lib/ovsdb-parser.c ++++ b/lib/ovsdb-parser.c +@@ -15,12 +15,12 @@ + + #include + +-#include "ovsdb-parser.h" ++#include "openvswitch/ovsdb-parser.h" + + #include + #include + +-#include "ovsdb-error.h" ++#include "openvswitch/ovsdb-error.h" + + void + ovsdb_parser_init(struct ovsdb_parser *parser, const struct json *json, +diff --git a/lib/ovsdb-session.c b/lib/ovsdb-session.c +index a8cb90f22..57d627958 100644 +--- a/lib/ovsdb-session.c ++++ b/lib/ovsdb-session.c +@@ -18,9 +18,9 @@ + #include + #include + #include +-#include "svec.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/svec.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + + static const char * + next_remote(const char *s) +diff --git a/lib/ovsdb-set-op.c b/lib/ovsdb-set-op.c +index 62c462118..7b978f0f8 100644 +--- a/lib/ovsdb-set-op.c ++++ b/lib/ovsdb-set-op.c +@@ -16,8 +16,8 @@ + */ + + #include +-#include "ovsdb-set-op.h" +-#include "util.h" ++#include "openvswitch/ovsdb-set-op.h" ++#include "internal/util.h" + + /* Set Operation: a Partial Set Update */ + struct set_op { +diff --git a/lib/ovsdb-types.c b/lib/ovsdb-types.c +index 24ccdd1cc..a1a1df067 100644 +--- a/lib/ovsdb-types.c ++++ b/lib/ovsdb-types.c +@@ -15,18 +15,18 @@ + + #include + +-#include "ovsdb-types.h" ++#include "openvswitch/ovsdb-types.h" + + #include + #include + + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" +-#include "ovs-thread.h" +-#include "ovsdb-data.h" +-#include "ovsdb-error.h" +-#include "ovsdb-parser.h" +-#include "util.h" ++#include "openvswitch/ovs-thread.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-parser.h" ++#include "internal/util.h" + + const struct ovsdb_type ovsdb_type_integer = + OVSDB_TYPE_SCALAR_INITIALIZER(OVSDB_BASE_INTEGER_INIT); +diff --git a/lib/ox-stat.c b/lib/ox-stat.c +index c6fbb4daa..314b6af55 100644 +--- a/lib/ox-stat.c ++++ b/lib/ox-stat.c +@@ -16,12 +16,12 @@ + + #include + #include "ox-stat.h" +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "openvswitch/ofp-errors.h" + #include "openvswitch/compiler.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "unaligned.h" ++#include "internal/unaligned.h" + + VLOG_DEFINE_THIS_MODULE(ox_stat); + +diff --git a/lib/packets.c b/lib/packets.c +index d0fba8176..464f9ca68 100644 +--- a/lib/packets.c ++++ b/lib/packets.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include "packets.h" ++#include "internal/packets.h" + #include + #include + #include +@@ -24,16 +24,16 @@ + #include + #include + #include +-#include "byte-order.h" +-#include "csum.h" +-#include "crc32c.h" +-#include "flow.h" ++#include "internal/byte-order.h" ++#include "internal/csum.h" ++#include "internal/crc32c.h" ++#include "internal/flow.h" + #include "openvswitch/hmap.h" + #include "openvswitch/dynamic-string.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "odp-util.h" +-#include "dp-packet.h" +-#include "unaligned.h" ++#include "internal/dp-packet.h" ++#include "internal/unaligned.h" + + const struct in6_addr in6addr_exact = IN6ADDR_EXACT_INIT; + const struct in6_addr in6addr_all_hosts = IN6ADDR_ALL_HOSTS_INIT; +diff --git a/lib/pcap-file.c b/lib/pcap-file.c +index 67c9b9bea..b1657c1e7 100644 +--- a/lib/pcap-file.c ++++ b/lib/pcap-file.c +@@ -21,15 +21,15 @@ + #include + #include + #include +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "openvswitch/compiler.h" +-#include "dp-packet.h" +-#include "flow.h" ++#include "internal/dp-packet.h" ++#include "internal/flow.h" + #include "openvswitch/hmap.h" +-#include "packets.h" +-#include "timeval.h" +-#include "unaligned.h" +-#include "util.h" ++#include "internal/packets.h" ++#include "internal/timeval.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(pcap); +diff --git a/lib/perf-counter.c b/lib/perf-counter.c +index e4eca58d0..8059c9a51 100644 +--- a/lib/perf-counter.c ++++ b/lib/perf-counter.c +@@ -29,7 +29,7 @@ + #include "openvswitch/dynamic-string.h" + #include "perf-counter.h" + #include "openvswitch/shash.h" +-#include "util.h" ++#include "internal/util.h" + + static struct shash perf_counters = SHASH_INITIALIZER(&perf_counters); + static int fd__ = 0; +diff --git a/lib/poll-loop.c b/lib/poll-loop.c +index 4e751ff2c..3cec9e8a8 100644 +--- a/lib/poll-loop.c ++++ b/lib/poll-loop.c +@@ -21,17 +21,17 @@ + #include + #include + #include +-#include "coverage.h" ++#include "internal/coverage.h" + #include "openvswitch/dynamic-string.h" +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "openvswitch/list.h" +-#include "ovs-thread.h" +-#include "seq.h" +-#include "socket-util.h" +-#include "timeval.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/seq.h" ++#include "internal/socket-util.h" ++#include "internal/timeval.h" + #include "openvswitch/vlog.h" + #include "openvswitch/hmap.h" +-#include "hash.h" ++#include "internal/hash.h" + + VLOG_DEFINE_THIS_MODULE(poll_loop); + +diff --git a/lib/process.c b/lib/process.c +index 78de4b8df..c1b886f1a 100644 +--- a/lib/process.c ++++ b/lib/process.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include "process.h" ++#include "internal/process.h" + #include + #include + #include +@@ -25,16 +25,16 @@ + #include + #include + #include +-#include "coverage.h" ++#include "internal/coverage.h" + #include "openvswitch/dynamic-string.h" +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "openvswitch/list.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/poll-loop.h" + #include "signals.h" +-#include "socket-util.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/socket-util.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(process); +diff --git a/lib/pvector.c b/lib/pvector.c +index cc527fdc4..e7950934f 100644 +--- a/lib/pvector.c ++++ b/lib/pvector.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include "pvector.h" ++#include "internal/pvector.h" + + /* Writers will preallocate space for some entries at the end to avoid future + * reallocations. */ +diff --git a/lib/random.c b/lib/random.c +index c0bc659d1..6f58d836c 100644 +--- a/lib/random.c ++++ b/lib/random.c +@@ -15,17 +15,17 @@ + */ + + #include +-#include "random.h" ++#include "internal/random.h" + + #include + #include + #include + + #include "entropy.h" +-#include "hash.h" +-#include "ovs-thread.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/hash.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + /* This is the 32-bit PRNG recommended in G. Marsaglia, "Xorshift RNGs", + * _Journal of Statistical Software_ 8:14 (July 2003). According to the paper, +diff --git a/lib/rconn.c b/lib/rconn.c +index a96b2eb8b..760f70a22 100644 +--- a/lib/rconn.c ++++ b/lib/rconn.c +@@ -20,7 +20,7 @@ + #include + #include + #include +-#include "coverage.h" ++#include "internal/coverage.h" + #include "openflow/openflow.h" + #include "openvswitch/ofp-msgs.h" + #include "openvswitch/ofp-util.h" +@@ -29,10 +29,10 @@ + #include "openvswitch/vlog.h" + #include "openvswitch/poll-loop.h" + #include "sat-math.h" +-#include "stream.h" +-#include "timeval.h" +-#include "util.h" +-#include "ovs-thread.h" ++#include "internal/stream.h" ++#include "internal/timeval.h" ++#include "internal/util.h" ++#include "openvswitch/ovs-thread.h" + + VLOG_DEFINE_THIS_MODULE(rconn); + +diff --git a/lib/reconnect.c b/lib/reconnect.c +index a929ddfd2..39d34b206 100644 +--- a/lib/reconnect.c ++++ b/lib/reconnect.c +@@ -20,7 +20,7 @@ + #include + + #include "openvswitch/poll-loop.h" +-#include "util.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(reconnect); +diff --git a/lib/route-table-bsd.c b/lib/route-table-bsd.c +index 34d42cfab..258d9a2d5 100644 +--- a/lib/route-table-bsd.c ++++ b/lib/route-table-bsd.c +@@ -32,9 +32,9 @@ + #include + + #include "ovs-router.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(route_table_bsd); + +diff --git a/lib/route-table.c b/lib/route-table.c +index ac82cf262..22b2468ec 100644 +--- a/lib/route-table.c ++++ b/lib/route-table.c +@@ -26,14 +26,14 @@ + #include + #include + +-#include "hash.h" +-#include "netdev.h" +-#include "netlink.h" ++#include "internal/hash.h" ++#include "internal/netdev.h" ++#include "internal/netlink.h" + #include "netlink-notifier.h" + #include "netlink-socket.h" + #include "openvswitch/ofpbuf.h" + #include "ovs-router.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "rtnetlink.h" + #include "tnl-ports.h" + #include "openvswitch/vlog.h" +diff --git a/lib/rstp-common.h b/lib/rstp-common.h +index 7948842f4..3b674d02a 100644 +--- a/lib/rstp-common.h ++++ b/lib/rstp-common.h +@@ -35,8 +35,8 @@ + #include + #include "openvswitch/hmap.h" + #include "openvswitch/list.h" +-#include "ovs-atomic.h" +-#include "packets.h" ++#include "openvswitch/ovs-atomic.h" ++#include "internal/packets.h" + + enum admin_port_state { + RSTP_ADMIN_BRIDGE_PORT_STATE_DISABLED = 0, +diff --git a/lib/rstp-state-machines.c b/lib/rstp-state-machines.c +index 7bd1f80c4..94d15cf0c 100644 +--- a/lib/rstp-state-machines.c ++++ b/lib/rstp-state-machines.c +@@ -36,14 +36,14 @@ + #include + #include + #include +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "connectivity.h" + #include "openvswitch/ofpbuf.h" +-#include "dp-packet.h" +-#include "packets.h" +-#include "seq.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/dp-packet.h" ++#include "internal/packets.h" ++#include "internal/seq.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(rstp_sm); +diff --git a/lib/rstp.c b/lib/rstp.c +index 7e351bf32..a80854a3c 100644 +--- a/lib/rstp.c ++++ b/lib/rstp.c +@@ -37,15 +37,15 @@ + #include + #include + #include +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "connectivity.h" + #include "openvswitch/ofpbuf.h" + #include "ofproto/ofproto.h" +-#include "dp-packet.h" +-#include "packets.h" +-#include "seq.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/dp-packet.h" ++#include "internal/packets.h" ++#include "internal/seq.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(rstp); +diff --git a/lib/rstp.h b/lib/rstp.h +index 90ea67d58..5fb4fc104 100644 +--- a/lib/rstp.h ++++ b/lib/rstp.h +@@ -34,7 +34,7 @@ + #include + #include + #include "openvswitch/compiler.h" +-#include "util.h" ++#include "internal/util.h" + + /* Thread Safety: Callers passing in RSTP and RSTP port object + * pointers must hold a reference to the passed object to ensure that +diff --git a/lib/rtbsd.c b/lib/rtbsd.c +index 564595c3a..8f8ed80f4 100644 +--- a/lib/rtbsd.c ++++ b/lib/rtbsd.c +@@ -25,8 +25,8 @@ + #include + #include + +-#include "coverage.h" +-#include "socket-util.h" ++#include "internal/coverage.h" ++#include "internal/socket-util.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/vlog.h" + +diff --git a/lib/rtnetlink.c b/lib/rtnetlink.c +index f67352603..20bcb5131 100644 +--- a/lib/rtnetlink.c ++++ b/lib/rtnetlink.c +@@ -22,10 +22,10 @@ + #include + #include + +-#include "netlink.h" ++#include "internal/netlink.h" + #include "netlink-notifier.h" + #include "openvswitch/ofpbuf.h" +-#include "packets.h" ++#include "internal/packets.h" + + #if IFLA_INFO_MAX < 5 + #define IFLA_INFO_SLAVE_KIND 4 +diff --git a/lib/seq.c b/lib/seq.c +index 6581cb06b..6c60f36cb 100644 +--- a/lib/seq.c ++++ b/lib/seq.c +@@ -16,16 +16,16 @@ + + #include + +-#include "seq.h" ++#include "internal/seq.h" + + #include + +-#include "coverage.h" +-#include "hash.h" ++#include "internal/coverage.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" +-#include "latch.h" ++#include "internal/latch.h" + #include "openvswitch/list.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/poll-loop.h" + + COVERAGE_DEFINE(seq_change); +diff --git a/lib/sflow_agent.c b/lib/sflow_agent.c +index c95f654a5..e45dc075b 100644 +--- a/lib/sflow_agent.c ++++ b/lib/sflow_agent.c +@@ -6,7 +6,7 @@ + */ + + #include "sflow_api.h" +-#include "util.h" ++#include "internal/util.h" + + static void * sflAlloc(SFLAgent *agent, size_t bytes); + static void sflFree(SFLAgent *agent, void *obj); +diff --git a/lib/sha1.c b/lib/sha1.c +index 18f245c8b..96283a008 100644 +--- a/lib/sha1.c ++++ b/lib/sha1.c +@@ -34,7 +34,7 @@ + #include + #include + #include "openvswitch/compiler.h" +-#include "util.h" ++#include "internal/util.h" + + /* a bit faster & bigger, if defined */ + #define UNROLL_LOOPS +diff --git a/lib/shash.c b/lib/shash.c +index a8433629a..47b05d53d 100644 +--- a/lib/shash.c ++++ b/lib/shash.c +@@ -16,7 +16,7 @@ + + #include + #include "openvswitch/shash.h" +-#include "hash.h" ++#include "internal/hash.h" + + static struct shash_node *shash_find__(const struct shash *, + const char *name, size_t name_len, +diff --git a/lib/signals.c b/lib/signals.c +index 70c53adc6..3a12c9b68 100644 +--- a/lib/signals.c ++++ b/lib/signals.c +@@ -22,9 +22,9 @@ + #include + #include + #include "openvswitch/poll-loop.h" +-#include "socket-util.h" ++#include "internal/socket-util.h" + #include "openvswitch/type-props.h" +-#include "util.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(signals); +diff --git a/lib/simap.c b/lib/simap.c +index f404ece67..415a34247 100644 +--- a/lib/simap.c ++++ b/lib/simap.c +@@ -15,8 +15,8 @@ + */ + + #include +-#include "simap.h" +-#include "hash.h" ++#include "internal/simap.h" ++#include "internal/hash.h" + + static size_t hash_name(const char *, size_t length); + static struct simap_node *simap_find__(const struct simap *, +diff --git a/lib/skiplist.c b/lib/skiplist.c +index beb09773f..4879934c4 100644 +--- a/lib/skiplist.c ++++ b/lib/skiplist.c +@@ -25,9 +25,9 @@ + #include + #include + +-#include "skiplist.h" +-#include "random.h" +-#include "util.h" ++#include "internal/skiplist.h" ++#include "internal/random.h" ++#include "internal/util.h" + + /* + * A maximum height level of 32 should be more than sufficient for +diff --git a/lib/smap.c b/lib/smap.c +index e82261497..9a4f46095 100644 +--- a/lib/smap.c ++++ b/lib/smap.c +@@ -13,15 +13,15 @@ + * limitations under the License. */ + + #include +-#include "smap.h" ++#include "internal/smap.h" + + #include + +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/json.h" +-#include "packets.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/packets.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + + static struct smap_node *smap_add__(struct smap *, char *, void *, + size_t hash); +diff --git a/lib/socket-util-unix.c b/lib/socket-util-unix.c +index 59f63fcce..ae41b05c7 100644 +--- a/lib/socket-util-unix.c ++++ b/lib/socket-util-unix.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include "socket-util.h" ++#include "internal/socket-util.h" + #include + #include + #include +@@ -25,9 +25,9 @@ + #include + #include + #include +-#include "fatal-signal.h" +-#include "random.h" +-#include "util.h" ++#include "internal/fatal-signal.h" ++#include "internal/random.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(socket_util_unix); +diff --git a/lib/socket-util.c b/lib/socket-util.c +index 4f1ffecf5..872f6c396 100644 +--- a/lib/socket-util.c ++++ b/lib/socket-util.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include "socket-util.h" ++#include "internal/socket-util.h" + #include + #include + #include +@@ -36,16 +36,16 @@ + #include + #include + #include "openvswitch/dynamic-string.h" +-#include "ovs-thread.h" +-#include "packets.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "util.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + #ifdef __linux__ + #include + #endif + #ifdef HAVE_NETLINK +-#include "netlink-protocol.h" ++#include "internal/netlink-protocol.h" + #include "netlink-socket.h" + #endif + #include "dns-resolve.h" +diff --git a/lib/sort.c b/lib/sort.c +index ed40637e2..7a07ffa94 100644 +--- a/lib/sort.c ++++ b/lib/sort.c +@@ -15,9 +15,9 @@ + + #include + +-#include "sort.h" ++#include "internal/sort.h" + +-#include "random.h" ++#include "internal/random.h" + + static size_t + partition(size_t p, size_t r, +diff --git a/lib/sset.c b/lib/sset.c +index b2e3f43ec..60c0a3384 100644 +--- a/lib/sset.c ++++ b/lib/sset.c +@@ -16,10 +16,10 @@ + + #include + +-#include "sset.h" ++#include "internal/sset.h" + + #include "openvswitch/dynamic-string.h" +-#include "hash.h" ++#include "internal/hash.h" + + static uint32_t + hash_name__(const char *name, size_t length) +diff --git a/lib/stopwatch.c b/lib/stopwatch.c +index 1c71df1a1..3223ae6a4 100644 +--- a/lib/stopwatch.c ++++ b/lib/stopwatch.c +@@ -15,17 +15,17 @@ + + #include + +-#include "stopwatch.h" ++#include "internal/stopwatch.h" + #include "openvswitch/shash.h" + #include "openvswitch/vlog.h" +-#include "unixctl.h" ++#include "internal/unixctl.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/poll-loop.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include +-#include "socket-util.h" +-#include "util.h" +-#include "latch.h" ++#include "internal/socket-util.h" ++#include "internal/util.h" ++#include "internal/latch.h" + #include "guarded-list.h" + + VLOG_DEFINE_THIS_MODULE(stopwatch); +diff --git a/lib/stp.c b/lib/stp.c +index a869b5f39..8c76bca26 100644 +--- a/lib/stp.c ++++ b/lib/stp.c +@@ -25,15 +25,15 @@ + #include + #include + #include +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "connectivity.h" + #include "openvswitch/ofpbuf.h" +-#include "ovs-atomic.h" +-#include "dp-packet.h" +-#include "packets.h" +-#include "seq.h" +-#include "unixctl.h" +-#include "util.h" ++#include "openvswitch/ovs-atomic.h" ++#include "internal/dp-packet.h" ++#include "internal/packets.h" ++#include "internal/seq.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(stp); +diff --git a/lib/stp.h b/lib/stp.h +index a0a127978..b4062b077 100644 +--- a/lib/stp.h ++++ b/lib/stp.h +@@ -23,7 +23,7 @@ + #include + #include + #include "openvswitch/compiler.h" +-#include "util.h" ++#include "internal/util.h" + + struct dp_packet; + +diff --git a/lib/stream-fd.c b/lib/stream-fd.c +index 46ee7ae27..ccf180c82 100644 +--- a/lib/stream-fd.c ++++ b/lib/stream-fd.c +@@ -23,12 +23,12 @@ + #include + #include + #include +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "openvswitch/poll-loop.h" +-#include "socket-util.h" +-#include "util.h" ++#include "internal/socket-util.h" ++#include "internal/util.h" + #include "stream-provider.h" +-#include "stream.h" ++#include "internal/stream.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(stream_fd); +diff --git a/lib/stream-nossl.c b/lib/stream-nossl.c +index 6ea622b7c..153575ea9 100644 +--- a/lib/stream-nossl.c ++++ b/lib/stream-nossl.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include "stream-ssl.h" ++#include "internal/stream-ssl.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(stream_nossl); +diff --git a/lib/stream-provider.h b/lib/stream-provider.h +index 44e3c6431..f97c143f3 100644 +--- a/lib/stream-provider.h ++++ b/lib/stream-provider.h +@@ -19,7 +19,7 @@ + + #include + #include "ovs-replay.h" +-#include "stream.h" ++#include "internal/stream.h" + + /* Active stream connection. */ + +diff --git a/lib/stream-replay.c b/lib/stream-replay.c +index 21da5220e..c2fee2669 100644 +--- a/lib/stream-replay.c ++++ b/lib/stream-replay.c +@@ -23,11 +23,11 @@ + #include + #include + #include +-#include "ovs-atomic.h" ++#include "openvswitch/ovs-atomic.h" + #include "ovs-replay.h" +-#include "util.h" ++#include "internal/util.h" + #include "stream-provider.h" +-#include "stream.h" ++#include "internal/stream.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/vlog.h" + +diff --git a/lib/stream-ssl.c b/lib/stream-ssl.c +index f4fe3432e..9f1f0d95f 100644 +--- a/lib/stream-ssl.c ++++ b/lib/stream-ssl.c +@@ -15,8 +15,8 @@ + */ + + #include +-#include "stream-ssl.h" +-#include "dhparams.h" ++#include "internal/stream-ssl.h" ++#include "internal/dhparams.h" + #include + #include + #include +@@ -32,19 +32,19 @@ + #include + #include + #include +-#include "coverage.h" ++#include "internal/coverage.h" + #include "openvswitch/dynamic-string.h" + #include "entropy.h" + #include "openvswitch/ofpbuf.h" + #include "openflow/openflow.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/shash.h" +-#include "socket-util.h" +-#include "util.h" ++#include "internal/socket-util.h" ++#include "internal/util.h" + #include "stream-provider.h" +-#include "stream.h" +-#include "timeval.h" ++#include "internal/stream.h" ++#include "internal/timeval.h" + #include "openvswitch/vlog.h" + + #ifdef _WIN32 +diff --git a/lib/stream-tcp.c b/lib/stream-tcp.c +index e8dc2bfaa..8e517c03c 100644 +--- a/lib/stream-tcp.c ++++ b/lib/stream-tcp.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include "stream.h" ++#include "internal/stream.h" + #include + #include + #include +@@ -26,9 +26,9 @@ + #include + #include + #include "openvswitch/dynamic-string.h" +-#include "packets.h" +-#include "socket-util.h" +-#include "util.h" ++#include "internal/packets.h" ++#include "internal/socket-util.h" ++#include "internal/util.h" + #include "stream-provider.h" + #include "stream-fd.h" + #include "openvswitch/vlog.h" +diff --git a/lib/stream-unix.c b/lib/stream-unix.c +index d265efb83..e0c8ced2b 100644 +--- a/lib/stream-unix.c ++++ b/lib/stream-unix.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include "stream.h" ++#include "internal/stream.h" + #include + #include + #include +@@ -26,12 +26,12 @@ + #include + #include + #include +-#include "ovs-atomic.h" +-#include "packets.h" ++#include "openvswitch/ovs-atomic.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "socket-util.h" +-#include "dirs.h" +-#include "util.h" ++#include "internal/socket-util.h" ++#include "internal/dirs.h" ++#include "internal/util.h" + #include "stream-provider.h" + #include "stream-fd.h" + #include "openvswitch/vlog.h" +diff --git a/lib/stream-windows.c b/lib/stream-windows.c +index 5c4c55e5d..0998d64b8 100644 +--- a/lib/stream-windows.c ++++ b/lib/stream-windows.c +@@ -21,9 +21,9 @@ + #include + #include + #include "openvswitch/poll-loop.h" +-#include "dirs.h" +-#include "fatal-signal.h" +-#include "util.h" ++#include "internal/dirs.h" ++#include "internal/fatal-signal.h" ++#include "internal/util.h" + #include "stream-provider.h" + #include "openvswitch/vlog.h" + +diff --git a/lib/stream.c b/lib/stream.c +index fcaddf10a..a1ca2aa6f 100644 +--- a/lib/stream.c ++++ b/lib/stream.c +@@ -23,10 +23,10 @@ + #include + #include + #include +-#include "coverage.h" +-#include "fatal-signal.h" +-#include "flow.h" +-#include "jsonrpc.h" ++#include "internal/coverage.h" ++#include "internal/fatal-signal.h" ++#include "internal/flow.h" ++#include "internal/jsonrpc.h" + #include "openflow/nicira-ext.h" + #include "openflow/openflow.h" + #include "openvswitch/dynamic-string.h" +@@ -34,12 +34,12 @@ + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" + #include "ovs-replay.h" +-#include "ovs-thread.h" +-#include "packets.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "random.h" +-#include "socket-util.h" +-#include "util.h" ++#include "internal/random.h" ++#include "internal/socket-util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(stream); + +diff --git a/lib/string.c b/lib/string.c +index e7e265bdf..1eb2705e6 100644 +--- a/lib/string.c ++++ b/lib/string.c +@@ -18,7 +18,7 @@ + #include + #include + +-#include "util.h" ++#include "internal/util.h" + + #ifndef HAVE_STRNLEN + size_t +diff --git a/lib/strsep.c b/lib/strsep.c +index 3ec7a2626..cd63d32e6 100644 +--- a/lib/strsep.c ++++ b/lib/strsep.c +@@ -28,7 +28,7 @@ + */ + + #include +-#include "util.h" ++#include "internal/util.h" + + /* + * Get next token from string *stringp, where tokens are possibly-empty +diff --git a/lib/svec.c b/lib/svec.c +index 6ea96384b..afbc1e3a3 100644 +--- a/lib/svec.c ++++ b/lib/svec.c +@@ -15,13 +15,13 @@ + */ + + #include +-#include "svec.h" ++#include "internal/svec.h" + #include + #include + #include + #include "openvswitch/dynamic-string.h" +-#include "random.h" +-#include "util.h" ++#include "internal/random.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(svec); +diff --git a/lib/syslog-direct.c b/lib/syslog-direct.c +index fd23a050e..9b437d0c7 100644 +--- a/lib/syslog-direct.c ++++ b/lib/syslog-direct.c +@@ -22,9 +22,9 @@ + + #include "openvswitch/compiler.h" + #include "openvswitch/dynamic-string.h" +-#include "socket-util.h" ++#include "internal/socket-util.h" + #include "syslog-provider.h" +-#include "util.h" ++#include "internal/util.h" + + #define FACILITY_MASK 0x03f8 + +diff --git a/lib/syslog-libc.c b/lib/syslog-libc.c +index f3f3e24c0..20f92b6f8 100644 +--- a/lib/syslog-libc.c ++++ b/lib/syslog-libc.c +@@ -23,9 +23,9 @@ + + #include "openvswitch/compiler.h" + #include "openvswitch/dynamic-string.h" +-#include "socket-util.h" ++#include "internal/socket-util.h" + #include "syslog-provider.h" +-#include "util.h" ++#include "internal/util.h" + + + static void syslog_libc_open(struct syslogger *this, int facility); +diff --git a/lib/syslog-null.c b/lib/syslog-null.c +index 294795f71..fcf3c8f4e 100644 +--- a/lib/syslog-null.c ++++ b/lib/syslog-null.c +@@ -19,7 +19,7 @@ + + #include "openvswitch/compiler.h" + #include "syslog-provider.h" +-#include "util.h" ++#include "internal/util.h" + + static void syslog_null_open(struct syslogger *this, int facility); + static void syslog_null_log(struct syslogger *this, int pri, const char *msg); +diff --git a/lib/table.c b/lib/table.c +index 48d18b651..877600045 100644 +--- a/lib/table.c ++++ b/lib/table.c +@@ -16,14 +16,14 @@ + + #include + +-#include "table.h" ++#include "internal/table.h" + + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" +-#include "ovsdb-data.h" +-#include "ovsdb-error.h" +-#include "timeval.h" +-#include "util.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-error.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + struct column { + char *heading; +diff --git a/lib/tc.c b/lib/tc.c +index adb2d3182..d4038293a 100644 +--- a/lib/tc.c ++++ b/lib/tc.c +@@ -35,15 +35,15 @@ + #include + #include + +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "netlink-socket.h" +-#include "netlink.h" ++#include "internal/netlink.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/util.h" + #include "openvswitch/vlog.h" +-#include "packets.h" +-#include "timeval.h" +-#include "unaligned.h" ++#include "internal/packets.h" ++#include "internal/timeval.h" ++#include "internal/unaligned.h" + + #define MAX_PEDIT_OFFSETS 32 + +diff --git a/lib/timer.c b/lib/timer.c +index 815ec3599..317008be9 100644 +--- a/lib/timer.c ++++ b/lib/timer.c +@@ -16,10 +16,10 @@ + + #include + +-#include "timer.h" ++#include "internal/timer.h" + + #include "openvswitch/poll-loop.h" +-#include "timeval.h" ++#include "internal/timeval.h" + + /* Returns the number of milliseconds until 'timer' expires. */ + long long int +diff --git a/lib/timeval.c b/lib/timeval.c +index 193c7bab1..087e82f5e 100644 +--- a/lib/timeval.c ++++ b/lib/timeval.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include "timeval.h" ++#include "internal/timeval.h" + #include + #include + #include +@@ -25,18 +25,18 @@ + #include + #include + #include +-#include "coverage.h" ++#include "internal/coverage.h" + #include "dummy.h" + #include "openvswitch/dynamic-string.h" +-#include "fatal-signal.h" +-#include "hash.h" ++#include "internal/fatal-signal.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" +-#include "ovs-rcu.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-rcu.h" ++#include "openvswitch/ovs-thread.h" + #include "signals.h" +-#include "seq.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/seq.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(timeval); +diff --git a/lib/tnl-neigh-cache.c b/lib/tnl-neigh-cache.c +index bdff1debc..f3df19ba4 100644 +--- a/lib/tnl-neigh-cache.c ++++ b/lib/tnl-neigh-cache.c +@@ -24,24 +24,24 @@ + #include + #include + +-#include "bitmap.h" +-#include "cmap.h" +-#include "coverage.h" ++#include "internal/bitmap.h" ++#include "internal/cmap.h" ++#include "internal/coverage.h" + #include "dpif-netdev.h" + #include "openvswitch/dynamic-string.h" + #include "errno.h" +-#include "flow.h" +-#include "netdev.h" +-#include "ovs-atomic.h" +-#include "ovs-thread.h" +-#include "packets.h" ++#include "internal/flow.h" ++#include "internal/netdev.h" ++#include "openvswitch/ovs-atomic.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "seq.h" +-#include "socket-util.h" +-#include "timeval.h" +-#include "unaligned.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/seq.h" ++#include "internal/socket-util.h" ++#include "internal/timeval.h" ++#include "internal/unaligned.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + +diff --git a/lib/tnl-neigh-cache.h b/lib/tnl-neigh-cache.h +index 877bca312..94d8e489c 100644 +--- a/lib/tnl-neigh-cache.h ++++ b/lib/tnl-neigh-cache.h +@@ -26,10 +26,10 @@ + #include + #include + +-#include "flow.h" +-#include "netdev.h" +-#include "packets.h" +-#include "util.h" ++#include "internal/flow.h" ++#include "internal/netdev.h" ++#include "internal/packets.h" ++#include "internal/util.h" + + int tnl_neigh_snoop(const struct flow *flow, struct flow_wildcards *wc, + const char dev_name[IFNAMSIZ], bool allow_update); +diff --git a/lib/tnl-ports.c b/lib/tnl-ports.c +index 58269d3b1..a017e069d 100644 +--- a/lib/tnl-ports.c ++++ b/lib/tnl-ports.c +@@ -22,16 +22,16 @@ + #include + #include + +-#include "classifier.h" ++#include "internal/classifier.h" + #include "openvswitch/dynamic-string.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/list.h" +-#include "netdev.h" ++#include "internal/netdev.h" + #include "openvswitch/ofpbuf.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "odp-util.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + + static struct ovs_mutex mutex = OVS_MUTEX_INITIALIZER; + static struct classifier cls; /* Tunnel ports. */ +diff --git a/lib/tnl-ports.h b/lib/tnl-ports.h +index 61ca0f8e2..21fb28a40 100644 +--- a/lib/tnl-ports.h ++++ b/lib/tnl-ports.h +@@ -20,9 +20,9 @@ + #include + #include + +-#include "flow.h" +-#include "packets.h" +-#include "util.h" ++#include "internal/flow.h" ++#include "internal/packets.h" ++#include "internal/util.h" + + odp_port_t tnl_port_map_lookup(struct flow *flow, struct flow_wildcards *wc); + +diff --git a/lib/token-bucket.c b/lib/token-bucket.c +index 0badeb46b..c619bfbb0 100644 +--- a/lib/token-bucket.c ++++ b/lib/token-bucket.c +@@ -20,8 +20,8 @@ + + #include "openvswitch/poll-loop.h" + #include "sat-math.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + /* Initializes 'tb' to accumulate 'rate' tokens per millisecond, with a + * maximum of 'burst' tokens. +diff --git a/lib/tun-metadata.c b/lib/tun-metadata.c +index 168634a74..25795cbf2 100644 +--- a/lib/tun-metadata.c ++++ b/lib/tun-metadata.c +@@ -18,17 +18,17 @@ + #include + #include + +-#include "bitmap.h" ++#include "internal/bitmap.h" + #include "openvswitch/compiler.h" + #include "openvswitch/hmap.h" + #include "openvswitch/match.h" +-#include "nx-match.h" ++#include "internal/nx-match.h" + #include "odp-netlink.h" + #include "openvswitch/ofp-match.h" +-#include "ovs-rcu.h" +-#include "packets.h" +-#include "tun-metadata.h" +-#include "util.h" ++#include "openvswitch/ovs-rcu.h" ++#include "internal/packets.h" ++#include "internal/tun-metadata-private.h" ++#include "internal/util.h" + + struct tun_meta_entry { + struct hmap_node node; /* In struct tun_table's key_hmap. */ +diff --git a/lib/unicode.c b/lib/unicode.c +index 846896da0..7040b3bd6 100644 +--- a/lib/unicode.c ++++ b/lib/unicode.c +@@ -21,7 +21,7 @@ + #include + + #include "openvswitch/dynamic-string.h" +-#include "util.h" ++#include "internal/util.h" + + /* Returns the unicode code point corresponding to leading surrogate 'leading' + * and trailing surrogate 'trailing'. The return value will not make any +diff --git a/lib/unixctl.c b/lib/unixctl.c +index 69aed6722..ad63a71bd 100644 +--- a/lib/unixctl.c ++++ b/lib/unixctl.c +@@ -15,20 +15,20 @@ + */ + + #include +-#include "unixctl.h" ++#include "internal/unixctl.h" + #include + #include +-#include "coverage.h" +-#include "dirs.h" ++#include "internal/coverage.h" ++#include "internal/dirs.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" +-#include "jsonrpc.h" ++#include "internal/jsonrpc.h" + #include "openvswitch/list.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/shash.h" +-#include "stream.h" ++#include "internal/stream.h" + #include "stream-provider.h" +-#include "svec.h" ++#include "internal/svec.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(unixctl); +diff --git a/lib/userspace-tso.c b/lib/userspace-tso.c +index f843c2a76..19e65b190 100644 +--- a/lib/userspace-tso.c ++++ b/lib/userspace-tso.c +@@ -16,8 +16,8 @@ + + #include + +-#include "smap.h" +-#include "ovs-thread.h" ++#include "internal/smap.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/vlog.h" + #include "dpdk.h" + #include "userspace-tso.h" +diff --git a/lib/util.c b/lib/util.c +index eb2341422..7ea2e0cba 100644 +--- a/lib/util.c ++++ b/lib/util.c +@@ -15,7 +15,7 @@ + */ + + #include +-#include "util.h" ++#include "internal/util.h" + #include + #include + #include +@@ -27,13 +27,13 @@ + #include + #include + #include +-#include "bitmap.h" +-#include "byte-order.h" +-#include "coverage.h" +-#include "ovs-rcu.h" +-#include "ovs-thread.h" +-#include "socket-util.h" +-#include "timeval.h" ++#include "internal/bitmap.h" ++#include "internal/byte-order.h" ++#include "internal/coverage.h" ++#include "openvswitch/ovs-rcu.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/socket-util.h" ++#include "internal/timeval.h" + #include "openvswitch/vlog.h" + #ifdef HAVE_PTHREAD_SET_NAME_NP + #include +diff --git a/lib/util.h b/lib/util.h +index 964fb4f20..4f40319c4 100644 +--- a/lib/util.h ++++ b/lib/util.h +@@ -27,7 +27,6 @@ + #include + #include + #include "openvswitch/compiler.h" +-#include "util.h" + #include "openvswitch/util.h" + #if defined(__aarch64__) && __GNUC__ >= 6 + #include +diff --git a/lib/uuid.c b/lib/uuid.c +index 8a16606da..0c42179bf 100644 +--- a/lib/uuid.c ++++ b/lib/uuid.c +@@ -15,7 +15,7 @@ + + #include + +-#include "uuid.h" ++#include "internal/uuid.h" + + #include + #include +@@ -26,13 +26,13 @@ + + #include "aes128.h" + #include "entropy.h" +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "openvswitch/vlog.h" + #include "ovs-replay.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "sha1.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(uuid); + +diff --git a/lib/vconn-provider.h b/lib/vconn-provider.h +index 523f26f39..f81949e0e 100644 +--- a/lib/vconn-provider.h ++++ b/lib/vconn-provider.h +@@ -21,7 +21,7 @@ + * OpenFlow device. */ + + #include "openvswitch/vconn.h" +-#include "util.h" ++#include "internal/util.h" + #include "openflow/openflow-common.h" + + /* Active virtual connection to an OpenFlow device. */ +diff --git a/lib/vconn-stream.c b/lib/vconn-stream.c +index 0794ecc05..b8480a2dc 100644 +--- a/lib/vconn-stream.c ++++ b/lib/vconn-stream.c +@@ -21,13 +21,13 @@ + #include + #include + #include +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "openvswitch/ofpbuf.h" + #include "openflow/openflow.h" + #include "openvswitch/poll-loop.h" +-#include "socket-util.h" +-#include "stream.h" +-#include "util.h" ++#include "internal/socket-util.h" ++#include "internal/stream.h" ++#include "internal/util.h" + #include "vconn-provider.h" + #include "openvswitch/vconn.h" + #include "openvswitch/vlog.h" +diff --git a/lib/vconn.c b/lib/vconn.c +index 7415e6291..aa964ffdb 100644 +--- a/lib/vconn.c ++++ b/lib/vconn.c +@@ -23,9 +23,9 @@ + #include + #include + #include +-#include "coverage.h" +-#include "fatal-signal.h" +-#include "flow.h" ++#include "internal/coverage.h" ++#include "internal/fatal-signal.h" ++#include "internal/flow.h" + #include "openflow/nicira-ext.h" + #include "openflow/openflow.h" + #include "openvswitch/dynamic-string.h" +@@ -36,11 +36,11 @@ + #include "openvswitch/ofp-util.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "random.h" +-#include "util.h" +-#include "socket-util.h" ++#include "internal/random.h" ++#include "internal/util.h" ++#include "internal/socket-util.h" + + VLOG_DEFINE_THIS_MODULE(vconn); + +diff --git a/lib/vl-mff-map.h b/lib/vl-mff-map.h +index 136492cb1..a36fca66f 100644 +--- a/lib/vl-mff-map.h ++++ b/lib/vl-mff-map.h +@@ -17,7 +17,7 @@ + #ifndef VL_MFF_MAP_H + #define VL_MFF_MAP_H 1 + +-#include "cmap.h" ++#include "internal/cmap.h" + #include "openvswitch/thread.h" + + /* Variable length mf_fields mapping map. This is a single writer, +diff --git a/lib/vlan-bitmap.h b/lib/vlan-bitmap.h +index 3e2e82062..e3a751c59 100644 +--- a/lib/vlan-bitmap.h ++++ b/lib/vlan-bitmap.h +@@ -18,7 +18,7 @@ + + #include + #include +-#include "bitmap.h" ++#include "internal/bitmap.h" + + /* A "VLAN bitmap" is a 4096-bit bitmap that represents a set. A 1-bit + * indicates that the respective VLAN is a member of the set, a 0-bit indicates +diff --git a/lib/vlog.c b/lib/vlog.c +index 533f93755..3a122bcc1 100644 +--- a/lib/vlog.c ++++ b/lib/vlog.c +@@ -29,21 +29,21 @@ + #include + #include + #include "async-append.h" +-#include "coverage.h" +-#include "dirs.h" ++#include "internal/coverage.h" ++#include "internal/dirs.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/ofpbuf.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "sat-math.h" +-#include "socket-util.h" +-#include "svec.h" ++#include "internal/socket-util.h" ++#include "internal/svec.h" + #include "syslog-direct.h" + #include "syslog-libc.h" + #include "syslog-null.h" + #include "syslog-provider.h" +-#include "timeval.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(vlog); + +diff --git a/lib/wmi.c b/lib/wmi.c +index 44c1d75e9..7ef6d006f 100644 +--- a/lib/wmi.c ++++ b/lib/wmi.c +@@ -20,7 +20,7 @@ + #include + #include + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(wmi); + +diff --git a/ofproto/bond.c b/ofproto/bond.c +index cdfdf0b9d..810215edd 100644 +--- a/ofproto/bond.c ++++ b/ofproto/bond.c +@@ -24,12 +24,12 @@ + #include + + #include "connectivity.h" +-#include "coverage.h" +-#include "dp-packet.h" +-#include "flow.h" ++#include "internal/coverage.h" ++#include "internal/dp-packet.h" ++#include "internal/flow.h" + #include "openvswitch/hmap.h" + #include "lacp.h" +-#include "netdev.h" ++#include "internal/netdev.h" + #include "odp-util.h" + #include "ofproto/ofproto-dpif.h" + #include "ofproto/ofproto-dpif-rid.h" +@@ -40,13 +40,13 @@ + #include "openvswitch/ofp-actions.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "seq.h" ++#include "internal/seq.h" + #include "openvswitch/shash.h" +-#include "timeval.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(bond); + +diff --git a/ofproto/bond.h b/ofproto/bond.h +index 1683ec878..f195e551d 100644 +--- a/ofproto/bond.h ++++ b/ofproto/bond.h +@@ -20,7 +20,7 @@ + #include + #include + #include "ofproto-provider.h" +-#include "packets.h" ++#include "internal/packets.h" + + struct flow; + struct netdev; +diff --git a/ofproto/bundles.c b/ofproto/bundles.c +index 405ec8cc1..7012075e9 100644 +--- a/ofproto/bundles.c ++++ b/ofproto/bundles.c +@@ -19,7 +19,7 @@ + #include + + #include "bundles.h" +-#include "coverage.h" ++#include "internal/coverage.h" + #include "fail-open.h" + #include "in-band.h" + #include "odp-util.h" +@@ -33,9 +33,9 @@ + #include "openvswitch/poll-loop.h" + #include "openvswitch/rconn.h" + #include "openvswitch/shash.h" +-#include "simap.h" +-#include "stream.h" +-#include "timeval.h" ++#include "internal/simap.h" ++#include "internal/stream.h" ++#include "internal/timeval.h" + + VLOG_DEFINE_THIS_MODULE(bundles); + +diff --git a/ofproto/bundles.h b/ofproto/bundles.h +index 1164fddd8..b381b9194 100644 +--- a/ofproto/bundles.h ++++ b/ofproto/bundles.h +@@ -24,7 +24,7 @@ + #include "connmgr.h" + #include "ofproto-provider.h" + #include "openvswitch/ofp-msgs.h" +-#include "util.h" ++#include "internal/util.h" + + #ifdef __cplusplus + extern "C" { +diff --git a/ofproto/collectors.c b/ofproto/collectors.c +index bb6ae021f..1ae246df0 100644 +--- a/ofproto/collectors.c ++++ b/ofproto/collectors.c +@@ -23,9 +23,9 @@ + #include + #include + +-#include "socket-util.h" +-#include "sset.h" +-#include "util.h" ++#include "internal/socket-util.h" ++#include "internal/sset.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(collectors); +diff --git a/ofproto/connmgr.c b/ofproto/connmgr.c +index fa8f6cd0e..10ed18492 100644 +--- a/ofproto/connmgr.c ++++ b/ofproto/connmgr.c +@@ -20,7 +20,7 @@ + + #include "bundles.h" + #include "connmgr.h" +-#include "coverage.h" ++#include "internal/coverage.h" + #include "fail-open.h" + #include "in-band.h" + #include "odp-util.h" +@@ -32,16 +32,16 @@ + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vconn.h" + #include "openvswitch/vlog.h" +-#include "ovs-atomic.h" ++#include "openvswitch/ovs-atomic.h" + #include "pinsched.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/rconn.h" + #include "openvswitch/shash.h" + #include "sat-math.h" +-#include "simap.h" +-#include "stream.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/simap.h" ++#include "internal/stream.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(connmgr); + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 5); +diff --git a/ofproto/connmgr.h b/ofproto/connmgr.h +index e299386c7..d44a9fc87 100644 +--- a/ofproto/connmgr.h ++++ b/ofproto/connmgr.h +@@ -17,7 +17,7 @@ + #ifndef CONNMGR_H + #define CONNMGR_H 1 + +-#include "classifier.h" ++#include "internal/classifier.h" + #include "openvswitch/hmap.h" + #include "openvswitch/list.h" + #include "openvswitch/match.h" +diff --git a/ofproto/fail-open.c b/ofproto/fail-open.c +index 34b398eca..850ffa066 100644 +--- a/ofproto/fail-open.c ++++ b/ofproto/fail-open.c +@@ -17,11 +17,11 @@ + #include + #include + #include +-#include "classifier.h" ++#include "internal/classifier.h" + #include "connmgr.h" +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "fail-open.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "mac-learning.h" + #include "odp-util.h" + #include "openvswitch/ofp-actions.h" +@@ -32,7 +32,7 @@ + #include "ofproto-provider.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/rconn.h" +-#include "timeval.h" ++#include "internal/timeval.h" + + VLOG_DEFINE_THIS_MODULE(fail_open); + +diff --git a/ofproto/in-band.c b/ofproto/in-band.c +index 82d8dfa14..b804d124e 100644 +--- a/ofproto/in-band.c ++++ b/ofproto/in-band.c +@@ -24,12 +24,12 @@ + #include + #include + #include +-#include "classifier.h" +-#include "dhcp.h" +-#include "flow.h" ++#include "internal/classifier.h" ++#include "internal/dhcp.h" ++#include "internal/flow.h" + #include "in-band.h" +-#include "netdev.h" +-#include "netlink.h" ++#include "internal/netdev.h" ++#include "internal/netlink.h" + #include "odp-util.h" + #include "ofproto.h" + #include "ofproto-provider.h" +@@ -37,9 +37,9 @@ + #include "openvswitch/ofp-actions.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "timeval.h" ++#include "internal/timeval.h" + + VLOG_DEFINE_THIS_MODULE(in_band); + +diff --git a/ofproto/in-band.h b/ofproto/in-band.h +index 3debd0128..4bb5e191f 100644 +--- a/ofproto/in-band.h ++++ b/ofproto/in-band.h +@@ -22,7 +22,7 @@ + #include + #include + #include +-#include "flow.h" ++#include "internal/flow.h" + + struct flow; + struct in_band; +diff --git a/ofproto/netflow.c b/ofproto/netflow.c +index ed58de17d..fa29aa820 100644 +--- a/ofproto/netflow.c ++++ b/ofproto/netflow.c +@@ -22,19 +22,19 @@ + #include + #include + #include +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "collectors.h" + #include "dpif.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "lib/netflow.h" + #include "openvswitch/ofpbuf.h" + #include "ofproto.h" + #include "ofproto/netflow.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "socket-util.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/socket-util.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(netflow); +diff --git a/ofproto/netflow.h b/ofproto/netflow.h +index 688a35d5c..37af68eb4 100644 +--- a/ofproto/netflow.h ++++ b/ofproto/netflow.h +@@ -18,8 +18,8 @@ + #define OFPROTO_NETFLOW_H 1 + + #include +-#include "flow.h" +-#include "sset.h" ++#include "internal/flow.h" ++#include "internal/sset.h" + + /* Default active timeout interval, in seconds. + * +diff --git a/ofproto/ofproto-dpif-ipfix.c b/ofproto/ofproto-dpif-ipfix.c +index 9280e008e..939a55454 100644 +--- a/ofproto/ofproto-dpif-ipfix.c ++++ b/ofproto/ofproto-dpif-ipfix.c +@@ -17,23 +17,23 @@ + #include + #include "ofproto-dpif-ipfix.h" + #include +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "collectors.h" +-#include "flow.h" +-#include "hash.h" ++#include "internal/flow.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" +-#include "netdev.h" ++#include "internal/netdev.h" + #include "openvswitch/list.h" + #include "openvswitch/ofp-ipfix.h" + #include "openvswitch/ofpbuf.h" + #include "ofproto.h" + #include "ofproto-dpif.h" +-#include "dp-packet.h" +-#include "packets.h" ++#include "internal/dp-packet.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "sset.h" +-#include "util.h" +-#include "timeval.h" ++#include "internal/sset.h" ++#include "internal/util.h" ++#include "internal/timeval.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(ipfix); +diff --git a/ofproto/ofproto-dpif-mirror.c b/ofproto/ofproto-dpif-mirror.c +index 343b75f0e..2fd7b1cad 100644 +--- a/ofproto/ofproto-dpif-mirror.c ++++ b/ofproto/ofproto-dpif-mirror.c +@@ -18,8 +18,8 @@ + + #include + +-#include "cmap.h" +-#include "hmapx.h" ++#include "internal/cmap.h" ++#include "internal/hmapx.h" + #include "ofproto.h" + #include "vlan-bitmap.h" + #include "openvswitch/vlog.h" +diff --git a/ofproto/ofproto-dpif-mirror.h b/ofproto/ofproto-dpif-mirror.h +index eed63ec4a..3006c195d 100644 +--- a/ofproto/ofproto-dpif-mirror.h ++++ b/ofproto/ofproto-dpif-mirror.h +@@ -17,7 +17,7 @@ + + #include + +-#include "util.h" ++#include "internal/util.h" + + #define MAX_MIRRORS 32 + typedef uint32_t mirror_mask_t; +diff --git a/ofproto/ofproto-dpif-monitor.c b/ofproto/ofproto-dpif-monitor.c +index bb0e49091..636f30b09 100644 +--- a/ofproto/ofproto-dpif-monitor.c ++++ b/ofproto/ofproto-dpif-monitor.c +@@ -21,20 +21,20 @@ + + #include "bfd.h" + #include "cfm.h" +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "guarded-list.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "heap.h" + #include "openvswitch/hmap.h" +-#include "latch.h" ++#include "internal/latch.h" + #include "openvswitch/ofpbuf.h" + #include "ofproto-dpif.h" + #include "ovs-lldp.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/poll-loop.h" +-#include "seq.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/seq.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(ofproto_dpif_monitor); +diff --git a/ofproto/ofproto-dpif-monitor.h b/ofproto/ofproto-dpif-monitor.h +index 7d6d0da87..761b40f64 100644 +--- a/ofproto/ofproto-dpif-monitor.h ++++ b/ofproto/ofproto-dpif-monitor.h +@@ -18,7 +18,7 @@ + #include + + #include "openflow/openflow.h" +-#include "packets.h" ++#include "internal/packets.h" + + struct bfd; + struct cfm; +diff --git a/ofproto/ofproto-dpif-rid.h b/ofproto/ofproto-dpif-rid.h +index 4df630c62..db157e7d0 100644 +--- a/ofproto/ofproto-dpif-rid.h ++++ b/ofproto/ofproto-dpif-rid.h +@@ -20,13 +20,13 @@ + #include + #include + +-#include "cmap.h" ++#include "internal/cmap.h" + #include "ofproto-dpif-mirror.h" + #include "ofproto/ofproto-provider.h" + #include "openvswitch/list.h" + #include "openvswitch/ofp-actions.h" +-#include "ovs-thread.h" +-#include "uuid.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/uuid.h" + + struct ofproto_dpif; + struct rule; +diff --git a/ofproto/ofproto-dpif-sflow.c b/ofproto/ofproto-dpif-sflow.c +index 772881b0d..cb0aec052 100644 +--- a/ofproto/ofproto-dpif-sflow.c ++++ b/ofproto/ofproto-dpif-sflow.c +@@ -25,22 +25,22 @@ + #include "collectors.h" + #include "openvswitch/compiler.h" + #include "dpif.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" +-#include "netdev.h" +-#include "netlink.h" ++#include "internal/netdev.h" ++#include "internal/netlink.h" + #include "openvswitch/ofpbuf.h" + #include "ofproto.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" + #include "ovs-router.h" + #include "route-table.h" + #include "sflow_api.h" +-#include "socket-util.h" +-#include "timeval.h" ++#include "internal/socket-util.h" ++#include "internal/timeval.h" + #include "openvswitch/vlog.h" + #include "lib/odp-util.h" +-#include "lib/unaligned.h" ++#include "internal/unaligned.h" + #include "ofproto-provider.h" + #include "lacp.h" + +diff --git a/ofproto/ofproto-dpif-sflow.h b/ofproto/ofproto-dpif-sflow.h +index c5d9b8aad..4fe986967 100644 +--- a/ofproto/ofproto-dpif-sflow.h ++++ b/ofproto/ofproto-dpif-sflow.h +@@ -19,7 +19,7 @@ + #define OFPROTO_DPIF_SFLOW_H 1 + + #include +-#include "svec.h" ++#include "internal/svec.h" + #include "lib/odp-util.h" + + struct dpif; +diff --git a/ofproto/ofproto-dpif-trace.c b/ofproto/ofproto-dpif-trace.c +index 78a54c715..fed6cf928 100644 +--- a/ofproto/ofproto-dpif-trace.c ++++ b/ofproto/ofproto-dpif-trace.c +@@ -21,7 +21,7 @@ + #include "conntrack.h" + #include "dpif.h" + #include "ofproto-dpif-xlate.h" +-#include "unixctl.h" ++#include "internal/unixctl.h" + + static void oftrace_node_destroy(struct oftrace_node *); + +diff --git a/ofproto/ofproto-dpif-trace.h b/ofproto/ofproto-dpif-trace.h +index 4b04f1756..280eabb82 100644 +--- a/ofproto/ofproto-dpif-trace.h ++++ b/ofproto/ofproto-dpif-trace.h +@@ -32,7 +32,7 @@ + #include "ofproto/ofproto-dpif.h" + #include "openvswitch/compiler.h" + #include "openvswitch/list.h" +-#include "flow.h" ++#include "internal/flow.h" + + /* Type of a node within a trace. */ + enum oftrace_node_type { +diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c +index 57f94df54..e1cf5fbb5 100644 +--- a/ofproto/ofproto-dpif-upcall.c ++++ b/ofproto/ofproto-dpif-upcall.c +@@ -20,28 +20,28 @@ + #include + + #include "connmgr.h" +-#include "coverage.h" +-#include "cmap.h" ++#include "internal/coverage.h" ++#include "internal/cmap.h" + #include "lib/dpif-provider.h" + #include "dpif.h" + #include "openvswitch/dynamic-string.h" + #include "fail-open.h" + #include "guarded-list.h" +-#include "latch.h" ++#include "internal/latch.h" + #include "openvswitch/list.h" +-#include "netlink.h" ++#include "internal/netlink.h" + #include "openvswitch/ofpbuf.h" + #include "ofproto-dpif-ipfix.h" + #include "ofproto-dpif-sflow.h" + #include "ofproto-dpif-xlate.h" + #include "ofproto-dpif-xlate-cache.h" + #include "ofproto-dpif-trace.h" +-#include "ovs-rcu.h" +-#include "packets.h" ++#include "openvswitch/ovs-rcu.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "seq.h" ++#include "internal/seq.h" + #include "tunnel.h" +-#include "unixctl.h" ++#include "internal/unixctl.h" + #include "openvswitch/vlog.h" + #include "lib/netdev-provider.h" + +diff --git a/ofproto/ofproto-dpif-xlate-cache.c b/ofproto/ofproto-dpif-xlate-cache.c +index dcc91cb38..6c6c15381 100644 +--- a/ofproto/ofproto-dpif-xlate-cache.c ++++ b/ofproto/ofproto-dpif-xlate-cache.c +@@ -24,13 +24,13 @@ + #include + + #include "bfd.h" +-#include "bitmap.h" ++#include "internal/bitmap.h" + #include "bond.h" +-#include "bundle.h" +-#include "byte-order.h" ++#include "internal/bundle.h" ++#include "internal/byte-order.h" + #include "connmgr.h" +-#include "coverage.h" +-#include "dp-packet.h" ++#include "internal/coverage.h" ++#include "internal/dp-packet.h" + #include "dpif.h" + #include "learn.h" + #include "mac-learning.h" +@@ -42,9 +42,9 @@ + #include "openvswitch/dynamic-string.h" + #include "openvswitch/vlog.h" + #include "ovs-router.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "tnl-neigh-cache.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(ofproto_xlate_cache); + +diff --git a/ofproto/ofproto-dpif-xlate-cache.h b/ofproto/ofproto-dpif-xlate-cache.h +index 114aff8ea..279d31560 100644 +--- a/ofproto/ofproto-dpif-xlate-cache.h ++++ b/ofproto/ofproto-dpif-xlate-cache.h +@@ -21,7 +21,7 @@ + #include + + #include "openvswitch/types.h" +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "odp-util.h" + #include "ofproto/ofproto-dpif-mirror.h" + #include "openvswitch/ofpbuf.h" +diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c +index 578cbfe58..cf0a5e760 100644 +--- a/ofproto/ofproto-dpif-xlate.c ++++ b/ofproto/ofproto-dpif-xlate.c +@@ -24,25 +24,25 @@ + #include + + #include "bfd.h" +-#include "bitmap.h" ++#include "internal/bitmap.h" + #include "bond.h" +-#include "bundle.h" +-#include "byte-order.h" ++#include "internal/bundle.h" ++#include "internal/byte-order.h" + #include "cfm.h" + #include "connmgr.h" +-#include "coverage.h" +-#include "csum.h" +-#include "dp-packet.h" ++#include "internal/coverage.h" ++#include "internal/csum.h" ++#include "internal/dp-packet.h" + #include "dpif.h" + #include "in-band.h" + #include "lacp.h" + #include "learn.h" + #include "mac-learning.h" +-#include "mcast-snooping.h" ++#include "internal/mcast-snooping.h" + #include "multipath.h" + #include "netdev-vport.h" +-#include "netlink.h" +-#include "nx-match.h" ++#include "internal/netlink.h" ++#include "internal/nx-match.h" + #include "odp-execute.h" + #include "ofproto/ofproto-dpif-ipfix.h" + #include "ofproto/ofproto-dpif-mirror.h" +@@ -60,12 +60,12 @@ + #include "openvswitch/vlog.h" + #include "ovs-lldp.h" + #include "ovs-router.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "tnl-neigh-cache.h" + #include "tnl-ports.h" + #include "tunnel.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + + COVERAGE_DEFINE(xlate_actions); + COVERAGE_DEFINE(xlate_actions_oversize); +diff --git a/ofproto/ofproto-dpif-xlate.h b/ofproto/ofproto-dpif-xlate.h +index 851088d79..6f294e6f2 100644 +--- a/ofproto/ofproto-dpif-xlate.h ++++ b/ofproto/ofproto-dpif-xlate.h +@@ -15,8 +15,8 @@ + #ifndef OFPROTO_DPIF_XLATE_H + #define OFPROTO_DPIF_XLATE_H 1 + +-#include "dp-packet.h" +-#include "flow.h" ++#include "internal/dp-packet.h" ++#include "internal/flow.h" + #include "openvswitch/meta-flow.h" + #include "odp-util.h" + #include "openvswitch/ofpbuf.h" +@@ -26,7 +26,7 @@ + #include "ofproto.h" + #include "stp.h" + #include "ovs-lldp.h" +-#include "uuid.h" ++#include "internal/uuid.h" + + struct bfd; + struct bond; +diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c +index 8143dd965..28f77611d 100644 +--- a/ofproto/ofproto-dpif.c ++++ b/ofproto/ofproto-dpif.c +@@ -18,26 +18,26 @@ + + #include "bfd.h" + #include "bond.h" +-#include "bundle.h" +-#include "byte-order.h" ++#include "internal/bundle.h" ++#include "internal/byte-order.h" + #include "connectivity.h" + #include "connmgr.h" +-#include "coverage.h" ++#include "internal/coverage.h" + #include "cfm.h" + #include "ct-dpif.h" + #include "fail-open.h" + #include "guarded-list.h" +-#include "hmapx.h" ++#include "internal/hmapx.h" + #include "lacp.h" + #include "learn.h" + #include "mac-learning.h" + #include "math.h" +-#include "mcast-snooping.h" ++#include "internal/mcast-snooping.h" + #include "multipath.h" + #include "netdev-vport.h" +-#include "netdev.h" +-#include "netlink.h" +-#include "nx-match.h" ++#include "internal/netdev.h" ++#include "internal/netlink.h" ++#include "internal/nx-match.h" + #include "odp-util.h" + #include "odp-execute.h" + #include "ofproto/ofproto-dpif.h" +@@ -59,18 +59,18 @@ + #include "openvswitch/uuid.h" + #include "openvswitch/vlog.h" + #include "ovs-lldp.h" +-#include "ovs-rcu.h" ++#include "openvswitch/ovs-rcu.h" + #include "ovs-router.h" + #include "openvswitch/poll-loop.h" +-#include "seq.h" +-#include "simap.h" +-#include "smap.h" +-#include "timer.h" ++#include "internal/seq.h" ++#include "internal/simap.h" ++#include "internal/smap.h" ++#include "internal/timer.h" + #include "tunnel.h" +-#include "unaligned.h" +-#include "unixctl.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/unaligned.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + #include "vlan-bitmap.h" + + VLOG_DEFINE_THIS_MODULE(ofproto_dpif); +diff --git a/ofproto/ofproto-dpif.h b/ofproto/ofproto-dpif.h +index d8e0cd37a..95deb27b7 100644 +--- a/ofproto/ofproto-dpif.h ++++ b/ofproto/ofproto-dpif.h +@@ -48,12 +48,12 @@ + + #include "dpif.h" + #include "fail-open.h" +-#include "hmapx.h" ++#include "internal/hmapx.h" + #include "odp-util.h" +-#include "id-pool.h" +-#include "ovs-thread.h" ++#include "internal/id-pool.h" ++#include "openvswitch/ovs-thread.h" + #include "ofproto-provider.h" +-#include "util.h" ++#include "internal/util.h" + + struct dpif_flow_stats; + struct ofproto_async_msg; +diff --git a/ofproto/ofproto-provider.h b/ofproto/ofproto-provider.h +index 14b909973..932baba6d 100644 +--- a/ofproto/ofproto-provider.h ++++ b/ofproto/ofproto-provider.h +@@ -34,10 +34,10 @@ + */ + + #include "cfm.h" +-#include "classifier.h" ++#include "internal/classifier.h" + #include "guarded-list.h" + #include "heap.h" +-#include "hindex.h" ++#include "internal/hindex.h" + #include "object-collection.h" + #include "ofproto/ofproto.h" + #include "openvswitch/list.h" +@@ -49,14 +49,14 @@ + #include "openvswitch/ofp-port.h" + #include "openvswitch/ofp-switch.h" + #include "openvswitch/ofp-table.h" +-#include "ovs-atomic.h" +-#include "ovs-rcu.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-atomic.h" ++#include "openvswitch/ovs-rcu.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/shash.h" +-#include "simap.h" +-#include "timeval.h" +-#include "tun-metadata.h" +-#include "versions.h" ++#include "internal/simap.h" ++#include "internal/timeval.h" ++#include "internal/tun-metadata-private.h" ++#include "internal/versions.h" + #include "vl-mff-map.h" + + struct match; +diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c +index 56aeac720..43b033733 100644 +--- a/ofproto/ofproto.c ++++ b/ofproto/ofproto.c +@@ -22,18 +22,18 @@ + #include + #include + +-#include "bitmap.h" ++#include "internal/bitmap.h" + #include "bundles.h" +-#include "byte-order.h" +-#include "classifier.h" ++#include "internal/byte-order.h" ++#include "internal/classifier.h" + #include "connectivity.h" + #include "connmgr.h" +-#include "coverage.h" +-#include "dp-packet.h" +-#include "hash.h" ++#include "internal/coverage.h" ++#include "internal/dp-packet.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" +-#include "netdev.h" +-#include "nx-match.h" ++#include "internal/netdev.h" ++#include "internal/nx-match.h" + #include "ofproto.h" + #include "ofproto-provider.h" + #include "openflow/nicira-ext.h" +@@ -51,21 +51,21 @@ + #include "openvswitch/ofp-util.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "ovs-rcu.h" +-#include "packets.h" ++#include "openvswitch/ovs-rcu.h" ++#include "internal/packets.h" + #include "pinsched.h" + #include "openvswitch/poll-loop.h" +-#include "random.h" +-#include "seq.h" ++#include "internal/random.h" ++#include "internal/seq.h" + #include "openvswitch/shash.h" +-#include "simap.h" +-#include "smap.h" +-#include "sset.h" +-#include "timeval.h" +-#include "tun-metadata.h" +-#include "unaligned.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/simap.h" ++#include "internal/smap.h" ++#include "internal/sset.h" ++#include "internal/timeval.h" ++#include "internal/tun-metadata-private.h" ++#include "internal/unaligned.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(ofproto); + +diff --git a/ofproto/ofproto.h b/ofproto/ofproto.h +index b0262da2d..fe48aad85 100644 +--- a/ofproto/ofproto.h ++++ b/ofproto/ofproto.h +@@ -23,13 +23,13 @@ + #include + #include + #include "cfm.h" +-#include "classifier.h" +-#include "flow.h" ++#include "internal/classifier.h" ++#include "internal/flow.h" + #include "openvswitch/meta-flow.h" + #include "netflow.h" + #include "rstp.h" +-#include "smap.h" +-#include "sset.h" ++#include "internal/smap.h" ++#include "internal/sset.h" + #include "stp.h" + #include "lacp.h" + +diff --git a/ofproto/pinsched.c b/ofproto/pinsched.c +index 59561f076..2409feafc 100644 +--- a/ofproto/pinsched.c ++++ b/ofproto/pinsched.c +@@ -21,16 +21,16 @@ + #include + #include + #include +-#include "flow.h" +-#include "hash.h" ++#include "internal/flow.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" + #include "openvswitch/ofpbuf.h" + #include "openflow/openflow.h" + #include "openvswitch/poll-loop.h" +-#include "random.h" ++#include "internal/random.h" + #include "openvswitch/rconn.h" + #include "sat-math.h" +-#include "timeval.h" ++#include "internal/timeval.h" + #include "openvswitch/token-bucket.h" + #include "openvswitch/vconn.h" + +diff --git a/ofproto/pinsched.h b/ofproto/pinsched.h +index 96993df9a..f4c1a0b7a 100644 +--- a/ofproto/pinsched.h ++++ b/ofproto/pinsched.h +@@ -18,7 +18,7 @@ + #define PINSCHED_H_H 1 + + #include +-#include "flow.h" ++#include "internal/flow.h" + + struct ovs_list; + struct ofpbuf; +diff --git a/ofproto/tunnel.c b/ofproto/tunnel.c +index 3455ed233..d0c55fd19 100644 +--- a/ofproto/tunnel.c ++++ b/ofproto/tunnel.c +@@ -15,27 +15,27 @@ + #include + #include + +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "connectivity.h" +-#include "csum.h" ++#include "internal/csum.h" + #include "dpif.h" + #include "openvswitch/dynamic-string.h" + #include "fat-rwlock.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" +-#include "netdev.h" ++#include "internal/netdev.h" + #include "odp-util.h" + #include "openvswitch/ofpbuf.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "route-table.h" +-#include "seq.h" +-#include "smap.h" +-#include "socket-util.h" ++#include "internal/seq.h" ++#include "internal/smap.h" ++#include "internal/socket-util.h" + #include "tnl-ports.h" + #include "tunnel.h" + #include "openvswitch/vlog.h" +-#include "unaligned.h" +-#include "unixctl.h" ++#include "internal/unaligned.h" ++#include "internal/unixctl.h" + #include "ofproto-dpif.h" + #include "netdev-vport.h" + +diff --git a/ofproto/tunnel.h b/ofproto/tunnel.h +index 323f3fa03..0c6af31b1 100644 +--- a/ofproto/tunnel.h ++++ b/ofproto/tunnel.h +@@ -18,7 +18,7 @@ + + #include + #include +-#include "flow.h" ++#include "internal/flow.h" + + /* Tunnel port emulation layer. + * +diff --git a/ovsdb/column.c b/ovsdb/column.c +index 9dfc8714f..494018998 100644 +--- a/ovsdb/column.c ++++ b/ovsdb/column.c +@@ -22,10 +22,10 @@ + #include "column.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" +-#include "ovsdb-error.h" +-#include "ovsdb-parser.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-parser.h" + #include "table.h" +-#include "util.h" ++#include "internal/util.h" + + struct ovsdb_column * + ovsdb_column_create(const char *name, +diff --git a/ovsdb/column.h b/ovsdb/column.h +index 890295629..da6b827e8 100644 +--- a/ovsdb/column.h ++++ b/ovsdb/column.h +@@ -18,7 +18,7 @@ + + #include + #include "openvswitch/compiler.h" +-#include "ovsdb-types.h" ++#include "openvswitch/ovsdb-types.h" + + struct ovsdb_table; + struct ovsdb_table_schema; +diff --git a/ovsdb/condition.c b/ovsdb/condition.c +index 388dd54a1..d4aa3b981 100644 +--- a/ovsdb/condition.c ++++ b/ovsdb/condition.c +@@ -21,13 +21,13 @@ + + #include "column.h" + #include "openvswitch/json.h" +-#include "ovsdb-error.h" ++#include "openvswitch/ovsdb-error.h" + #include "row.h" + + #include + + #include "table.h" +-#include "util.h" ++#include "internal/util.h" + + static struct ovsdb_error * + ovsdb_clause_from_json(const struct ovsdb_table_schema *ts, +diff --git a/ovsdb/condition.h b/ovsdb/condition.h +index 65728fb32..5212ddcb1 100644 +--- a/ovsdb/condition.h ++++ b/ovsdb/condition.h +@@ -18,9 +18,9 @@ + + #include + #include "openvswitch/compiler.h" +-#include "ovsdb-data.h" +-#include "bitmap.h" +-#include "ovsdb-condition.h" ++#include "openvswitch/ovsdb-data.h" ++#include "internal/bitmap.h" ++#include "openvswitch/ovsdb-condition.h" + + struct json; + struct ovsdb_table_schema; +diff --git a/ovsdb/execution.c b/ovsdb/execution.c +index f9b8067d0..e34362c33 100644 +--- a/ovsdb/execution.c ++++ b/ovsdb/execution.c +@@ -24,15 +24,15 @@ + #include "file.h" + #include "openvswitch/json.h" + #include "mutation.h" +-#include "ovsdb-data.h" +-#include "ovsdb-error.h" +-#include "ovsdb-parser.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-parser.h" + #include "query.h" + #include "rbac.h" + #include "row.h" + #include "server.h" + #include "table.h" +-#include "timeval.h" ++#include "internal/timeval.h" + #include "transaction.h" + + struct ovsdb_execution { +diff --git a/ovsdb/file.c b/ovsdb/file.c +index 9f44007d9..1689a9d4c 100644 +--- a/ovsdb/file.c ++++ b/ovsdb/file.c +@@ -21,22 +21,22 @@ + #include + #include + +-#include "bitmap.h" ++#include "internal/bitmap.h" + #include "column.h" + #include "log.h" + #include "openvswitch/json.h" + #include "lockfile.h" + #include "ovsdb.h" +-#include "ovsdb-error.h" ++#include "openvswitch/ovsdb-error.h" + #include "row.h" +-#include "socket-util.h" ++#include "internal/socket-util.h" + #include "storage.h" + #include "table.h" +-#include "timeval.h" ++#include "internal/timeval.h" + #include "transaction.h" +-#include "unixctl.h" +-#include "uuid.h" +-#include "util.h" ++#include "internal/unixctl.h" ++#include "internal/uuid.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(ovsdb_file); +diff --git a/ovsdb/jsonrpc-server.c b/ovsdb/jsonrpc-server.c +index 351c39d8a..25c7988c3 100644 +--- a/ovsdb/jsonrpc-server.c ++++ b/ovsdb/jsonrpc-server.c +@@ -19,28 +19,28 @@ + + #include + +-#include "bitmap.h" ++#include "internal/bitmap.h" + #include "column.h" + #include "openvswitch/dynamic-string.h" + #include "monitor.h" + #include "openvswitch/json.h" +-#include "jsonrpc.h" +-#include "ovsdb-error.h" +-#include "ovsdb-parser.h" ++#include "internal/jsonrpc.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-parser.h" + #include "ovsdb.h" + #include "condition.h" + #include "openvswitch/poll-loop.h" + #include "reconnect.h" + #include "row.h" + #include "server.h" +-#include "simap.h" ++#include "internal/simap.h" + #include "storage.h" +-#include "stream.h" ++#include "internal/stream.h" + #include "table.h" +-#include "timeval.h" ++#include "internal/timeval.h" + #include "transaction.h" + #include "trigger.h" +-#include "util.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(ovsdb_jsonrpc_server); +diff --git a/ovsdb/log.c b/ovsdb/log.c +index 4a28fa3db..29bb1c9f2 100644 +--- a/ovsdb/log.c ++++ b/ovsdb/log.c +@@ -28,17 +28,17 @@ + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" + #include "openvswitch/vlog.h" +-#include "ovs-atomic.h" +-#include "ovs-rcu.h" +-#include "ovs-thread.h" +-#include "ovsdb-error.h" ++#include "openvswitch/ovs-atomic.h" ++#include "openvswitch/ovs-rcu.h" ++#include "openvswitch/ovs-thread.h" ++#include "openvswitch/ovsdb-error.h" + #include "ovsdb.h" + #include "openvswitch/poll-loop.h" +-#include "seq.h" ++#include "internal/seq.h" + #include "sha1.h" +-#include "socket-util.h" ++#include "internal/socket-util.h" + #include "transaction.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(ovsdb_log); + +diff --git a/ovsdb/monitor.c b/ovsdb/monitor.c +index 0f222cc99..e5f8952e6 100644 +--- a/ovsdb/monitor.c ++++ b/ovsdb/monitor.c +@@ -18,24 +18,24 @@ + + #include + +-#include "bitmap.h" ++#include "internal/bitmap.h" + #include "column.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" +-#include "jsonrpc.h" +-#include "ovsdb-error.h" +-#include "ovsdb-parser.h" ++#include "internal/jsonrpc.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-parser.h" + #include "ovsdb.h" + #include "row.h" + #include "condition.h" +-#include "simap.h" +-#include "hash.h" ++#include "internal/simap.h" ++#include "internal/hash.h" + #include "table.h" +-#include "timeval.h" ++#include "internal/timeval.h" + #include "transaction.h" + #include "jsonrpc-server.h" + #include "monitor.h" +-#include "util.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(ovsdb_monitor); +diff --git a/ovsdb/mutation.c b/ovsdb/mutation.c +index 03d1c3499..67a1bee0a 100644 +--- a/ovsdb/mutation.c ++++ b/ovsdb/mutation.c +@@ -21,14 +21,14 @@ + #include + + #include "column.h" +-#include "ovsdb-error.h" ++#include "openvswitch/ovsdb-error.h" + #include "openvswitch/json.h" + #include "row.h" + + #include + + #include "table.h" +-#include "util.h" ++#include "internal/util.h" + + struct ovsdb_error * + ovsdb_mutator_from_string(const char *name, enum ovsdb_mutator *mutator) +diff --git a/ovsdb/mutation.h b/ovsdb/mutation.h +index dfb2d6940..3e6424abc 100644 +--- a/ovsdb/mutation.h ++++ b/ovsdb/mutation.h +@@ -18,7 +18,7 @@ + + #include + #include "openvswitch/compiler.h" +-#include "ovsdb-data.h" ++#include "openvswitch/ovsdb-data.h" + + struct json; + struct ovsdb_table_schema; +diff --git a/ovsdb/ovsdb-client.c b/ovsdb/ovsdb-client.c +index db5eebc17..34e669395 100644 +--- a/ovsdb/ovsdb-client.c ++++ b/ovsdb/ovsdb-client.c +@@ -26,37 +26,37 @@ + #include + #include + +-#include "command-line.h" ++#include "internal/command-line.h" + #include "column.h" + #include "openvswitch/compiler.h" +-#include "daemon.h" +-#include "dirs.h" ++#include "internal/daemon.h" ++#include "internal/dirs.h" + #include "openvswitch/dynamic-string.h" +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "file.h" + #include "openvswitch/json.h" +-#include "jsonrpc.h" +-#include "lib/table.h" ++#include "internal/jsonrpc.h" ++#include "internal/table.h" + #include "log.h" + #include "ovs-replay.h" + #include "ovsdb.h" +-#include "ovsdb-data.h" +-#include "ovsdb-error.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-error.h" + #include "ovsdb-session.h" + #include "openvswitch/poll-loop.h" + #include "row.h" +-#include "sort.h" +-#include "svec.h" ++#include "internal/sort.h" ++#include "internal/svec.h" + #include "storage.h" +-#include "stream.h" +-#include "stream-ssl.h" ++#include "internal/stream.h" ++#include "internal/stream-ssl.h" + #include "table.h" + #include "transaction.h" + #include "monitor.h" + #include "condition.h" +-#include "timeval.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(ovsdb_client); +diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in +index 10a70ae26..0aee9dff2 100755 +--- a/ovsdb/ovsdb-idlc.in ++++ b/ovsdb/ovsdb-idlc.in +@@ -193,10 +193,10 @@ def printCIDLHeader(schemaFile): + #include + #include + #include "openvswitch/json.h" +-#include "ovsdb-data.h" +-#include "ovsdb-idl-provider.h" +-#include "smap.h" +-#include "uuid.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-idl-provider.h" ++#include "internal/smap.h" ++#include "internal/uuid.h" + + #ifdef __cplusplus + extern "C" { +@@ -469,10 +469,10 @@ def printCIDLSource(schemaFile): + #include + #include %(header)s + #include +-#include "ovs-thread.h" +-#include "ovsdb-data.h" +-#include "ovsdb-error.h" +-#include "util.h" ++#include "openvswitch/ovs-thread.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-error.h" ++#include "internal/util.h" + + %(cDecls)s + +diff --git a/ovsdb/ovsdb-server.c b/ovsdb/ovsdb-server.c +index 9fe90592e..0edcd10fd 100644 +--- a/ovsdb/ovsdb-server.c ++++ b/ovsdb/ovsdb-server.c +@@ -23,41 +23,41 @@ + #include + + #include "column.h" +-#include "command-line.h" +-#include "daemon.h" +-#include "dirs.h" ++#include "internal/command-line.h" ++#include "internal/daemon.h" ++#include "internal/dirs.h" + #include "openvswitch/dynamic-string.h" +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "file.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/json.h" +-#include "jsonrpc.h" ++#include "internal/jsonrpc.h" + #include "jsonrpc-server.h" + #include "openvswitch/list.h" +-#include "memory.h" ++#include "internal/memory.h" + #include "monitor.h" + #include "ovs-replay.h" + #include "ovsdb.h" +-#include "ovsdb-data.h" +-#include "ovsdb-types.h" +-#include "ovsdb-error.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-types.h" ++#include "openvswitch/ovsdb-error.h" + #include "openvswitch/poll-loop.h" +-#include "process.h" ++#include "internal/process.h" + #include "replication.h" + #include "relay.h" + #include "row.h" +-#include "simap.h" ++#include "internal/simap.h" + #include "openvswitch/shash.h" +-#include "stream-ssl.h" +-#include "stream.h" +-#include "sset.h" ++#include "internal/stream-ssl.h" ++#include "internal/stream.h" ++#include "internal/sset.h" + #include "storage.h" + #include "table.h" +-#include "timeval.h" ++#include "internal/timeval.h" + #include "transaction.h" + #include "trigger.h" +-#include "util.h" +-#include "unixctl.h" ++#include "internal/util.h" ++#include "internal/unixctl.h" + #include "perf-counter.h" + #include "ovsdb-util.h" + #include "openvswitch/vlog.h" +diff --git a/ovsdb/ovsdb-tool.c b/ovsdb/ovsdb-tool.c +index 8465666e5..4fed2952d 100644 +--- a/ovsdb/ovsdb-tool.c ++++ b/ovsdb/ovsdb-tool.c +@@ -23,29 +23,30 @@ + #include + + #include "column.h" ++#include "internal/command-line.h" + #include "openvswitch/compiler.h" +-#include "dirs.h" ++#include "internal/dirs.h" + #include "openvswitch/dynamic-string.h" +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "file.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "lockfile.h" + #include "log.h" + #include "openvswitch/hmap.h" + #include "openvswitch/json.h" + #include "ovsdb.h" +-#include "ovsdb-data.h" +-#include "ovsdb-error.h" +-#include "ovsdb-parser.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-parser.h" + #include "raft.h" + #include "raft-private.h" +-#include "smap.h" +-#include "socket-util.h" ++#include "internal/smap.h" ++#include "internal/socket-util.h" + #include "storage.h" + #include "table.h" +-#include "timeval.h" ++#include "internal/timeval.h" + #include "transaction.h" +-#include "util.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + /* -m, --more: Verbosity level for "show-log" command output. */ +diff --git a/ovsdb/ovsdb-util.c b/ovsdb/ovsdb-util.c +index 6d7be066b..9bf35e4b9 100644 +--- a/ovsdb/ovsdb-util.c ++++ b/ovsdb/ovsdb-util.c +@@ -15,7 +15,7 @@ + + #include + #include "row.h" +-#include "sset.h" ++#include "internal/sset.h" + #include "table.h" + #include "ovsdb-util.h" + #include "openvswitch/vlog.h" +diff --git a/ovsdb/ovsdb.c b/ovsdb/ovsdb.c +index e6d866182..cfdf3d9dc 100644 +--- a/ovsdb/ovsdb.c ++++ b/ovsdb/ovsdb.c +@@ -25,13 +25,13 @@ + #include "file.h" + #include "monitor.h" + #include "openvswitch/json.h" +-#include "ovsdb-error.h" +-#include "ovsdb-parser.h" +-#include "ovsdb-types.h" +-#include "simap.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-parser.h" ++#include "openvswitch/ovsdb-types.h" ++#include "internal/simap.h" + #include "storage.h" + #include "table.h" +-#include "timeval.h" ++#include "internal/timeval.h" + #include "transaction.h" + #include "transaction-forward.h" + #include "trigger.h" +diff --git a/ovsdb/raft-private.c b/ovsdb/raft-private.c +index 30760233e..14378cdc0 100644 +--- a/ovsdb/raft-private.c ++++ b/ovsdb/raft-private.c +@@ -18,12 +18,12 @@ + + #include "raft-private.h" + +-#include "coverage.h" ++#include "internal/coverage.h" + #include "openvswitch/dynamic-string.h" +-#include "ovsdb-error.h" +-#include "ovsdb-parser.h" +-#include "socket-util.h" +-#include "sset.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-parser.h" ++#include "internal/socket-util.h" ++#include "internal/sset.h" + + COVERAGE_DEFINE(raft_entry_serialize); + +diff --git a/ovsdb/raft-private.h b/ovsdb/raft-private.h +index 48c6df511..ed6eac441 100644 +--- a/ovsdb/raft-private.h ++++ b/ovsdb/raft-private.h +@@ -23,7 +23,7 @@ + #include + #include "openvswitch/hmap.h" + #include "openvswitch/uuid.h" +-#include "sset.h" ++#include "internal/sset.h" + + struct ds; + struct ovsdb_parser; +diff --git a/ovsdb/raft-rpc.c b/ovsdb/raft-rpc.c +index 051291b0f..a757f5ad9 100644 +--- a/ovsdb/raft-rpc.c ++++ b/ovsdb/raft-rpc.c +@@ -20,13 +20,13 @@ + #include + #include + #include "openvswitch/compiler.h" +-#include "jsonrpc.h" +-#include "ovsdb-error.h" +-#include "ovsdb-parser.h" ++#include "internal/jsonrpc.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-parser.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" + #include "openvswitch/vlog.h" +-#include "sset.h" ++#include "internal/sset.h" + + VLOG_DEFINE_THIS_MODULE(raft_rpc); + +diff --git a/ovsdb/raft-rpc.h b/ovsdb/raft-rpc.h +index 221f24d00..4ae8c3ac8 100644 +--- a/ovsdb/raft-rpc.h ++++ b/ovsdb/raft-rpc.h +@@ -24,7 +24,7 @@ + #include "openvswitch/uuid.h" + #include "raft.h" + #include "raft-private.h" +-#include "sset.h" ++#include "internal/sset.h" + + struct ds; + +diff --git a/ovsdb/raft.c b/ovsdb/raft.c +index 1a3447a8d..da4aa3c5f 100644 +--- a/ovsdb/raft.c ++++ b/ovsdb/raft.c +@@ -22,8 +22,8 @@ + #include + #include + +-#include "hash.h" +-#include "jsonrpc.h" ++#include "internal/hash.h" ++#include "internal/jsonrpc.h" + #include "lockfile.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/hmap.h" +@@ -31,19 +31,19 @@ + #include "openvswitch/list.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/vlog.h" +-#include "ovsdb-error.h" +-#include "ovsdb-parser.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-parser.h" + #include "ovsdb/log.h" + #include "raft-rpc.h" +-#include "random.h" +-#include "simap.h" +-#include "socket-util.h" +-#include "stream.h" +-#include "timeval.h" ++#include "internal/random.h" ++#include "internal/simap.h" ++#include "internal/socket-util.h" ++#include "internal/stream.h" ++#include "internal/timeval.h" + #include "unicode.h" +-#include "unixctl.h" +-#include "util.h" +-#include "uuid.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + + VLOG_DEFINE_THIS_MODULE(raft); + +diff --git a/ovsdb/raft.h b/ovsdb/raft.h +index 5f2c0c773..92993a088 100644 +--- a/ovsdb/raft.h ++++ b/ovsdb/raft.h +@@ -62,7 +62,7 @@ + #include + #include + #include "openvswitch/compiler.h" +-#include "uuid.h" ++#include "internal/uuid.h" + + struct json; + struct ovsdb_log; +diff --git a/ovsdb/rbac.c b/ovsdb/rbac.c +index a3fe97120..a618f511a 100644 +--- a/ovsdb/rbac.c ++++ b/ovsdb/rbac.c +@@ -24,16 +24,16 @@ + #include "file.h" + #include "mutation.h" + #include "openvswitch/vlog.h" +-#include "ovsdb-data.h" +-#include "ovsdb-error.h" +-#include "ovsdb-parser.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-parser.h" + #include "ovsdb-util.h" + #include "ovsdb.h" + #include "query.h" + #include "row.h" + #include "server.h" + #include "table.h" +-#include "timeval.h" ++#include "internal/timeval.h" + #include "transaction.h" + + VLOG_DEFINE_THIS_MODULE(ovsdb_rbac); +diff --git a/ovsdb/relay.c b/ovsdb/relay.c +index ef0e44d34..df21feada 100644 +--- a/ovsdb/relay.c ++++ b/ovsdb/relay.c +@@ -18,8 +18,8 @@ + + #include "relay.h" + +-#include "coverage.h" +-#include "jsonrpc.h" ++#include "internal/coverage.h" ++#include "internal/jsonrpc.h" + #include "openvswitch/hmap.h" + #include "openvswitch/json.h" + #include "openvswitch/list.h" +@@ -27,14 +27,14 @@ + #include "openvswitch/shash.h" + #include "openvswitch/vlog.h" + #include "ovsdb.h" +-#include "ovsdb-cs.h" +-#include "ovsdb-error.h" ++#include "openvswitch/ovsdb-cs.h" ++#include "openvswitch/ovsdb-error.h" + #include "row.h" + #include "table.h" +-#include "timeval.h" ++#include "internal/timeval.h" + #include "transaction.h" + #include "transaction-forward.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(relay); + +diff --git a/ovsdb/replication.c b/ovsdb/replication.c +index d8b56d813..3dede55f5 100644 +--- a/ovsdb/replication.c ++++ b/ovsdb/replication.c +@@ -19,22 +19,22 @@ + + + #include "condition.h" +-#include "jsonrpc.h" ++#include "internal/jsonrpc.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/hmap.h" + #include "openvswitch/json.h" + #include "openvswitch/vlog.h" +-#include "ovsdb-error.h" ++#include "openvswitch/ovsdb-error.h" + #include "ovsdb.h" + #include "query.h" + #include "replication.h" + #include "row.h" +-#include "sset.h" +-#include "stream.h" +-#include "svec.h" ++#include "internal/sset.h" ++#include "internal/stream.h" ++#include "internal/svec.h" + #include "table.h" + #include "transaction.h" +-#include "uuid.h" ++#include "internal/uuid.h" + + VLOG_DEFINE_THIS_MODULE(replication); + +diff --git a/ovsdb/row.c b/ovsdb/row.c +index e83c60a21..94f18337e 100644 +--- a/ovsdb/row.c ++++ b/ovsdb/row.c +@@ -21,11 +21,11 @@ + + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" +-#include "ovsdb-error.h" ++#include "openvswitch/ovsdb-error.h" + #include "openvswitch/shash.h" +-#include "sort.h" ++#include "internal/sort.h" + #include "table.h" +-#include "util.h" ++#include "internal/util.h" + + static struct ovsdb_row * + allocate_row(const struct ovsdb_table *table) +diff --git a/ovsdb/row.h b/ovsdb/row.h +index fe04555d0..fcd575ebe 100644 +--- a/ovsdb/row.h ++++ b/ovsdb/row.h +@@ -21,7 +21,7 @@ + #include "column.h" + #include "openvswitch/hmap.h" + #include "openvswitch/list.h" +-#include "ovsdb-data.h" ++#include "openvswitch/ovsdb-data.h" + + struct ovsdb_column_set; + +diff --git a/ovsdb/server.c b/ovsdb/server.c +index e1a497d78..9b00617cc 100644 +--- a/ovsdb/server.c ++++ b/ovsdb/server.c +@@ -17,9 +17,9 @@ + + #include "server.h" + +-#include "hash.h" ++#include "internal/hash.h" + #include "ovsdb.h" +-#include "uuid.h" ++#include "internal/uuid.h" + + /* Initializes 'session' as a session within 'server'. */ + void +diff --git a/ovsdb/storage.c b/ovsdb/storage.c +index d4984be25..dbbb3c032 100644 +--- a/ovsdb/storage.c ++++ b/ovsdb/storage.c +@@ -19,16 +19,16 @@ + #include "storage.h" + #include + #include "log.h" +-#include "ovsdb-error.h" ++#include "openvswitch/ovsdb-error.h" + #include "openvswitch/json.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/vlog.h" + #include "ovsdb.h" + #include "raft.h" +-#include "random.h" +-#include "simap.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/random.h" ++#include "internal/simap.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(storage); + +diff --git a/ovsdb/table.c b/ovsdb/table.c +index 455a3663f..df25fbe6d 100644 +--- a/ovsdb/table.c ++++ b/ovsdb/table.c +@@ -21,9 +21,9 @@ + + #include "openvswitch/json.h" + #include "column.h" +-#include "ovsdb-error.h" +-#include "ovsdb-parser.h" +-#include "ovsdb-types.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-parser.h" ++#include "openvswitch/ovsdb-types.h" + #include "row.h" + #include "transaction.h" + +diff --git a/ovsdb/transaction-forward.c b/ovsdb/transaction-forward.c +index d15f2f1d6..7cddfd603 100644 +--- a/ovsdb/transaction-forward.c ++++ b/ovsdb/transaction-forward.c +@@ -18,16 +18,16 @@ + + #include "transaction-forward.h" + +-#include "coverage.h" +-#include "jsonrpc.h" ++#include "internal/coverage.h" ++#include "internal/jsonrpc.h" + #include "openvswitch/hmap.h" + #include "openvswitch/json.h" + #include "openvswitch/list.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/vlog.h" + #include "ovsdb.h" +-#include "ovsdb-cs.h" +-#include "util.h" ++#include "openvswitch/ovsdb-cs.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(transaction_forward); + +diff --git a/ovsdb/transaction.c b/ovsdb/transaction.c +index db86d847c..eabf1a2ae 100644 +--- a/ovsdb/transaction.c ++++ b/ovsdb/transaction.c +@@ -17,22 +17,22 @@ + + #include "transaction.h" + +-#include "bitmap.h" ++#include "internal/bitmap.h" + #include "openvswitch/dynamic-string.h" + #include "file.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "monitor.h" + #include "openvswitch/hmap.h" + #include "openvswitch/json.h" + #include "openvswitch/list.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/vlog.h" +-#include "ovsdb-error.h" ++#include "openvswitch/ovsdb-error.h" + #include "ovsdb.h" + #include "row.h" + #include "storage.h" + #include "table.h" +-#include "uuid.h" ++#include "internal/uuid.h" + + VLOG_DEFINE_THIS_MODULE(transaction); + +diff --git a/ovsdb/trigger.c b/ovsdb/trigger.c +index 726c138bf..ebd7ff753 100644 +--- a/ovsdb/trigger.c ++++ b/ovsdb/trigger.c +@@ -22,15 +22,15 @@ + + #include "file.h" + #include "openvswitch/json.h" +-#include "jsonrpc.h" ++#include "internal/jsonrpc.h" + #include "ovsdb.h" +-#include "ovsdb-error.h" ++#include "openvswitch/ovsdb-error.h" + #include "openvswitch/poll-loop.h" + #include "server.h" + #include "transaction.h" + #include "transaction-forward.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(trigger); + +diff --git a/tests/oss-fuzz/flow_extract_target.c b/tests/oss-fuzz/flow_extract_target.c +index 84a6c317d..d8ecc862e 100644 +--- a/tests/oss-fuzz/flow_extract_target.c ++++ b/tests/oss-fuzz/flow_extract_target.c +@@ -1,9 +1,9 @@ + #include +-#include "classifier.h" ++#include "internal/classifier.h" + #include + #include "fuzzer.h" +-#include "dp-packet.h" +-#include "flow.h" ++#include "internal/dp-packet.h" ++#include "internal/flow.h" + #include "openvswitch/ofp-match.h" + #include "openvswitch/ofp-print.h" + #include "openvswitch/match.h" +diff --git a/tests/oss-fuzz/json_parser_target.c b/tests/oss-fuzz/json_parser_target.c +index e39e04a0d..b49efe633 100644 +--- a/tests/oss-fuzz/json_parser_target.c ++++ b/tests/oss-fuzz/json_parser_target.c +@@ -1,8 +1,8 @@ + #include + #include "fuzzer.h" +-#include "jsonrpc.h" ++#include "internal/jsonrpc.h" + #include "openvswitch/json.h" +-#include "ovsdb-error.h" ++#include "openvswitch/ovsdb-error.h" + #include "ovsdb/table.h" + #include + #include +diff --git a/tests/oss-fuzz/miniflow_target.c b/tests/oss-fuzz/miniflow_target.c +index 50b8b0e64..132d6bf68 100644 +--- a/tests/oss-fuzz/miniflow_target.c ++++ b/tests/oss-fuzz/miniflow_target.c +@@ -1,13 +1,13 @@ + #include +-#include "classifier.h" ++#include "internal/classifier.h" + #include "fuzzer.h" +-#include "dp-packet.h" +-#include "flow.h" ++#include "internal/dp-packet.h" ++#include "internal/flow.h" + #include "openvswitch/ofp-match.h" + #include "openvswitch/ofp-print.h" + #include "openvswitch/match.h" + #include "classifier-private.h" +-#include "util.h" ++#include "internal/util.h" + + /* Returns a copy of 'src'. The caller must eventually free the returned + * miniflow with free(). */ +diff --git a/tests/oss-fuzz/odp_target.c b/tests/oss-fuzz/odp_target.c +index ae61cdca3..71324741f 100644 +--- a/tests/oss-fuzz/odp_target.c ++++ b/tests/oss-fuzz/odp_target.c +@@ -4,10 +4,10 @@ + #include "odp-util.h" + #include + #include "openvswitch/dynamic-string.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "openvswitch/match.h" + #include "openvswitch/ofpbuf.h" +-#include "util.h" ++#include "internal/util.h" + #include "openvswitch/ofp-flow.h" + #include "openvswitch/vlog.h" + +diff --git a/tests/oss-fuzz/ofctl_parse_target.c b/tests/oss-fuzz/ofctl_parse_target.c +index b4db52f7e..c4f64e457 100644 +--- a/tests/oss-fuzz/ofctl_parse_target.c ++++ b/tests/oss-fuzz/ofctl_parse_target.c +@@ -6,7 +6,7 @@ + #include "openflow/openflow.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +-#include "util.h" ++#include "internal/util.h" + + static void + ofctl_parse_flows__(struct ofputil_flow_mod *fms, size_t n_fms, +diff --git a/tests/oss-fuzz/ofp_print_target.c b/tests/oss-fuzz/ofp_print_target.c +index 126f2623f..3fbf40592 100644 +--- a/tests/oss-fuzz/ofp_print_target.c ++++ b/tests/oss-fuzz/ofp_print_target.c +@@ -1,6 +1,6 @@ + #include + #include "fuzzer.h" +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "openvswitch/ofp-print.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" +diff --git a/tests/ovstest.c b/tests/ovstest.c +index 068dcbb9b..52f19f99a 100644 +--- a/tests/ovstest.c ++++ b/tests/ovstest.c +@@ -21,10 +21,10 @@ + #include + #include + #include +-#include "command-line.h" ++#include "internal/command-line.h" + #include "openvswitch/dynamic-string.h" + #include "ovstest.h" +-#include "util.h" ++#include "internal/util.h" + + static struct ovs_cmdl_command *commands = NULL; + static size_t n_commands = 0; +diff --git a/tests/ovstest.h b/tests/ovstest.h +index 72fe6d152..87897499e 100644 +--- a/tests/ovstest.h ++++ b/tests/ovstest.h +@@ -19,7 +19,7 @@ + + #include "openvswitch/compiler.h" + +-#include "command-line.h" ++#include "internal/command-line.h" + + /* Overview + * ======== +diff --git a/tests/test-aes128.c b/tests/test-aes128.c +index 7960551be..e534ad795 100644 +--- a/tests/test-aes128.c ++++ b/tests/test-aes128.c +@@ -19,7 +19,7 @@ + #include "aes128.h" + #include + #include "ovstest.h" +-#include "util.h" ++#include "internal/util.h" + + static void + hex_to_uint8(const char *input, uint8_t *output, size_t n) +diff --git a/tests/test-atomic.c b/tests/test-atomic.c +index 4b1374b70..d2a7c67aa 100644 +--- a/tests/test-atomic.c ++++ b/tests/test-atomic.c +@@ -16,12 +16,12 @@ + + #include + #undef NDEBUG +-#include "fatal-signal.h" +-#include "ovs-atomic.h" ++#include "internal/fatal-signal.h" ++#include "openvswitch/ovs-atomic.h" + #include "ovstest.h" +-#include "ovs-thread.h" +-#include "timeval.h" +-#include "util.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(test_atomic); +diff --git a/tests/test-barrier.c b/tests/test-barrier.c +index 3bc5291cc..dca08b2ff 100644 +--- a/tests/test-barrier.c ++++ b/tests/test-barrier.c +@@ -18,11 +18,11 @@ + + #include + +-#include "ovs-thread.h" +-#include "ovs-rcu.h" ++#include "openvswitch/ovs-thread.h" ++#include "openvswitch/ovs-rcu.h" + #include "ovstest.h" +-#include "random.h" +-#include "util.h" ++#include "internal/random.h" ++#include "internal/util.h" + + #define DEFAULT_N_THREADS 4 + #define NB_STEPS 4 +diff --git a/tests/test-bitmap.c b/tests/test-bitmap.c +index 484407b7d..3694ab203 100644 +--- a/tests/test-bitmap.c ++++ b/tests/test-bitmap.c +@@ -16,11 +16,11 @@ + + #include + #undef NDEBUG +-#include "bitmap.h" ++#include "internal/bitmap.h" + #include +-#include "command-line.h" ++#include "internal/command-line.h" + #include "ovstest.h" +-#include "timeval.h" ++#include "internal/timeval.h" + + enum { MAX_BITS = 20 * BITMAP_ULONG_BITS }; + +diff --git a/tests/test-bundle.c b/tests/test-bundle.c +index 53f78e86f..c892bc110 100644 +--- a/tests/test-bundle.c ++++ b/tests/test-bundle.c +@@ -17,12 +17,12 @@ + #undef NDEBUG + #include + #include +-#include "bundle.h" +-#include "flow.h" ++#include "internal/bundle.h" ++#include "internal/flow.h" + #include "openvswitch/ofp-actions.h" + #include "openvswitch/ofpbuf.h" + #include "ovstest.h" +-#include "util.h" ++#include "internal/util.h" + + #define N_FLOWS 50000 + #define MAX_MEMBERS 8 /* Maximum supported by this test framework. */ +diff --git a/tests/test-byte-order.c b/tests/test-byte-order.c +index 2b8edf35c..b6f6e8697 100644 +--- a/tests/test-byte-order.c ++++ b/tests/test-byte-order.c +@@ -16,7 +16,7 @@ + + #include + #undef NDEBUG +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include + #include + #include "ovstest.h" +diff --git a/tests/test-ccmap.c b/tests/test-ccmap.c +index 5c51bbe83..677e66cdd 100644 +--- a/tests/test-ccmap.c ++++ b/tests/test-ccmap.c +@@ -23,16 +23,16 @@ + #include + #include + #include +-#include "bitmap.h" +-#include "command-line.h" ++#include "internal/bitmap.h" ++#include "internal/command-line.h" + #include "fat-rwlock.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" + #include "ovstest.h" +-#include "ovs-thread.h" +-#include "random.h" +-#include "timeval.h" +-#include "util.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/random.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + typedef size_t hash_func(int value); + +diff --git a/tests/test-classifier.c b/tests/test-classifier.c +index cff00c8fa..eb6151dd2 100644 +--- a/tests/test-classifier.c ++++ b/tests/test-classifier.c +@@ -28,23 +28,23 @@ + + #include + #undef NDEBUG +-#include "classifier.h" ++#include "internal/classifier.h" + #include + #include + #include +-#include "byte-order.h" ++#include "internal/byte-order.h" + #include "classifier-private.h" +-#include "command-line.h" +-#include "fatal-signal.h" +-#include "flow.h" ++#include "internal/command-line.h" ++#include "internal/fatal-signal.h" ++#include "internal/flow.h" + #include "ovstest.h" +-#include "ovs-atomic.h" +-#include "ovs-thread.h" +-#include "packets.h" +-#include "random.h" +-#include "timeval.h" +-#include "unaligned.h" +-#include "util.h" ++#include "openvswitch/ovs-atomic.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/packets.h" ++#include "internal/random.h" ++#include "internal/timeval.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" + + static bool versioned = false; + +diff --git a/tests/test-cmap.c b/tests/test-cmap.c +index 070547560..56be78f9c 100644 +--- a/tests/test-cmap.c ++++ b/tests/test-cmap.c +@@ -19,20 +19,20 @@ + + #include + #undef NDEBUG +-#include "cmap.h" ++#include "internal/cmap.h" + #include + #include + #include +-#include "bitmap.h" +-#include "command-line.h" ++#include "internal/bitmap.h" ++#include "internal/command-line.h" + #include "fat-rwlock.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" + #include "ovstest.h" +-#include "ovs-thread.h" +-#include "random.h" +-#include "timeval.h" +-#include "util.h" ++#include "openvswitch/ovs-thread.h" ++#include "internal/random.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + /* Sample cmap element. */ + struct element { +diff --git a/tests/test-conntrack.c b/tests/test-conntrack.c +index 24c93e4a4..0b77269a6 100644 +--- a/tests/test-conntrack.c ++++ b/tests/test-conntrack.c +@@ -17,14 +17,14 @@ + #include + #include "conntrack.h" + +-#include "dp-packet.h" +-#include "fatal-signal.h" +-#include "flow.h" +-#include "netdev.h" +-#include "ovs-thread.h" ++#include "internal/dp-packet.h" ++#include "internal/fatal-signal.h" ++#include "internal/flow.h" ++#include "internal/netdev.h" ++#include "openvswitch/ovs-thread.h" + #include "ovstest.h" + #include "pcap-file.h" +-#include "timeval.h" ++#include "internal/timeval.h" + + static const char payload[] = "50540000000a50540000000908004500001c0000000000" + "11a4cd0a0101010a0101020001000200080000"; +diff --git a/tests/test-csum.c b/tests/test-csum.c +index b94bd6481..58f7edba6 100644 +--- a/tests/test-csum.c ++++ b/tests/test-csum.c +@@ -16,7 +16,7 @@ + + #include + #undef NDEBUG +-#include "csum.h" ++#include "internal/csum.h" + #include + #include + #include +@@ -25,12 +25,12 @@ + #include + #include + #include +-#include "crc32c.h" ++#include "internal/crc32c.h" + #include "ovstest.h" +-#include "packets.h" +-#include "random.h" +-#include "unaligned.h" +-#include "util.h" ++#include "internal/packets.h" ++#include "internal/random.h" ++#include "internal/unaligned.h" ++#include "internal/util.h" + + struct test_case { + char *data; +diff --git a/tests/test-flows.c b/tests/test-flows.c +index 7adbe5dd9..64cc17dbb 100644 +--- a/tests/test-flows.c ++++ b/tests/test-flows.c +@@ -16,22 +16,22 @@ + + #include + #undef NDEBUG +-#include "flow.h" ++#include "internal/flow.h" + #include + #include + #include + #include +-#include "classifier.h" ++#include "internal/classifier.h" + #include "openflow/openflow.h" + #include "openvswitch/ofp-match.h" + #include "openvswitch/ofp-print.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/vlog.h" + #include "ovstest.h" +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "pcap-file.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + static void + test_flows_main(int argc OVS_UNUSED, char *argv[] OVS_UNUSED) +diff --git a/tests/test-hash.c b/tests/test-hash.c +index 5d3f8ea43..8d2552901 100644 +--- a/tests/test-hash.c ++++ b/tests/test-hash.c +@@ -16,7 +16,7 @@ + + #include + #undef NDEBUG +-#include "hash.h" ++#include "internal/hash.h" + #include + #include + #include +diff --git a/tests/test-heap.c b/tests/test-heap.c +index 88c9f25f7..8b365ea35 100644 +--- a/tests/test-heap.c ++++ b/tests/test-heap.c +@@ -23,10 +23,10 @@ + #include + #include + #include +-#include "command-line.h" ++#include "internal/command-line.h" + #include "ovstest.h" +-#include "random.h" +-#include "util.h" ++#include "internal/random.h" ++#include "internal/util.h" + + /* Sample heap element. */ + struct element { +diff --git a/tests/test-hindex.c b/tests/test-hindex.c +index af06be5fc..4908ebf0f 100644 +--- a/tests/test-hindex.c ++++ b/tests/test-hindex.c +@@ -19,13 +19,13 @@ + + #include + #undef NDEBUG +-#include "hindex.h" ++#include "internal/hindex.h" + #include + #include +-#include "hash.h" ++#include "internal/hash.h" + #include "ovstest.h" +-#include "random.h" +-#include "util.h" ++#include "internal/random.h" ++#include "internal/util.h" + + /* Sample hindex element. */ + struct element { +diff --git a/tests/test-hmap.c b/tests/test-hmap.c +index 9259b0b3f..a01e1b18a 100644 +--- a/tests/test-hmap.c ++++ b/tests/test-hmap.c +@@ -22,10 +22,10 @@ + #include "openvswitch/hmap.h" + #include + #include +-#include "hash.h" ++#include "internal/hash.h" + #include "ovstest.h" +-#include "random.h" +-#include "util.h" ++#include "internal/random.h" ++#include "internal/util.h" + + /* Sample hmap element. */ + struct element { +diff --git a/tests/test-id-fpool.c b/tests/test-id-fpool.c +index 25275d9ae..2d49a75d4 100644 +--- a/tests/test-id-fpool.c ++++ b/tests/test-id-fpool.c +@@ -21,18 +21,18 @@ + + #include + +-#include "command-line.h" ++#include "internal/command-line.h" + #include "id-fpool.h" +-#include "id-pool.h" ++#include "internal/id-pool.h" + #include "openvswitch/vlog.h" + #include "openvswitch/util.h" +-#include "ovs-thread.h" +-#include "ovs-rcu.h" +-#include "ovs-numa.h" ++#include "openvswitch/ovs-thread.h" ++#include "openvswitch/ovs-rcu.h" ++#include "openvswitch/ovs-numa.h" + #include "ovstest.h" +-#include "random.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/random.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + static void + test_id_fpool_alloc(void) +diff --git a/tests/test-json.c b/tests/test-json.c +index 072a53725..2b704b8fe 100644 +--- a/tests/test-json.c ++++ b/tests/test-json.c +@@ -22,9 +22,9 @@ + #include + #include + #include "ovstest.h" +-#include "random.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/random.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + /* --pretty: If set, the JSON output is pretty-printed, instead of printed as + * compactly as possible. */ +diff --git a/tests/test-jsonrpc.c b/tests/test-jsonrpc.c +index 04e941b14..28698de1a 100644 +--- a/tests/test-jsonrpc.c ++++ b/tests/test-jsonrpc.c +@@ -16,21 +16,21 @@ + + #include + #undef NDEBUG +-#include "jsonrpc.h" ++#include "internal/jsonrpc.h" + #include + #include + #include + #include + #include +-#include "command-line.h" +-#include "daemon.h" ++#include "internal/command-line.h" ++#include "internal/daemon.h" + #include "openvswitch/json.h" + #include "ovstest.h" + #include "openvswitch/poll-loop.h" +-#include "stream-ssl.h" +-#include "stream.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/stream-ssl.h" ++#include "internal/stream.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + OVS_NO_RETURN static void usage(void); +diff --git a/tests/test-lockfile.c b/tests/test-lockfile.c +index d0c8dc480..ce17711ea 100644 +--- a/tests/test-lockfile.c ++++ b/tests/test-lockfile.c +@@ -23,9 +23,9 @@ + #include + #include + #include "ovstest.h" +-#include "process.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/process.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + struct test { +diff --git a/tests/test-mpsc-queue.c b/tests/test-mpsc-queue.c +index a38bf9e6d..7aa167a67 100644 +--- a/tests/test-mpsc-queue.c ++++ b/tests/test-mpsc-queue.c +@@ -21,17 +21,17 @@ + + #include + +-#include "command-line.h" ++#include "internal/command-line.h" + #include "guarded-list.h" + #include "mpsc-queue.h" + #include "openvswitch/list.h" + #include "openvswitch/util.h" + #include "openvswitch/vlog.h" +-#include "ovs-rcu.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-rcu.h" ++#include "openvswitch/ovs-thread.h" + #include "ovstest.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + struct element { + union { +diff --git a/tests/test-multipath.c b/tests/test-multipath.c +index 08d2cbaeb..4b2f58088 100644 +--- a/tests/test-multipath.c ++++ b/tests/test-multipath.c +@@ -21,11 +21,11 @@ + #include + #include + #include +-#include "flow.h" ++#include "internal/flow.h" + #include "multipath.h" + #include "openvswitch/ofp-actions.h" + #include "ovstest.h" +-#include "util.h" ++#include "internal/util.h" + + static void + test_multipath_main(int argc, char *argv[]) +diff --git a/tests/test-netflow.c b/tests/test-netflow.c +index d2322d450..8cd8ec59c 100644 +--- a/tests/test-netflow.c ++++ b/tests/test-netflow.c +@@ -22,16 +22,16 @@ + #include + #include + #include +-#include "command-line.h" +-#include "daemon.h" ++#include "internal/command-line.h" ++#include "internal/daemon.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/ofpbuf.h" + #include "ovstest.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "socket-util.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/socket-util.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + OVS_NO_RETURN static void usage(void); +diff --git a/tests/test-netlink-policy.c b/tests/test-netlink-policy.c +index 55083935a..60cd15db6 100644 +--- a/tests/test-netlink-policy.c ++++ b/tests/test-netlink-policy.c +@@ -18,11 +18,11 @@ + + #include + +-#include "netlink.h" ++#include "internal/netlink.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/types.h" + #include "ovstest.h" +-#include "util.h" ++#include "internal/util.h" + + struct nlattr_fixture { + struct nlattr nlattr; +diff --git a/tests/test-odp.c b/tests/test-odp.c +index 0ddfd4070..ceaf941ce 100644 +--- a/tests/test-odp.c ++++ b/tests/test-odp.c +@@ -19,11 +19,11 @@ + #include "odp-util.h" + #include + #include "openvswitch/dynamic-string.h" +-#include "flow.h" ++#include "internal/flow.h" + #include "openvswitch/match.h" + #include "openvswitch/ofpbuf.h" + #include "ovstest.h" +-#include "util.h" ++#include "internal/util.h" + #include "openvswitch/ofp-flow.h" + #include "openvswitch/vlog.h" + +diff --git a/tests/test-ofpbuf.c b/tests/test-ofpbuf.c +index 3d7fab90f..a0f22a2f3 100644 +--- a/tests/test-ofpbuf.c ++++ b/tests/test-ofpbuf.c +@@ -19,7 +19,7 @@ + #include + #include "openvswitch/ofpbuf.h" + #include "ovstest.h" +-#include "util.h" ++#include "internal/util.h" + + #define BUF_SIZE 100 + #define HDR_OFS 10 +diff --git a/tests/test-ovsdb.c b/tests/test-ovsdb.c +index ca4e87b81..083c281d0 100644 +--- a/tests/test-ovsdb.c ++++ b/tests/test-ovsdb.c +@@ -23,15 +23,15 @@ + #include + #include + +-#include "byte-order.h" +-#include "command-line.h" ++#include "internal/byte-order.h" ++#include "internal/command-line.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" +-#include "jsonrpc.h" +-#include "ovsdb-data.h" +-#include "ovsdb-error.h" +-#include "ovsdb-idl.h" +-#include "ovsdb-types.h" ++#include "internal/jsonrpc.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-error.h" ++#include "openvswitch/ovsdb-idl.h" ++#include "openvswitch/ovsdb-types.h" + #include "ovsdb/column.h" + #include "ovsdb/condition.h" + #include "ovsdb/file.h" +@@ -46,11 +46,11 @@ + #include "ovsdb/transaction.h" + #include "ovsdb/trigger.h" + #include "openvswitch/poll-loop.h" +-#include "stream.h" +-#include "svec.h" ++#include "internal/stream.h" ++#include "internal/svec.h" + #include "tests/idltest.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(test_ovsdb); +diff --git a/tests/test-packets.c b/tests/test-packets.c +index da074f74d..78c9a61f8 100644 +--- a/tests/test-packets.c ++++ b/tests/test-packets.c +@@ -16,7 +16,7 @@ + + #include + #undef NDEBUG +-#include "packets.h" ++#include "internal/packets.h" + #include + #include + #include +diff --git a/tests/test-random.c b/tests/test-random.c +index 542a49823..2eaba923d 100644 +--- a/tests/test-random.c ++++ b/tests/test-random.c +@@ -16,7 +16,7 @@ + + #include + #undef NDEBUG +-#include "random.h" ++#include "internal/random.h" + #include + #include + #include "ovstest.h" +diff --git a/tests/test-rcu.c b/tests/test-rcu.c +index 965f3c49f..0e2c263c7 100644 +--- a/tests/test-rcu.c ++++ b/tests/test-rcu.c +@@ -16,11 +16,11 @@ + + #include + #undef NDEBUG +-#include "fatal-signal.h" +-#include "ovs-rcu.h" +-#include "ovs-thread.h" ++#include "internal/fatal-signal.h" ++#include "openvswitch/ovs-rcu.h" ++#include "openvswitch/ovs-thread.h" + #include "ovstest.h" +-#include "util.h" ++#include "internal/util.h" + + static void * + quiescer_main(void *aux OVS_UNUSED) +diff --git a/tests/test-reconnect.c b/tests/test-reconnect.c +index 7262ea774..c2b9b5804 100644 +--- a/tests/test-reconnect.c ++++ b/tests/test-reconnect.c +@@ -21,11 +21,11 @@ + #include + #include + #include ++#include "internal/command-line.h" + #include "openvswitch/compiler.h" +-#include "command-line.h" + #include "ovstest.h" +-#include "svec.h" +-#include "util.h" ++#include "internal/svec.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + static struct reconnect *reconnect; +diff --git a/tests/test-rstp.c b/tests/test-rstp.c +index 01aeaf847..4a5d5d0e3 100644 +--- a/tests/test-rstp.c ++++ b/tests/test-rstp.c +@@ -9,8 +9,8 @@ + #include + #include "openvswitch/ofpbuf.h" + #include "ovstest.h" +-#include "dp-packet.h" +-#include "packets.h" ++#include "internal/dp-packet.h" ++#include "internal/packets.h" + #include "openvswitch/vlog.h" + + #define MAX_PORTS 10 +diff --git a/tests/test-sflow.c b/tests/test-sflow.c +index 460d4d6c5..328f0d328 100644 +--- a/tests/test-sflow.c ++++ b/tests/test-sflow.c +@@ -27,16 +27,16 @@ + #include + #include + #include +-#include "command-line.h" +-#include "daemon.h" ++#include "internal/command-line.h" ++#include "internal/daemon.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/ofpbuf.h" + #include "ovstest.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "socket-util.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/socket-util.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + OVS_NO_RETURN static void usage(void); +diff --git a/tests/test-sha1.c b/tests/test-sha1.c +index cc80888a7..5b638a92f 100644 +--- a/tests/test-sha1.c ++++ b/tests/test-sha1.c +@@ -23,8 +23,8 @@ + #include + #include + #include "ovstest.h" +-#include "random.h" +-#include "util.h" ++#include "internal/random.h" ++#include "internal/util.h" + + struct test_vector { + char *data; +diff --git a/tests/test-skiplist.c b/tests/test-skiplist.c +index 943d447fa..06a72ed7f 100644 +--- a/tests/test-skiplist.c ++++ b/tests/test-skiplist.c +@@ -22,9 +22,9 @@ + #include + #include + #include "ovstest.h" +-#include "skiplist.h" +-#include "random.h" +-#include "util.h" ++#include "internal/skiplist.h" ++#include "internal/random.h" ++#include "internal/util.h" + + static void + test_skiplist_main(int argc OVS_UNUSED, char *argv[] OVS_UNUSED); +diff --git a/tests/test-stopwatch.c b/tests/test-stopwatch.c +index 1270cd936..0c15298d4 100644 +--- a/tests/test-stopwatch.c ++++ b/tests/test-stopwatch.c +@@ -16,12 +16,12 @@ + + #include + #undef NDEBUG +-#include "stopwatch.h" ++#include "internal/stopwatch.h" + #include + #include + #include + #include "ovstest.h" +-#include "util.h" ++#include "internal/util.h" + + #define MAX_SAMPLES 100 + #define UNIT SW_MS +diff --git a/tests/test-stp.c b/tests/test-stp.c +index c85c99d67..501231be1 100644 +--- a/tests/test-stp.c ++++ b/tests/test-stp.c +@@ -23,10 +23,10 @@ + #include + #include + #include +-#include "dp-packet.h" ++#include "internal/dp-packet.h" + #include "openvswitch/ofpbuf.h" + #include "ovstest.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "openvswitch/vlog.h" + + struct bpdu { +diff --git a/tests/test-stream.c b/tests/test-stream.c +index 68ce2c544..81d8cd37f 100644 +--- a/tests/test-stream.c ++++ b/tests/test-stream.c +@@ -16,10 +16,10 @@ + + #include + +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "openvswitch/vlog.h" +-#include "stream.h" +-#include "util.h" ++#include "internal/stream.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(test_stream); + +diff --git a/tests/test-unix-socket.c b/tests/test-unix-socket.c +index 3175e8aff..397e2f5cb 100644 +--- a/tests/test-unix-socket.c ++++ b/tests/test-unix-socket.c +@@ -16,12 +16,12 @@ + + #include + #undef NDEBUG +-#include "socket-util.h" ++#include "internal/socket-util.h" + #include + #include + #include + #include "ovstest.h" +-#include "util.h" ++#include "internal/util.h" + + static void + test_unix_socket_main(int argc, char *argv[]) +diff --git a/tests/test-unixctl.c b/tests/test-unixctl.c +index 3eadf54cd..3852a37ce 100644 +--- a/tests/test-unixctl.c ++++ b/tests/test-unixctl.c +@@ -17,14 +17,14 @@ + + #include + +-#include "command-line.h" +-#include "daemon.h" +-#include "fatal-signal.h" ++#include "internal/command-line.h" ++#include "internal/daemon.h" ++#include "internal/fatal-signal.h" + #include "openvswitch/vlog.h" + #include "ovstest.h" + #include "openvswitch/poll-loop.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(test_unixctl); + +diff --git a/tests/test-util.c b/tests/test-util.c +index f0fd04210..46b94b070 100644 +--- a/tests/test-util.c ++++ b/tests/test-util.c +@@ -16,17 +16,17 @@ + + #include + #undef NDEBUG +-#include "util.h" ++#include "internal/util.h" + #include + #include + #include + #include + #include + #include +-#include "byte-order.h" +-#include "command-line.h" ++#include "internal/byte-order.h" ++#include "internal/command-line.h" + #include "ovstest.h" +-#include "random.h" ++#include "internal/random.h" + #include "sat-math.h" + #include "openvswitch/vlog.h" + +diff --git a/tests/test-uuid.c b/tests/test-uuid.c +index 3b47ab616..efa1a5f83 100644 +--- a/tests/test-uuid.c ++++ b/tests/test-uuid.c +@@ -16,8 +16,8 @@ + + #include + #undef NDEBUG +-#include "util.h" +-#include "uuid.h" ++#include "internal/util.h" ++#include "internal/uuid.h" + #include + #include "ovstest.h" + +diff --git a/tests/test-vconn.c b/tests/test-vconn.c +index fc8ce4a2c..d87f153b4 100644 +--- a/tests/test-vconn.c ++++ b/tests/test-vconn.c +@@ -22,8 +22,8 @@ + #include + #include + #include +-#include "command-line.h" +-#include "fatal-signal.h" ++#include "internal/command-line.h" ++#include "internal/fatal-signal.h" + #include "openflow/openflow.h" + #include "openvswitch/ofp-msgs.h" + #include "openvswitch/ofpbuf.h" +@@ -31,11 +31,11 @@ + #include "openvswitch/vlog.h" + #include "ovstest.h" + #include "openvswitch/poll-loop.h" +-#include "socket-util.h" +-#include "stream.h" +-#include "stream-ssl.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/socket-util.h" ++#include "internal/stream.h" ++#include "internal/stream-ssl.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + #define TIMEOUT 10 + +diff --git a/utilities/nlmon.c b/utilities/nlmon.c +index 32aa948c6..5495d9b96 100644 +--- a/utilities/nlmon.c ++++ b/utilities/nlmon.c +@@ -23,13 +23,13 @@ + #include + #include + #include +-#include "netlink.h" ++#include "internal/netlink.h" + #include "netlink-socket.h" + #include "netnsid.h" + #include "openvswitch/ofpbuf.h" + #include "openvswitch/poll-loop.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + static const struct nl_policy rtnlgrp_link_policy[] = { +diff --git a/utilities/ovs-appctl.c b/utilities/ovs-appctl.c +index ba0c172e6..997445ba3 100644 +--- a/utilities/ovs-appctl.c ++++ b/utilities/ovs-appctl.c +@@ -22,15 +22,15 @@ + #include + #include + +-#include "command-line.h" +-#include "daemon.h" +-#include "dirs.h" ++#include "internal/command-line.h" ++#include "internal/daemon.h" ++#include "internal/dirs.h" + #include "openvswitch/dynamic-string.h" +-#include "jsonrpc.h" +-#include "process.h" +-#include "timeval.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/jsonrpc.h" ++#include "internal/process.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + static void usage(void); +diff --git a/utilities/ovs-dpctl.c b/utilities/ovs-dpctl.c +index 46d248694..3649cd305 100644 +--- a/utilities/ovs-dpctl.c ++++ b/utilities/ovs-dpctl.c +@@ -32,14 +32,14 @@ + #include + + #include "openvswitch/compiler.h" +-#include "command-line.h" +-#include "dirs.h" ++#include "internal/command-line.h" ++#include "internal/dirs.h" + #include "dpctl.h" +-#include "fatal-signal.h" ++#include "internal/fatal-signal.h" + #include "odp-util.h" +-#include "packets.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/packets.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + static struct dpctl_params dpctl_p; +diff --git a/utilities/ovs-ofctl.c b/utilities/ovs-ofctl.c +index 85df32d7e..402e6013b 100644 +--- a/utilities/ovs-ofctl.c ++++ b/utilities/ovs-ofctl.c +@@ -29,16 +29,16 @@ + #include + #include + +-#include "byte-order.h" +-#include "classifier.h" +-#include "command-line.h" +-#include "daemon.h" +-#include "colors.h" ++#include "internal/byte-order.h" ++#include "internal/classifier.h" ++#include "internal/daemon.h" ++#include "internal/command-line.h" ++#include "internal/colors.h" + #include "openvswitch/compiler.h" +-#include "dirs.h" +-#include "dp-packet.h" +-#include "fatal-signal.h" +-#include "nx-match.h" ++#include "internal/dirs.h" ++#include "internal/dp-packet.h" ++#include "internal/fatal-signal.h" ++#include "internal/nx-match.h" + #include "odp-util.h" + #include "ofp-version-opt.h" + #include "ofproto/ofproto.h" +@@ -65,16 +65,16 @@ + #include "openvswitch/shash.h" + #include "openvswitch/vconn.h" + #include "openvswitch/vlog.h" +-#include "packets.h" ++#include "internal/packets.h" + #include "pcap-file.h" + #include "openvswitch/poll-loop.h" +-#include "random.h" +-#include "sort.h" +-#include "stream-ssl.h" +-#include "socket-util.h" +-#include "timeval.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/random.h" ++#include "internal/sort.h" ++#include "internal/stream-ssl.h" ++#include "internal/socket-util.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(ofctl); + +diff --git a/utilities/ovs-testcontroller.c b/utilities/ovs-testcontroller.c +index c3d4bc7ff..c96bc2be2 100644 +--- a/utilities/ovs-testcontroller.c ++++ b/utilities/ovs-testcontroller.c +@@ -24,25 +24,25 @@ + #include + #include + ++#include "internal/command-line.h" + #include "openvswitch/compiler.h" +-#include "command-line.h" +-#include "daemon.h" +-#include "fatal-signal.h" ++#include "internal/daemon.h" ++#include "internal/fatal-signal.h" + #include "learning-switch.h" + #include "ofp-version-opt.h" + #include "openvswitch/ofpbuf.h" + #include "openflow/openflow.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/rconn.h" +-#include "simap.h" +-#include "stream-ssl.h" +-#include "timeval.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/simap.h" ++#include "internal/stream-ssl.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" ++#include "internal/util.h" + #include "openvswitch/ofp-flow.h" + #include "openvswitch/vconn.h" + #include "openvswitch/vlog.h" +-#include "socket-util.h" ++#include "internal/socket-util.h" + + + VLOG_DEFINE_THIS_MODULE(controller); +diff --git a/utilities/ovs-vsctl.c b/utilities/ovs-vsctl.c +index 6013e9f57..036c3a3b4 100644 +--- a/utilities/ovs-vsctl.c ++++ b/utilities/ovs-vsctl.c +@@ -27,32 +27,32 @@ + #include + #include + +-#include "db-ctl-base.h" ++#include "internal/db-ctl-base.h" + + #include "openvswitch/compiler.h" +-#include "command-line.h" +-#include "dirs.h" +-#include "fatal-signal.h" +-#include "hash.h" ++#include "internal/command-line.h" ++#include "internal/dirs.h" ++#include "internal/fatal-signal.h" ++#include "internal/hash.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" + #include "openvswitch/ofp-parse.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/vconn.h" + #include "openvswitch/vlog.h" +-#include "ovsdb-data.h" +-#include "ovsdb-idl.h" +-#include "process.h" +-#include "simap.h" +-#include "stream.h" +-#include "stream-ssl.h" +-#include "smap.h" +-#include "sset.h" +-#include "svec.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-idl.h" ++#include "internal/process.h" ++#include "internal/simap.h" ++#include "internal/stream.h" ++#include "internal/stream-ssl.h" ++#include "internal/smap.h" ++#include "internal/sset.h" ++#include "internal/svec.h" + #include "lib/vswitch-idl.h" +-#include "table.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/table.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(vsctl); + +diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c +index 5223aa897..070a4085f 100644 +--- a/vswitchd/bridge.c ++++ b/vswitchd/bridge.c +@@ -21,25 +21,25 @@ + + #include "async-append.h" + #include "bfd.h" +-#include "bitmap.h" ++#include "internal/bitmap.h" + #include "cfm.h" + #include "connectivity.h" +-#include "coverage.h" +-#include "daemon.h" +-#include "dirs.h" ++#include "internal/coverage.h" ++#include "internal/daemon.h" ++#include "internal/dirs.h" + #include "dpif.h" + #include "dpdk.h" +-#include "hash.h" ++#include "internal/hash.h" + #include "openvswitch/hmap.h" +-#include "hmapx.h" ++#include "internal/hmapx.h" + #include "if-notifier.h" +-#include "jsonrpc.h" ++#include "internal/jsonrpc.h" + #include "lacp.h" + #include "mac-learning.h" +-#include "mcast-snooping.h" +-#include "netdev.h" ++#include "internal/mcast-snooping.h" ++#include "internal/netdev.h" + #include "netdev-offload.h" +-#include "nx-match.h" ++#include "internal/nx-match.h" + #include "ofproto/bond.h" + #include "ofproto/ofproto.h" + #include "openvswitch/dynamic-string.h" +@@ -50,24 +50,24 @@ + #include "openvswitch/vconn.h" + #include "openvswitch/vlog.h" + #include "ovs-lldp.h" +-#include "ovs-numa.h" +-#include "packets.h" ++#include "openvswitch/ovs-numa.h" ++#include "internal/packets.h" + #include "openvswitch/poll-loop.h" +-#include "seq.h" ++#include "internal/seq.h" + #include "sflow_api.h" + #include "sha1.h" + #include "openvswitch/shash.h" +-#include "smap.h" +-#include "socket-util.h" +-#include "stream.h" +-#include "stream-ssl.h" +-#include "sset.h" ++#include "internal/smap.h" ++#include "internal/socket-util.h" ++#include "internal/stream.h" ++#include "internal/stream-ssl.h" ++#include "internal/sset.h" + #include "system-stats.h" +-#include "timeval.h" ++#include "internal/timeval.h" + #include "tnl-ports.h" + #include "userspace-tso.h" +-#include "util.h" +-#include "unixctl.h" ++#include "internal/util.h" ++#include "internal/unixctl.h" + #include "lib/vswitch-idl.h" + #include "xenserver.h" + #include "vlan-bitmap.h" +diff --git a/vswitchd/ovs-vswitchd.c b/vswitchd/ovs-vswitchd.c +index 09004e79b..15aeded6e 100644 +--- a/vswitchd/ovs-vswitchd.c ++++ b/vswitchd/ovs-vswitchd.c +@@ -27,32 +27,32 @@ + + #include "bridge.h" + #include "openvswitch/compiler.h" +-#include "command-line.h" +-#include "daemon.h" +-#include "dirs.h" ++#include "internal/command-line.h" ++#include "internal/daemon.h" ++#include "internal/dirs.h" + #include "dpif.h" + #include "dummy.h" +-#include "fatal-signal.h" +-#include "memory.h" +-#include "netdev.h" ++#include "internal/fatal-signal.h" ++#include "internal/memory.h" ++#include "internal/netdev.h" + #include "openflow/openflow.h" +-#include "ovsdb-idl.h" +-#include "ovs-rcu.h" ++#include "openvswitch/ovsdb-idl.h" ++#include "openvswitch/ovs-rcu.h" + #include "ovs-router.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/poll-loop.h" +-#include "simap.h" +-#include "stream-ssl.h" +-#include "stream.h" +-#include "svec.h" +-#include "timeval.h" +-#include "unixctl.h" +-#include "util.h" ++#include "internal/simap.h" ++#include "internal/stream-ssl.h" ++#include "internal/stream.h" ++#include "internal/svec.h" ++#include "internal/timeval.h" ++#include "internal/unixctl.h" + #include "openvswitch/usdt-probes.h" + #include "openvswitch/vconn.h" + #include "openvswitch/vlog.h" + #include "lib/vswitch-idl.h" + #include "lib/dns-resolve.h" ++#include "internal/util.h" + + VLOG_DEFINE_THIS_MODULE(vswitchd); + +diff --git a/vswitchd/system-stats.c b/vswitchd/system-stats.c +index aaab67656..1306f5c22 100644 +--- a/vswitchd/system-stats.c ++++ b/vswitchd/system-stats.c +@@ -31,19 +31,19 @@ + #endif + #include + +-#include "daemon.h" +-#include "dirs.h" ++#include "internal/daemon.h" ++#include "internal/dirs.h" + #include "openvswitch/dynamic-string.h" + #include "openvswitch/json.h" +-#include "latch.h" ++#include "internal/latch.h" + #include "openvswitch/ofpbuf.h" +-#include "ovs-rcu.h" +-#include "ovs-thread.h" ++#include "openvswitch/ovs-rcu.h" ++#include "openvswitch/ovs-thread.h" + #include "openvswitch/poll-loop.h" + #include "openvswitch/shash.h" +-#include "process.h" +-#include "smap.h" +-#include "timeval.h" ++#include "internal/process.h" ++#include "internal/smap.h" ++#include "internal/timeval.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(system_stats); +diff --git a/vswitchd/xenserver.c b/vswitchd/xenserver.c +index 9a0afea98..1cc024f35 100644 +--- a/vswitchd/xenserver.c ++++ b/vswitchd/xenserver.c +@@ -22,8 +22,8 @@ + #include + #include + #include "openvswitch/dynamic-string.h" +-#include "process.h" +-#include "util.h" ++#include "internal/process.h" ++#include "internal/util.h" + #include "openvswitch/vlog.h" + + VLOG_DEFINE_THIS_MODULE(xenserver); +diff --git a/vtep/vtep-ctl.c b/vtep/vtep-ctl.c +index 6c9259fba..f2b87fad8 100644 +--- a/vtep/vtep-ctl.c ++++ b/vtep/vtep-ctl.c +@@ -27,27 +27,27 @@ + #include + #include + +-#include "db-ctl-base.h" ++#include "internal/db-ctl-base.h" + + #include "openvswitch/compiler.h" + #include "openvswitch/dynamic-string.h" +-#include "command-line.h" +-#include "fatal-signal.h" +-#include "hash.h" ++#include "internal/command-line.h" ++#include "internal/fatal-signal.h" ++#include "internal/hash.h" + #include "openvswitch/json.h" +-#include "ovsdb-data.h" +-#include "ovsdb-idl.h" ++#include "openvswitch/ovsdb-data.h" ++#include "openvswitch/ovsdb-idl.h" + #include "openvswitch/poll-loop.h" +-#include "process.h" +-#include "stream.h" +-#include "stream-ssl.h" +-#include "smap.h" +-#include "sset.h" +-#include "svec.h" ++#include "internal/process.h" ++#include "internal/stream.h" ++#include "internal/stream-ssl.h" ++#include "internal/smap.h" ++#include "internal/sset.h" ++#include "internal/svec.h" + #include "vtep/vtep-idl.h" +-#include "table.h" +-#include "timeval.h" +-#include "util.h" ++#include "internal/table.h" ++#include "internal/timeval.h" ++#include "internal/util.h" + #include "openvswitch/vconn.h" + #include "openvswitch/vlog.h" + +-- +2.35.1 + diff --git a/0001-Don-t-change-permissions-of-dev-hugepages.patch b/Don-t-change-permissions-of-dev-hugepages.patch similarity index 100% rename from 0001-Don-t-change-permissions-of-dev-hugepages.patch rename to Don-t-change-permissions-of-dev-hugepages.patch diff --git a/0001-Run-openvswitch-as-openvswitch-openvswitch.patch b/Run-openvswitch-as-openvswitch-openvswitch.patch similarity index 100% rename from 0001-Run-openvswitch-as-openvswitch-openvswitch.patch rename to Run-openvswitch-as-openvswitch-openvswitch.patch diff --git a/0001-Use-double-hash-for-OVS_USER_ID-comment.patch b/Use-double-hash-for-OVS_USER_ID-comment.patch similarity index 100% rename from 0001-Use-double-hash-for-OVS_USER_ID-comment.patch rename to Use-double-hash-for-OVS_USER_ID-comment.patch diff --git a/0001-Use-strongswan-for-openvswitch-ipsec-service.patch b/Use-strongswan-for-openvswitch-ipsec-service.patch similarity index 100% rename from 0001-Use-strongswan-for-openvswitch-ipsec-service.patch rename to Use-strongswan-for-openvswitch-ipsec-service.patch diff --git a/openvswitch-rpmlintrc b/openvswitch-rpmlintrc new file mode 100644 index 0000000..69d5344 --- /dev/null +++ b/openvswitch-rpmlintrc @@ -0,0 +1 @@ +addFilter("E: backup-file-in-package /etc/openvswitch/\.conf\.db\.~lock~") diff --git a/openvswitch.changes b/openvswitch.changes index 1ff0fbc..4b4005b 100644 --- a/openvswitch.changes +++ b/openvswitch.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Mon Mar 14 13:55:07 UTC 2022 - Ferdinand Thiessen + +- Fix installation of files shared with OVN (required for building + OVN without openvswitch sources), remove custom installation + of internal headers from SPEC-install section and use patches + (for upstreaming) instead. + * install-ovsdb-tools.patch + * Added 0001-openvswitch-merge-compiler.h-files-into-one-file.patch + * Added 0002-build-Seperated-common-used-headers.patch +- Enabled check section / running testsuite by default to validate + build result. There must no problems with the testsuite anymore as + upstream runs it by CI and checked before release of a new version. +- Renamed 0001-Don-t-change-permissions-of-dev-hugepages.patch to + Don-t-change-permissions-of-dev-hugepages.patch +- Renamed 0001-Run-openvswitch-as-openvswitch-openvswitch.patch to + Run-openvswitch-as-openvswitch-openvswitch.patch +- Renamed 0001-Use-double-hash-for-OVS_USER_ID-comment.patch to + Use-double-hash-for-OVS_USER_ID-comment.patch +- Rebased 0001-Use-strongswan-for-openvswitch-ipsec-service.patch to + Use-strongswan-for-openvswitch-ipsec-service.patch + ------------------------------------------------------------------- Fri Mar 11 11:33:18 UTC 2022 - Ferdinand Thiessen diff --git a/openvswitch.spec b/openvswitch.spec index 41513ea..43f549b 100644 --- a/openvswitch.spec +++ b/openvswitch.spec @@ -30,8 +30,7 @@ %bcond_with dpdk %endif # The testsuite is somewhat fragile for continuous testing in OBS -# but keep it here as an option -%bcond_with check +%bcond_without check # Disable building the external kernel datapath by default %bcond_with kmp %define lname libopenvswitch-2_17-0 @@ -49,29 +48,33 @@ Source0: http://openvswitch.org/releases/openvswitch-%{version}.tar.gz Source2: preamble Source89: Module.supported.updates # PATCH-FIX-OPENSUSE: Use-strongswan-for-openvswitch-ipsec-service.patch -Patch0: 0001-Use-strongswan-for-openvswitch-ipsec-service.patch -# PATCH-FIX-OPENSUSE: 0001-Run-openvswitch-as-openvswitch-openvswitch.patch -Patch1: 0001-Run-openvswitch-as-openvswitch-openvswitch.patch -# PATCH-FIX-OPENSUSE: 0001-Don-t-change-permissions-of-dev-hugepages.patch -Patch2: 0001-Don-t-change-permissions-of-dev-hugepages.patch -# PATCH-FIX-OPENSUSE: 0001-Use-double-hash-for-OVS_USER_ID-comment.patch -Patch3: 0001-Use-double-hash-for-OVS_USER_ID-comment.patch +Patch0: Use-strongswan-for-openvswitch-ipsec-service.patch +# PATCH-FIX-OPENSUSE: Run-openvswitch-as-openvswitch-openvswitch.patch +Patch1: Run-openvswitch-as-openvswitch-openvswitch.patch +# PATCH-FIX-OPENSUSE: Don-t-change-permissions-of-dev-hugepages.patch +Patch2: Don-t-change-permissions-of-dev-hugepages.patch +# PATCH-FIX-OPENSUSE: Use-double-hash-for-OVS_USER_ID-comment.patch +Patch3: Use-double-hash-for-OVS_USER_ID-comment.patch # PATCH-FEATURE-UPSTREAM install-ovsdb-tools.patch -- Install some tools required for building OVN Patch4: install-ovsdb-tools.patch +Patch5: 0001-openvswitch-merge-compiler.h-files-into-one-file.patch +Patch6: 0002-build-Seperated-common-used-headers.patch +# Python subpackage +BuildRequires: %{python_module devel} BuildRequires: %{python_module setuptools} +BuildRequires: python-rpm-macros +# Main package BuildRequires: autoconf BuildRequires: automake BuildRequires: fdupes BuildRequires: graphviz -BuildRequires: libcap-ng-devel -BuildRequires: libopenssl-devel BuildRequires: libtool BuildRequires: make BuildRequires: pkgconfig -BuildRequires: python -BuildRequires: python-rpm-macros +BuildRequires: python3 BuildRequires: python3-Sphinx BuildRequires: unbound-devel +BuildRequires: pkgconfig(libcap-ng) BuildRequires: pkgconfig(openssl) Requires: modutils # ovs-ctl / ovs-pki use /usr/bin/uuidgen: @@ -162,6 +165,8 @@ Summary: Development files for Open vSwitch License: Apache-2.0 Group: Development/Libraries/C and C++ Requires: %{lname} = %{version} +# Required for ovsdb-ildc +Requires: python3-ovs = %{version} Provides: %{name}-dpdk-devel = %{version} Obsoletes: %{name}-dpdk-devel < 2.7.0 @@ -310,12 +315,14 @@ python3 build-aux/dpdkstrip.py \ %if %{with check} touch resolv.conf export OVS_RESOLV_CONF=$(pwd)/resolv.conf +mv python/build python/pb +ln -s _build.tmp python/build # Recheck tests before we declare them broken. If that fails, dump # the log and exit. >2.5.0 uses the RECHECK env variable so this # needs to be taken into consideration for future releases. -if ! make check TESTSUITEFLAGS="%{?_smp_mflags}" && - ! make check TESTSUITEFLAGS='--recheck'; then +if ! make check-am TESTSUITEFLAGS="%{?_smp_mflags}" && + ! make check-am TESTSUITEFLAGS='--recheck'; then cat tests/testsuite.log exit 1 fi @@ -339,18 +346,10 @@ done # Remove static libraries and libtool files rm -f %{buildroot}%{_libdir}/*.{l,}a -# Install extra headers not included with 'make install' -copy_headers() { - src=$1 - dst=%{buildroot}/$2 - install -d -m 0755 $dst - install -m 0644 $src/*.h $dst -} -copy_headers include/sparse %{_includedir}/openvswitch/sparse -copy_headers include/sparse/arpa %{_includedir}/openvswitch/sparse/arpa -copy_headers include/sparse/netinet %{_includedir}/openvswitch/sparse/netinet -copy_headers include/sparse/sys %{_includedir}/openvswitch/sparse/sys -copy_headers lib %{_includedir}/openvswitch/lib +# Fix installation path +mkdir -p %{buildroot}/%{_datadir}/bash-completion/completions/ +mv %{buildroot}/%{_sysconfdir}/bash_completion.d/ovs-* %{buildroot}/%{_datadir}/bash-completion/completions/ +chmod 0644 %{buildroot}/%{_datadir}/bash-completion/completions/* # Install systemd files for service in openvswitch \ @@ -366,10 +365,6 @@ done install -D -m 644 rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \ %{buildroot}%{_fillupdir}/sysconfig.openvswitch -# Fix installation path -mkdir -p %{buildroot}/%{_datadir}/bash-completion/completions/ -mv %{buildroot}/%{_sysconfdir}/bash_completion.d/ovs-* %{buildroot}/%{_datadir}/bash-completion/completions/ - install -d -m 0755 %{buildroot}/%{_rundir}/openvswitch install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d install -d -m 0755 %{buildroot}%{_localstatedir}/log/openvswitch @@ -402,7 +397,7 @@ rm -f python/ovs/dirs.py make python/ovs/dirs.py pushd python export LDFLAGS="${LDFLAGS} -L %{buildroot}%{_libdir}" -export CPPFLAGS="-I ../../include" +export CPPFLAGS="-I %{buildroot}%{_includedir} -I %{buildroot}%{_includedir}/openvswitch" %python_build %python_install popd