Acked-by: Alex Wang <al...@nicira.com> On Thu, Jul 9, 2015 at 1:27 PM, Andy Zhou <az...@nicira.com> wrote:
> Instead, client now pass it via the modified ctl_init() API. > > Siigned-off-by: Andy Zhou <az...@nicira.com> > --- > lib/db-ctl-base.c | 8 +++++++- > lib/db-ctl-base.h | 8 ++------ > utilities/ovs-vsctl.c | 4 ++-- > vtep/vtep-ctl.c | 4 ++-- > 4 files changed, 13 insertions(+), 11 deletions(-) > > diff --git a/lib/db-ctl-base.c b/lib/db-ctl-base.c > index 64c01e6..659820b 100644 > --- a/lib/db-ctl-base.c > +++ b/lib/db-ctl-base.c > @@ -46,6 +46,11 @@ VLOG_DEFINE_THIS_MODULE(db_ctl_base); > struct ovsdb_idl *the_idl; > struct ovsdb_idl_txn *the_idl_txn; > > +/* Represents all tables in the schema. User must define 'tables' > + * in implementation and supply via clt_init(). The definition must end > + * with an all-NULL entry. */ > +static const struct ctl_table_class *tables; > + > 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 *, > @@ -1908,8 +1913,9 @@ ctl_register_commands(const struct > ctl_command_syntax *commands) > > /* Registers the 'db_ctl_commands' to 'all_commands'. */ > void > -ctl_init(void) > +ctl_init(const struct ctl_table_class tables_[]) > { > + tables = tables_; > ctl_register_commands(db_ctl_commands); > ctl_register_commands(db_ctl_show_command); > } > diff --git a/lib/db-ctl-base.h b/lib/db-ctl-base.h > index 8d25fbe..684de11 100644 > --- a/lib/db-ctl-base.h > +++ b/lib/db-ctl-base.h > @@ -53,7 +53,8 @@ struct table; > extern struct ovsdb_idl *the_idl; > extern struct ovsdb_idl_txn *the_idl_txn; > > -void ctl_init(void); > +struct ctl_table_class; > +void ctl_init(const struct ctl_table_class *tables); > char *ctl_default_db(void); > OVS_NO_RETURN void ctl_exit(int status); > OVS_NO_RETURN void ctl_fatal(const char *, ...) OVS_PRINTF_FORMAT(1, 2); > @@ -242,11 +243,6 @@ struct ctl_table_class { > struct ctl_row_id row_ids[2]; > }; > > -/* Represents all tables in the schema. User must define 'tables' > - * in implementation. And the definition must end with an all-NULL > - * entry. */ > -extern const struct ctl_table_class tables[]; > - > void ctl_set_column(const char *table_name, > const struct ovsdb_idl_row *, const char *arg, > struct ovsdb_symbol_table *); > diff --git a/utilities/ovs-vsctl.c b/utilities/ovs-vsctl.c > index 863bc73..8d62d54 100644 > --- a/utilities/ovs-vsctl.c > +++ b/utilities/ovs-vsctl.c > @@ -2262,7 +2262,7 @@ cmd_get_aa_mapping(struct ctl_context *ctx) > } > > > -const struct ctl_table_class tables[] = { > +static const struct ctl_table_class tables[] = { > {&ovsrec_table_bridge, > {{&ovsrec_table_bridge, &ovsrec_bridge_col_name, NULL}, > {&ovsrec_table_flow_sample_collector_set, NULL, > @@ -2749,6 +2749,6 @@ static const struct ctl_command_syntax > vsctl_commands[] = { > static void > vsctl_cmd_init(void) > { > - ctl_init(); > + ctl_init(tables); > ctl_register_commands(vsctl_commands); > } > diff --git a/vtep/vtep-ctl.c b/vtep/vtep-ctl.c > index 7f455df..f065fc9 100644 > --- a/vtep/vtep-ctl.c > +++ b/vtep/vtep-ctl.c > @@ -1962,7 +1962,7 @@ cmd_set_manager(struct ctl_context *ctx) > } > > /* Parameter commands. */ > -const struct ctl_table_class tables[] = { > +static const struct ctl_table_class tables[] = { > {&vteprec_table_global, > {{&vteprec_table_global, NULL, NULL}, > {NULL, NULL, NULL}}}, > @@ -2310,6 +2310,6 @@ static const struct ctl_command_syntax > vtep_commands[] = { > static void > vtep_ctl_cmd_init(void) > { > - ctl_init(); > + ctl_init(tables); > ctl_register_commands(vtep_commands); > } > -- > 1.9.1 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev