[ovs-dev] [db-ctl-base v2 1/3] db-ctl-base: do not expose get_table() API

Andy Zhou azhou at nicira.com
Thu Jul 9 20:27:16 UTC 2015


Both get_table() and set_cloum() APIs are mostly used within db-ctl-base
library. This patch makes both private to the library.

Add a new ctl_set_colum() API for library client.

The changes are cleanups. No functional changes.

Signed-off-by: Andy Zhou <azhou at nicira.com>
---
 lib/db-ctl-base.c     | 15 +++++++++++++--
 lib/db-ctl-base.h     | 10 +++-------
 utilities/ovs-vsctl.c |  4 ++--
 3 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/lib/db-ctl-base.c b/lib/db-ctl-base.c
index 10884b4..64c01e6 100644
--- a/lib/db-ctl-base.c
+++ b/lib/db-ctl-base.c
@@ -47,6 +47,10 @@ struct ovsdb_idl *the_idl;
 struct ovsdb_idl_txn *the_idl_txn;
 
 static struct shash all_commands = SHASH_INITIALIZER(&all_commands);
+static const struct ctl_table_class *get_table(const char *table_name);
+static void set_column(const struct ctl_table_class *,
+                       const struct ovsdb_idl_row *, const char *,
+                       struct ovsdb_symbol_table *);
 
 
 static struct option *
@@ -1990,7 +1994,7 @@ ctl_context_done(struct ctl_context *ctx,
 
 /* Finds and returns the "struct ctl_table_class *" with 'table_name' by
  * searching the 'tables'. */
-const struct ctl_table_class *
+static const struct ctl_table_class *
 get_table(const char *table_name)
 {
     const struct ctl_table_class *table;
@@ -2018,7 +2022,7 @@ get_table(const char *table_name)
 }
 
 /* Sets the column of 'row' in 'table'. */
-void
+static void
 set_column(const struct ctl_table_class *table,
            const struct ovsdb_idl_row *row, const char *arg,
            struct ovsdb_symbol_table *symtab)
@@ -2070,3 +2074,10 @@ set_column(const struct ctl_table_class *table,
     free(key_string);
     free(value_string);
 }
+
+void ctl_set_column(const char *table_name,
+                    const struct ovsdb_idl_row *row, const char *arg,
+                    struct ovsdb_symbol_table *symtab)
+{
+    set_column(get_table(table_name), row, arg, symtab);
+}
diff --git a/lib/db-ctl-base.h b/lib/db-ctl-base.h
index f14d27f..8d25fbe 100644
--- a/lib/db-ctl-base.h
+++ b/lib/db-ctl-base.h
@@ -43,9 +43,6 @@ struct table;
  * - the *ctl command context by inheriting the 'struct ctl_context' for
  *   additional commands implemented by user.  (See 'struct ctl_context' for
  *   more info)
- *
- * - the 'tables[]' for each table in the schema.
- *
 */
 
 /* ctl_fatal() also logs the error, so it is preferred in this file. */
@@ -250,9 +247,8 @@ struct ctl_table_class {
  * entry. */
 extern const struct ctl_table_class tables[];
 
-const struct ctl_table_class *get_table(const char *table_name);
-void set_column(const struct ctl_table_class *,
-                const struct ovsdb_idl_row *, const char *arg,
-                struct ovsdb_symbol_table *);
+void ctl_set_column(const char *table_name,
+                    const struct ovsdb_idl_row *, const char *arg,
+                    struct ovsdb_symbol_table *);
 
 #endif /* db-ctl-base.h */
diff --git a/utilities/ovs-vsctl.c b/utilities/ovs-vsctl.c
index c9af355..863bc73 100644
--- a/utilities/ovs-vsctl.c
+++ b/utilities/ovs-vsctl.c
@@ -1556,8 +1556,8 @@ add_port(struct ctl_context *ctx,
     }
 
     for (i = 0; i < n_settings; i++) {
-        set_column(get_table("Port"), &port->header_, settings[i],
-                   ctx->symtab);
+        ctl_set_column("Port", &port->header_, settings[i],
+                       ctx->symtab);
     }
 
     bridge_insert_port((bridge->parent ? bridge->parent->br_cfg
-- 
1.9.1




More information about the dev mailing list