X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=vtep%2Fvtep-ctl.c;h=0b9463a90f649ad076062a6b6ffa2a56fa684d19;hb=c5cf10598f8c9f4428291e9df3ecd72a05fb1ccf;hp=233367b70ca624cd6a925190cc33c1e7af5c9a8a;hpb=428b2eddc9c47d8306252f0fc5218839d2ff017c;p=sliver-openvswitch.git diff --git a/vtep/vtep-ctl.c b/vtep/vtep-ctl.c index 233367b70..0b9463a90 100644 --- a/vtep/vtep-ctl.c +++ b/vtep/vtep-ctl.c @@ -31,6 +31,7 @@ #include "compiler.h" #include "dirs.h" #include "dynamic-string.h" +#include "fatal-signal.h" #include "hash.h" #include "json.h" #include "ovsdb-data.h" @@ -114,9 +115,6 @@ static int timeout; /* Format for table output. */ static struct table_style table_style = TABLE_STYLE_DEFAULT; -/* All supported commands. */ -static const struct vtep_ctl_command_syntax all_commands[]; - /* The IDL we're using and the current transaction, if any. * This is for use by vtep_ctl_exit() only, to allow it to clean up. * Other code should use its context arguments. */ @@ -154,6 +152,7 @@ static bool is_condition_satisfied(const struct vtep_ctl_table_class *, static struct vtep_ctl_lswitch *find_lswitch(struct vtep_ctl_context *, const char *name, bool must_exist); +static const struct vtep_ctl_command_syntax *get_all_commands(void); int main(int argc, char *argv[]) @@ -167,7 +166,7 @@ main(int argc, char *argv[]) char *args; set_program_name(argv[0]); - signal(SIGPIPE, SIG_IGN); + fatal_ignore_sigpipe(); vlog_set_levels(NULL, VLF_CONSOLE, VLL_WARN); vlog_set_levels(&VLM_reconnect, VLF_ANY_FACILITY, VLL_WARN); vteprec_init(); @@ -284,7 +283,7 @@ parse_options(int argc, char *argv[], struct shash *local_options) options = xmemdup(global_long_options, sizeof global_long_options); allocated_options = ARRAY_SIZE(global_long_options); n_options = n_global_long_options; - for (p = all_commands; p->name; p++) { + for (p = get_all_commands(); p->name; p++) { if (p->options[0]) { char *save_ptr = NULL; char *name; @@ -369,6 +368,7 @@ parse_options(int argc, char *argv[], struct shash *local_options) case 'V': ovs_print_version(0, 0); + printf("DB Schema %s\n", vteprec_get_db_version()); exit(EXIT_SUCCESS); case 't': @@ -542,7 +542,7 @@ find_command(const char *name) if (shash_is_empty(&commands)) { const struct vtep_ctl_command_syntax *p; - for (p = all_commands; p->name; p++) { + for (p = get_all_commands(); p->name; p++) { shash_add_assert(&commands, p->name, p); } } @@ -3888,3 +3888,8 @@ static const struct vtep_ctl_command_syntax all_commands[] = { {NULL, 0, 0, NULL, NULL, NULL, NULL, RO}, }; +static const struct vtep_ctl_command_syntax * +get_all_commands(void) +{ + return all_commands; +}