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

Reply via email to