X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=utilities%2Fovs-controller.c;h=f487d8ce02c41e0a513ec39d2c86771178cfd81d;hb=b0a17866c3145fd35e844e1b66c499c55ecf6f1d;hp=70bc2e65201e6d57363d4f8655cf4bc1b4c30ebe;hpb=07fc4ed3410006950012aef8d78f017c5b833e98;p=sliver-openvswitch.git diff --git a/utilities/ovs-controller.c b/utilities/ovs-controller.c index 70bc2e652..f487d8ce0 100644 --- a/utilities/ovs-controller.c +++ b/utilities/ovs-controller.c @@ -83,6 +83,7 @@ static struct simap port_queues = SIMAP_INITIALIZER(&port_queues); /* --with-flows: Flows to send to switch. */ static struct ofputil_flow_mod *default_flows; static size_t n_default_flows; +static enum ofputil_protocol usable_protocols; /* --unixctl: Name of unixctl socket, or null to use the default. */ static char *unixctl_path = NULL; @@ -136,7 +137,7 @@ main(int argc, char *argv[]) } } if (retval) { - VLOG_ERR("%s: connect: %s", name, strerror(retval)); + VLOG_ERR("%s: connect: %s", name, ovs_strerror(retval)); } } if (n_switches == 0 && n_listeners == 0) { @@ -216,6 +217,7 @@ new_switch(struct switch_ *sw, struct vconn *vconn) cfg.max_idle = set_up_flows ? max_idle : -1; cfg.default_flows = default_flows; cfg.n_default_flows = n_default_flows; + cfg.usable_protocols = usable_protocols; cfg.default_queue = default_queue; cfg.port_queues = &port_queues; cfg.mute = mute; @@ -278,6 +280,7 @@ parse_options(int argc, char *argv[]) for (;;) { int indexptr; + char *error; int c; c = getopt_long(argc, argv, short_options, long_options, &indexptr); @@ -327,8 +330,12 @@ parse_options(int argc, char *argv[]) break; case OPT_WITH_FLOWS: - parse_ofp_flow_mod_file(optarg, OFPFC_ADD, &default_flows, - &n_default_flows); + error = parse_ofp_flow_mod_file(optarg, OFPFC_ADD, &default_flows, + &n_default_flows, + &usable_protocols); + if (error) { + ovs_fatal(0, "%s", error); + } break; case OPT_UNIXCTL: