X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=vswitchd%2Fovs-vswitchd.c;h=28491fc6c17f5a9d6261e6b4bf4672c09c4a8ee0;hb=55bc65533fe868666f6ea8539f2a1b30da964abf;hp=01a0e7edf2d03e50cc37b205715278f39c1dc9c2;hpb=34e63086edddcae06d7c1a4fa84fec0861e50758;p=openvswitch diff --git a/vswitchd/ovs-vswitchd.c b/vswitchd/ovs-vswitchd.c index 01a0e7ed..28491fc6 100644 --- a/vswitchd/ovs-vswitchd.c +++ b/vswitchd/ovs-vswitchd.c @@ -28,12 +28,13 @@ #include "command-line.h" #include "compiler.h" #include "daemon.h" +#include "dpif.h" #include "fault.h" #include "leak-checker.h" #include "mgmt.h" +#include "netdev.h" #include "ovs-vswitchd.h" #include "poll-loop.h" -#include "port.h" #include "proc-net-compat.h" #include "process.h" #include "signals.h" @@ -80,10 +81,12 @@ main(int argc, char *argv[]) } unixctl_command_register("vswitchd/reload", reload); - cfg_read(); + retval = cfg_read(); + if (retval) { + ovs_fatal(retval, "could not read config file"); + } mgmt_init(); bridge_init(); - port_init(); mgmt_reconfigure(); need_reconfigure = false; @@ -93,11 +96,15 @@ main(int argc, char *argv[]) vlog_reopen_log_file(); reconfigure(); } - mgmt_run(); + if (mgmt_run()) { + need_reconfigure = true; + } if (bridge_run()) { need_reconfigure = true; } unixctl_server_run(unixctl); + dp_run(); + netdev_run(); if (need_reconfigure) { poll_immediate_wake(); @@ -106,6 +113,8 @@ main(int argc, char *argv[]) mgmt_wait(); bridge_wait(); unixctl_server_wait(unixctl); + dp_wait(); + netdev_wait(); poll_block(); } @@ -128,7 +137,6 @@ reconfigure(void) cfg_read(); bridge_reconfigure(); mgmt_reconfigure(); - port_reconfigure(); for (i = 0; i < n_conns; i++) { unixctl_command_reply(conns[i], 202, NULL); @@ -217,6 +225,7 @@ parse_options(int argc, char *argv[]) "use --help for usage"); } + cfg_init(); config_file = argv[0]; error = cfg_set_file(config_file); if (error) { @@ -228,7 +237,7 @@ parse_options(int argc, char *argv[]) static void usage(void) { - printf("%s: virtual switch daemon\n" + printf("%s: Open vSwitch daemon\n" "usage: %s [OPTIONS] CONFIG\n" "CONFIG is a configuration file in ovs-vswitchd.conf(5) format.\n", program_name, program_name);