X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=utilities%2Fovs-openflowd.c;h=d6b2c51f3b032fa9e637f9fb63f2f6b797b7f668;hb=cfae8ec3e7ba9e02d4f994f77ef70435cd3575e5;hp=f60dea5a47777ccdfd17b39673381671fae81fbc;hpb=baa905d36b831881ceb20686f567dead3ec0bf14;p=openvswitch diff --git a/utilities/ovs-openflowd.c b/utilities/ovs-openflowd.c index f60dea5a..d6b2c51f 100644 --- a/utilities/ovs-openflowd.c +++ b/utilities/ovs-openflowd.c @@ -114,6 +114,7 @@ main(int argc, char *argv[]) struct ofproto *ofproto; struct ofsettings s; int error; + struct netflow_options nf_options; set_program_name(argv[0]); register_fault_handlers(); @@ -155,6 +156,12 @@ main(int argc, char *argv[]) ofproto_set_mgmt_id(ofproto, s.mgmt_id); } ofproto_set_desc(ofproto, s.mfr_desc, s.hw_desc, s.sw_desc, s.serial_desc); + if (!s.listeners.n) { + svec_add_nocopy(&s.listeners, xasprintf("punix:%s/%s.mgmt", + ovs_rundir, s.dp_name)); + } else if (s.listeners.n == 1 && !strcmp(s.listeners.names[0], "none")) { + svec_clear(&s.listeners); + } error = ofproto_set_listeners(ofproto, &s.listeners); if (error) { ovs_fatal(error, "failed to configure management connections"); @@ -164,7 +171,9 @@ main(int argc, char *argv[]) ovs_fatal(error, "failed to configure controller snooping connections"); } - error = ofproto_set_netflow(ofproto, &s.netflow, 0, 0, false); + memset(&nf_options, 0, sizeof nf_options); + nf_options.collectors = s.netflow; + error = ofproto_set_netflow(ofproto, &nf_options); if (error) { ovs_fatal(error, "failed to configure NetFlow collectors"); } @@ -195,10 +204,12 @@ main(int argc, char *argv[]) } unixctl_server_run(unixctl); dp_run(); + netdev_run(); ofproto_wait(ofproto); unixctl_server_wait(unixctl); dp_wait(); + netdev_wait(); poll_block(); } @@ -289,7 +300,7 @@ parse_options(int argc, char *argv[], struct ofsettings *s) s->fail_mode = FAIL_OPEN; s->max_idle = 0; s->probe_interval = 0; - s->max_backoff = 15; + s->max_backoff = 8; s->update_resolv_conf = true; s->rate_limit = 0; s->burst_limit = 0; @@ -351,8 +362,7 @@ parse_options(int argc, char *argv[], struct ofsettings *s) } else if (!strcmp(optarg, "closed")) { s->fail_mode = FAIL_CLOSED; } else { - ovs_fatal(0, "-f or --fail argument must be \"open\" " - "or \"closed\""); + ovs_fatal(0, "--fail argument must be \"open\" or \"closed\""); } break; @@ -540,7 +550,7 @@ usage(void) " --inactivity-probe=SECS time between inactivity probes\n" " --max-idle=SECS max idle for flows set up by switch\n" " --max-backoff=SECS max time between controller connection\n" - " attempts (default: 15 seconds)\n" + " attempts (default: 8 seconds)\n" " -l, --listen=METHOD allow management connections on METHOD\n" " (a passive OpenFlow connection method)\n" " --snoop=METHOD allow controller snooping on METHOD\n"