- struct unixctl_client *client;
- int error = unixctl_client_create(path, &client);
- if (error) {
- fprintf(stderr, "Error connecting to \"%s\": %s\n",
- path, strerror(error));
- *ok = false;
- } else {
- *clients = xrealloc(*clients, sizeof *clients * (*n_clients + 1));
- (*clients)[*n_clients] = client;
- ++*n_clients;
- }
+ printf("\
+%s, for querying and controlling Open vSwitch daemon\n\
+usage: %s [TARGET] COMMAND [ARG...]\n\
+Targets:\n\
+ -t, --target=TARGET pidfile or socket to contact\n\
+Common commands:\n\
+ help List commands supported by the target\n\
+ version Print version of the target\n\
+ vlog/list List current logging levels\n\
+ vlog/set [SPEC]\n\
+ Set log levels as detailed in SPEC, which may include:\n\
+ A valid module name (all modules, by default)\n\
+ 'syslog', 'console', 'file' (all facilities, by default))\n\
+ 'off', 'emer', 'err', 'warn', 'info', or 'dbg' ('dbg', bydefault)\n\
+ vlog/reopen Make the program reopen its log file\n\
+Other options:\n\
+ --timeout=SECS wait at most SECS seconds for a response\n\
+ -h, --help Print this helpful information\n\
+ -V, --version Display ovs-appctl version information\n",
+ program_name, program_name);
+ exit(EXIT_SUCCESS);