[ovs-dev] [PATCH] lib: Adapt jsonrpc header file for use in C++.

Yifeng Sun pkusunyifeng at gmail.com
Wed Oct 3 23:07:22 UTC 2018


This patch exposes jsonrpc.h for inclusion in C++, which will be
used by NSX.

It added [extern "C"] to the header file and fixed other places
to accommodate this change.

Signed-off-by: Yifeng Sun <pkusunyifeng at gmail.com>
---
 include/openvswitch/automake.mk     |   1 +
 include/openvswitch/jsonrpc.h       | 153 ++++++++++++++++++++++++++++++++++++
 lib/automake.mk                     |   1 -
 lib/jsonrpc.c                       |   2 +-
 lib/jsonrpc.h                       | 145 ----------------------------------
 lib/ovsdb-idl.c                     |   2 +-
 lib/stream.c                        |   2 +-
 lib/unixctl.c                       |   2 +-
 ovn/utilities/ovn-nbctl.c           |   2 +-
 ovsdb/jsonrpc-server.c              |   2 +-
 ovsdb/monitor.c                     |   2 +-
 ovsdb/ovsdb-client.c                |   2 +-
 ovsdb/ovsdb-server.c                |   2 +-
 ovsdb/raft-rpc.c                    |   2 +-
 ovsdb/raft.c                        |   2 +-
 ovsdb/replication.c                 |   2 +-
 ovsdb/trigger.c                     |   2 +-
 tests/oss-fuzz/json_parser_target.c |   2 +-
 tests/test-jsonrpc.c                |   2 +-
 tests/test-ovsdb.c                  |   2 +-
 utilities/ovs-appctl.c              |   2 +-
 vswitchd/bridge.c                   |   2 +-
 22 files changed, 172 insertions(+), 164 deletions(-)
 create mode 100644 include/openvswitch/jsonrpc.h
 delete mode 100644 lib/jsonrpc.h

diff --git a/include/openvswitch/automake.mk b/include/openvswitch/automake.mk
index aede515663cd..7de0d33df80b 100644
--- a/include/openvswitch/automake.mk
+++ b/include/openvswitch/automake.mk
@@ -6,6 +6,7 @@ openvswitchinclude_HEADERS = \
 	include/openvswitch/flow.h \
 	include/openvswitch/geneve.h \
 	include/openvswitch/json.h \
+	include/openvswitch/jsonrpc.h \
 	include/openvswitch/list.h \
 	include/openvswitch/netdev.h \
 	include/openvswitch/match.h \
diff --git a/include/openvswitch/jsonrpc.h b/include/openvswitch/jsonrpc.h
new file mode 100644
index 000000000000..82c9166476ef
--- /dev/null
+++ b/include/openvswitch/jsonrpc.h
@@ -0,0 +1,153 @@
+/*
+ * Copyright (c) 2009, 2010, 2012, 2013, 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 OPENVSWITCH_JSONRPC_H
+#define OPENVSWITCH_JSONRPC_H 1
+
+/* This is an implementation of the JSON-RPC 1.0 specification defined at
+ * http://json-rpc.org/wiki/specification. */
+
+#include <stdbool.h>
+#include <stddef.h>
+#include "openvswitch/types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct json;
+struct jsonrpc_msg;
+struct pstream;
+struct reconnect_stats;
+struct stream;
+struct svec;
+
+/* API for a JSON-RPC stream. */
+
+/* Default port numbers.
+ *
+ * OVSDB_OLD_PORT defines the original port number used by OVS.
+ * OVSDB_PORT defines the official port number assigned by IANA. */
+#define OVSDB_OLD_PORT 6632
+#define OVSDB_PORT 6640
+
+int jsonrpc_stream_open(const char *name, struct stream **, uint8_t dscp);
+int jsonrpc_pstream_open(const char *name, struct pstream **, uint8_t dscp);
+
+struct jsonrpc *jsonrpc_open(struct stream *);
+void jsonrpc_close(struct jsonrpc *);
+
+void jsonrpc_run(struct jsonrpc *);
+void jsonrpc_wait(struct jsonrpc *);
+
+int jsonrpc_get_status(const struct jsonrpc *);
+size_t jsonrpc_get_backlog(const struct jsonrpc *);
+unsigned int jsonrpc_get_received_bytes(const struct jsonrpc *);
+const char *jsonrpc_get_name(const struct jsonrpc *);
+
+int jsonrpc_send(struct jsonrpc *, struct jsonrpc_msg *);
+int jsonrpc_recv(struct jsonrpc *, struct jsonrpc_msg **);
+void jsonrpc_recv_wait(struct jsonrpc *);
+
+int jsonrpc_send_block(struct jsonrpc *, struct jsonrpc_msg *);
+int jsonrpc_recv_block(struct jsonrpc *, struct jsonrpc_msg **);
+int jsonrpc_transact_block(struct jsonrpc *, struct jsonrpc_msg *,
+                           struct jsonrpc_msg **);
+
+/* Messages. */
+enum jsonrpc_msg_type {
+    JSONRPC_REQUEST,           /* Request. */
+    JSONRPC_NOTIFY,            /* Notification. */
+    JSONRPC_REPLY,             /* Successful reply. */
+    JSONRPC_ERROR              /* Error reply. */
+};
+
+struct jsonrpc_msg {
+    enum jsonrpc_msg_type type;
+    char *method;               /* Request or notification only. */
+    struct json *params;        /* Request or notification only. */
+    struct json *result;        /* Successful reply only. */
+    struct json *error;         /* Error reply only. */
+    struct json *id;            /* Request or reply only. */
+};
+
+struct jsonrpc_msg *jsonrpc_create_request(const char *method,
+                                           struct json *params,
+                                           struct json **idp);
+struct jsonrpc_msg *jsonrpc_create_notify(const char *method,
+                                          struct json *params);
+struct jsonrpc_msg *jsonrpc_create_reply(struct json *result,
+                                         const struct json *id);
+struct jsonrpc_msg *jsonrpc_create_error(struct json *error,
+                                         const struct json *id);
+
+struct jsonrpc_msg *jsonrpc_msg_clone(const struct jsonrpc_msg *);
+
+const char *jsonrpc_msg_type_to_string(enum jsonrpc_msg_type);
+char *jsonrpc_msg_is_valid(const struct jsonrpc_msg *);
+void jsonrpc_msg_destroy(struct jsonrpc_msg *);
+
+char *jsonrpc_msg_from_json(struct json *, struct jsonrpc_msg **);
+struct json *jsonrpc_msg_to_json(struct jsonrpc_msg *);
+
+char *jsonrpc_msg_to_string(const struct jsonrpc_msg *);
+
+/* A JSON-RPC session with reconnection. */
+
+struct jsonrpc_session *jsonrpc_session_open(const char *name, bool retry);
+struct jsonrpc_session *jsonrpc_session_open_multiple(const struct svec *,
+                                                      bool retry);
+struct jsonrpc_session *jsonrpc_session_open_unreliably(struct jsonrpc *,
+                                                        uint8_t);
+void jsonrpc_session_close(struct jsonrpc_session *);
+
+struct jsonrpc *jsonrpc_session_steal(struct jsonrpc_session *);
+
+void jsonrpc_session_run(struct jsonrpc_session *);
+void jsonrpc_session_wait(struct jsonrpc_session *);
+
+size_t jsonrpc_session_get_backlog(const struct jsonrpc_session *);
+const char *jsonrpc_session_get_name(const struct jsonrpc_session *);
+size_t jsonrpc_session_get_n_remotes(const struct jsonrpc_session *);
+
+int jsonrpc_session_send(struct jsonrpc_session *, struct jsonrpc_msg *);
+struct jsonrpc_msg *jsonrpc_session_recv(struct jsonrpc_session *);
+void jsonrpc_session_recv_wait(struct jsonrpc_session *);
+
+bool jsonrpc_session_is_alive(const struct jsonrpc_session *);
+bool jsonrpc_session_is_connected(const struct jsonrpc_session *);
+unsigned int jsonrpc_session_get_seqno(const struct jsonrpc_session *);
+int jsonrpc_session_get_status(const struct jsonrpc_session *);
+int jsonrpc_session_get_last_error(const struct jsonrpc_session *);
+void jsonrpc_session_get_reconnect_stats(const struct jsonrpc_session *,
+                                         struct reconnect_stats *);
+
+void jsonrpc_session_enable_reconnect(struct jsonrpc_session *);
+void jsonrpc_session_force_reconnect(struct jsonrpc_session *);
+
+void jsonrpc_session_set_max_backoff(struct jsonrpc_session *,
+                                     int max_backoff);
+void jsonrpc_session_set_probe_interval(struct jsonrpc_session *,
+                                        int probe_interval);
+void jsonrpc_session_set_dscp(struct jsonrpc_session *,
+                              uint8_t dscp);
+const char *jsonrpc_session_get_id(const struct jsonrpc_session *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* jsonrpc.h */
diff --git a/lib/automake.mk b/lib/automake.mk
index 63e9d72ac18a..2333e1f50b96 100644
--- a/lib/automake.mk
+++ b/lib/automake.mk
@@ -111,7 +111,6 @@ lib_libopenvswitch_la_SOURCES = \
 	lib/jhash.h \
 	lib/json.c \
 	lib/jsonrpc.c \
-	lib/jsonrpc.h \
 	lib/lacp.c \
 	lib/lacp.h \
 	lib/latch.h \
diff --git a/lib/jsonrpc.c b/lib/jsonrpc.c
index 4c2c1ba84a32..1dde13b96c52 100644
--- a/lib/jsonrpc.c
+++ b/lib/jsonrpc.c
@@ -16,7 +16,7 @@
 
 #include <config.h>
 
-#include "jsonrpc.h"
+#include "openvswitch/jsonrpc.h"
 
 #include <errno.h>
 
diff --git a/lib/jsonrpc.h b/lib/jsonrpc.h
deleted file mode 100644
index a44114e8dcd9..000000000000
--- a/lib/jsonrpc.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 2009, 2010, 2012, 2013, 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 JSONRPC_H
-#define JSONRPC_H 1
-
-/* This is an implementation of the JSON-RPC 1.0 specification defined at
- * http://json-rpc.org/wiki/specification. */
-
-#include <stdbool.h>
-#include <stddef.h>
-#include "openvswitch/types.h"
-
-struct json;
-struct jsonrpc_msg;
-struct pstream;
-struct reconnect_stats;
-struct stream;
-struct svec;
-
-/* API for a JSON-RPC stream. */
-
-/* Default port numbers.
- *
- * OVSDB_OLD_PORT defines the original port number used by OVS.
- * OVSDB_PORT defines the official port number assigned by IANA. */
-#define OVSDB_OLD_PORT 6632
-#define OVSDB_PORT 6640
-
-int jsonrpc_stream_open(const char *name, struct stream **, uint8_t dscp);
-int jsonrpc_pstream_open(const char *name, struct pstream **, uint8_t dscp);
-
-struct jsonrpc *jsonrpc_open(struct stream *);
-void jsonrpc_close(struct jsonrpc *);
-
-void jsonrpc_run(struct jsonrpc *);
-void jsonrpc_wait(struct jsonrpc *);
-
-int jsonrpc_get_status(const struct jsonrpc *);
-size_t jsonrpc_get_backlog(const struct jsonrpc *);
-unsigned int jsonrpc_get_received_bytes(const struct jsonrpc *);
-const char *jsonrpc_get_name(const struct jsonrpc *);
-
-int jsonrpc_send(struct jsonrpc *, struct jsonrpc_msg *);
-int jsonrpc_recv(struct jsonrpc *, struct jsonrpc_msg **);
-void jsonrpc_recv_wait(struct jsonrpc *);
-
-int jsonrpc_send_block(struct jsonrpc *, struct jsonrpc_msg *);
-int jsonrpc_recv_block(struct jsonrpc *, struct jsonrpc_msg **);
-int jsonrpc_transact_block(struct jsonrpc *, struct jsonrpc_msg *,
-                           struct jsonrpc_msg **);
-
-/* Messages. */
-enum jsonrpc_msg_type {
-    JSONRPC_REQUEST,           /* Request. */
-    JSONRPC_NOTIFY,            /* Notification. */
-    JSONRPC_REPLY,             /* Successful reply. */
-    JSONRPC_ERROR              /* Error reply. */
-};
-
-struct jsonrpc_msg {
-    enum jsonrpc_msg_type type;
-    char *method;               /* Request or notification only. */
-    struct json *params;        /* Request or notification only. */
-    struct json *result;        /* Successful reply only. */
-    struct json *error;         /* Error reply only. */
-    struct json *id;            /* Request or reply only. */
-};
-
-struct jsonrpc_msg *jsonrpc_create_request(const char *method,
-                                           struct json *params,
-                                           struct json **idp);
-struct jsonrpc_msg *jsonrpc_create_notify(const char *method,
-                                          struct json *params);
-struct jsonrpc_msg *jsonrpc_create_reply(struct json *result,
-                                         const struct json *id);
-struct jsonrpc_msg *jsonrpc_create_error(struct json *error,
-                                         const struct json *id);
-
-struct jsonrpc_msg *jsonrpc_msg_clone(const struct jsonrpc_msg *);
-
-const char *jsonrpc_msg_type_to_string(enum jsonrpc_msg_type);
-char *jsonrpc_msg_is_valid(const struct jsonrpc_msg *);
-void jsonrpc_msg_destroy(struct jsonrpc_msg *);
-
-char *jsonrpc_msg_from_json(struct json *, struct jsonrpc_msg **);
-struct json *jsonrpc_msg_to_json(struct jsonrpc_msg *);
-
-char *jsonrpc_msg_to_string(const struct jsonrpc_msg *);
-
-/* A JSON-RPC session with reconnection. */
-
-struct jsonrpc_session *jsonrpc_session_open(const char *name, bool retry);
-struct jsonrpc_session *jsonrpc_session_open_multiple(const struct svec *,
-                                                      bool retry);
-struct jsonrpc_session *jsonrpc_session_open_unreliably(struct jsonrpc *,
-                                                        uint8_t);
-void jsonrpc_session_close(struct jsonrpc_session *);
-
-struct jsonrpc *jsonrpc_session_steal(struct jsonrpc_session *);
-
-void jsonrpc_session_run(struct jsonrpc_session *);
-void jsonrpc_session_wait(struct jsonrpc_session *);
-
-size_t jsonrpc_session_get_backlog(const struct jsonrpc_session *);
-const char *jsonrpc_session_get_name(const struct jsonrpc_session *);
-size_t jsonrpc_session_get_n_remotes(const struct jsonrpc_session *);
-
-int jsonrpc_session_send(struct jsonrpc_session *, struct jsonrpc_msg *);
-struct jsonrpc_msg *jsonrpc_session_recv(struct jsonrpc_session *);
-void jsonrpc_session_recv_wait(struct jsonrpc_session *);
-
-bool jsonrpc_session_is_alive(const struct jsonrpc_session *);
-bool jsonrpc_session_is_connected(const struct jsonrpc_session *);
-unsigned int jsonrpc_session_get_seqno(const struct jsonrpc_session *);
-int jsonrpc_session_get_status(const struct jsonrpc_session *);
-int jsonrpc_session_get_last_error(const struct jsonrpc_session *);
-void jsonrpc_session_get_reconnect_stats(const struct jsonrpc_session *,
-                                         struct reconnect_stats *);
-
-void jsonrpc_session_enable_reconnect(struct jsonrpc_session *);
-void jsonrpc_session_force_reconnect(struct jsonrpc_session *);
-
-void jsonrpc_session_set_max_backoff(struct jsonrpc_session *,
-                                     int max_backoff);
-void jsonrpc_session_set_probe_interval(struct jsonrpc_session *,
-                                        int probe_interval);
-void jsonrpc_session_set_dscp(struct jsonrpc_session *,
-                              uint8_t dscp);
-const char *jsonrpc_session_get_id(const struct jsonrpc_session *);
-
-#endif /* jsonrpc.h */
diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c
index 01a8d54ab2bb..8330d829edf6 100644
--- a/lib/ovsdb-idl.c
+++ b/lib/ovsdb-idl.c
@@ -29,7 +29,7 @@
 #include "openvswitch/dynamic-string.h"
 #include "fatal-signal.h"
 #include "openvswitch/json.h"
-#include "jsonrpc.h"
+#include "openvswitch/jsonrpc.h"
 #include "ovsdb/ovsdb.h"
 #include "ovsdb/table.h"
 #include "ovsdb-data.h"
diff --git a/lib/stream.c b/lib/stream.c
index 4e15fe0c8aaf..71590ea19bd8 100644
--- a/lib/stream.c
+++ b/lib/stream.c
@@ -26,10 +26,10 @@
 #include "coverage.h"
 #include "fatal-signal.h"
 #include "flow.h"
-#include "jsonrpc.h"
 #include "openflow/nicira-ext.h"
 #include "openflow/openflow.h"
 #include "openvswitch/dynamic-string.h"
+#include "openvswitch/jsonrpc.h"
 #include "openvswitch/ofp-print.h"
 #include "openvswitch/ofpbuf.h"
 #include "openvswitch/vlog.h"
diff --git a/lib/unixctl.c b/lib/unixctl.c
index 730bd043a9ff..bbd85a6d5df4 100644
--- a/lib/unixctl.c
+++ b/lib/unixctl.c
@@ -22,7 +22,7 @@
 #include "dirs.h"
 #include "openvswitch/dynamic-string.h"
 #include "openvswitch/json.h"
-#include "jsonrpc.h"
+#include "openvswitch/jsonrpc.h"
 #include "openvswitch/list.h"
 #include "openvswitch/poll-loop.h"
 #include "openvswitch/shash.h"
diff --git a/ovn/utilities/ovn-nbctl.c b/ovn/utilities/ovn-nbctl.c
index eabd30308ac2..2f9cc96c2013 100644
--- a/ovn/utilities/ovn-nbctl.c
+++ b/ovn/utilities/ovn-nbctl.c
@@ -24,8 +24,8 @@
 #include "db-ctl-base.h"
 #include "dirs.h"
 #include "fatal-signal.h"
-#include "jsonrpc.h"
 #include "openvswitch/json.h"
+#include "openvswitch/jsonrpc.h"
 #include "ovn/lib/acl-log.h"
 #include "ovn/lib/ovn-nb-idl.h"
 #include "ovn/lib/ovn-util.h"
diff --git a/ovsdb/jsonrpc-server.c b/ovsdb/jsonrpc-server.c
index 7c7a277f0d49..470f6d1f5499 100644
--- a/ovsdb/jsonrpc-server.c
+++ b/ovsdb/jsonrpc-server.c
@@ -24,7 +24,7 @@
 #include "openvswitch/dynamic-string.h"
 #include "monitor.h"
 #include "openvswitch/json.h"
-#include "jsonrpc.h"
+#include "openvswitch/jsonrpc.h"
 #include "ovsdb-error.h"
 #include "ovsdb-parser.h"
 #include "ovsdb.h"
diff --git a/ovsdb/monitor.c b/ovsdb/monitor.c
index dd06e265e899..a3d115b76ab4 100644
--- a/ovsdb/monitor.c
+++ b/ovsdb/monitor.c
@@ -22,7 +22,7 @@
 #include "column.h"
 #include "openvswitch/dynamic-string.h"
 #include "openvswitch/json.h"
-#include "jsonrpc.h"
+#include "openvswitch/jsonrpc.h"
 #include "ovsdb-error.h"
 #include "ovsdb-parser.h"
 #include "ovsdb.h"
diff --git a/ovsdb/ovsdb-client.c b/ovsdb/ovsdb-client.c
index 7c8a59d0e749..bfc7b8778871 100644
--- a/ovsdb/ovsdb-client.c
+++ b/ovsdb/ovsdb-client.c
@@ -35,7 +35,7 @@
 #include "fatal-signal.h"
 #include "file.h"
 #include "openvswitch/json.h"
-#include "jsonrpc.h"
+#include "openvswitch/jsonrpc.h"
 #include "lib/table.h"
 #include "log.h"
 #include "ovsdb.h"
diff --git a/ovsdb/ovsdb-server.c b/ovsdb/ovsdb-server.c
index 8d213b27aae1..79da637a934e 100644
--- a/ovsdb/ovsdb-server.c
+++ b/ovsdb/ovsdb-server.c
@@ -31,7 +31,7 @@
 #include "file.h"
 #include "hash.h"
 #include "openvswitch/json.h"
-#include "jsonrpc.h"
+#include "openvswitch/jsonrpc.h"
 #include "jsonrpc-server.h"
 #include "openvswitch/list.h"
 #include "memory.h"
diff --git a/ovsdb/raft-rpc.c b/ovsdb/raft-rpc.c
index 13aee0c4bac5..7269c5c85e40 100644
--- a/ovsdb/raft-rpc.c
+++ b/ovsdb/raft-rpc.c
@@ -20,11 +20,11 @@
 #include <stdlib.h>
 #include <string.h>
 #include "compiler.h"
-#include "jsonrpc.h"
 #include "ovsdb-error.h"
 #include "ovsdb-parser.h"
 #include "openvswitch/dynamic-string.h"
 #include "openvswitch/json.h"
+#include "openvswitch/jsonrpc.h"
 #include "openvswitch/vlog.h"
 #include "sset.h"
 
diff --git a/ovsdb/raft.c b/ovsdb/raft.c
index 02ba763e5fc4..093e32b0c99d 100644
--- a/ovsdb/raft.c
+++ b/ovsdb/raft.c
@@ -23,11 +23,11 @@
 #include <unistd.h>
 
 #include "hash.h"
-#include "jsonrpc.h"
 #include "lockfile.h"
 #include "openvswitch/dynamic-string.h"
 #include "openvswitch/hmap.h"
 #include "openvswitch/json.h"
+#include "openvswitch/jsonrpc.h"
 #include "openvswitch/list.h"
 #include "openvswitch/poll-loop.h"
 #include "openvswitch/vlog.h"
diff --git a/ovsdb/replication.c b/ovsdb/replication.c
index 752b3c89c5f6..8acefa705b03 100644
--- a/ovsdb/replication.c
+++ b/ovsdb/replication.c
@@ -19,10 +19,10 @@
 
 
 #include "condition.h"
-#include "jsonrpc.h"
 #include "openvswitch/dynamic-string.h"
 #include "openvswitch/hmap.h"
 #include "openvswitch/json.h"
+#include "openvswitch/jsonrpc.h"
 #include "openvswitch/vlog.h"
 #include "ovsdb-error.h"
 #include "ovsdb.h"
diff --git a/ovsdb/trigger.c b/ovsdb/trigger.c
index 3f62dc96fec0..6fc4473573ea 100644
--- a/ovsdb/trigger.c
+++ b/ovsdb/trigger.c
@@ -22,7 +22,7 @@
 
 #include "file.h"
 #include "openvswitch/json.h"
-#include "jsonrpc.h"
+#include "openvswitch/jsonrpc.h"
 #include "ovsdb.h"
 #include "ovsdb-error.h"
 #include "openvswitch/poll-loop.h"
diff --git a/tests/oss-fuzz/json_parser_target.c b/tests/oss-fuzz/json_parser_target.c
index e39e04a0d70a..7a87315baefe 100644
--- a/tests/oss-fuzz/json_parser_target.c
+++ b/tests/oss-fuzz/json_parser_target.c
@@ -1,7 +1,7 @@
 #include <config.h>
 #include "fuzzer.h"
-#include "jsonrpc.h"
 #include "openvswitch/json.h"
+#include "openvswitch/jsonrpc.h"
 #include "ovsdb-error.h"
 #include "ovsdb/table.h"
 #include <assert.h>
diff --git a/tests/test-jsonrpc.c b/tests/test-jsonrpc.c
index 49d2b91bd0fb..c1eb2063dc67 100644
--- a/tests/test-jsonrpc.c
+++ b/tests/test-jsonrpc.c
@@ -16,7 +16,6 @@
 
 #include <config.h>
 #undef NDEBUG
-#include "jsonrpc.h"
 #include <errno.h>
 #include <fcntl.h>
 #include <getopt.h>
@@ -25,6 +24,7 @@
 #include "command-line.h"
 #include "daemon.h"
 #include "openvswitch/json.h"
+#include "openvswitch/jsonrpc.h"
 #include "ovstest.h"
 #include "openvswitch/poll-loop.h"
 #include "stream-ssl.h"
diff --git a/tests/test-ovsdb.c b/tests/test-ovsdb.c
index 453d88eabc8c..bf6bc84c17a0 100644
--- a/tests/test-ovsdb.c
+++ b/tests/test-ovsdb.c
@@ -26,7 +26,7 @@
 #include "command-line.h"
 #include "openvswitch/dynamic-string.h"
 #include "openvswitch/json.h"
-#include "jsonrpc.h"
+#include "openvswitch/jsonrpc.h"
 #include "ovsdb-data.h"
 #include "ovsdb-error.h"
 #include "ovsdb-idl.h"
diff --git a/utilities/ovs-appctl.c b/utilities/ovs-appctl.c
index ba0c172e6dad..0480d3f7af81 100644
--- a/utilities/ovs-appctl.c
+++ b/utilities/ovs-appctl.c
@@ -26,7 +26,7 @@
 #include "daemon.h"
 #include "dirs.h"
 #include "openvswitch/dynamic-string.h"
-#include "jsonrpc.h"
+#include "openvswitch/jsonrpc.h"
 #include "process.h"
 #include "timeval.h"
 #include "unixctl.h"
diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
index 706a07cc6fb9..82af47735e43 100644
--- a/vswitchd/bridge.c
+++ b/vswitchd/bridge.c
@@ -33,7 +33,6 @@
 #include "openvswitch/hmap.h"
 #include "hmapx.h"
 #include "if-notifier.h"
-#include "jsonrpc.h"
 #include "lacp.h"
 #include "mac-learning.h"
 #include "mcast-snooping.h"
@@ -42,6 +41,7 @@
 #include "ofproto/bond.h"
 #include "ofproto/ofproto.h"
 #include "openvswitch/dynamic-string.h"
+#include "openvswitch/jsonrpc.h"
 #include "openvswitch/list.h"
 #include "openvswitch/meta-flow.h"
 #include "openvswitch/ofp-print.h"
-- 
2.7.4



More information about the dev mailing list