+.\" -*- nroff -*-
+.de IQ
+. br
+. ns
+. IP "\\$1"
+..
.TH ovs\-controller 8 "March 2009" "Open vSwitch" "Open vSwitch Manual"
.ds PN ovs\-controller
.
.RE
.
.SH OPTIONS
-.IP "\fB\-n\fR, \fB\-\-noflow\fR"
+.IP "\fB\-n\fR"
+.IQ "\fB\-\-noflow\fR"
By default, \fBovs\-controller\fR sets up a flow in each OpenFlow switch
whenever it receives a packet whose destination is known due through
MAC learning. This option disables flow setup, so that every packet
This option has no effect when \fB\-n\fR (or \fB\-\-noflow\fR) is in use
(because the controller does not set up flows in that case).
.
-.IP "\fB\-H\fR, \fB\-\-hub\fR"
+.IP "\fB\-H\fR"
+.IQ "\fB\-\-hub\fR"
By default, the controller acts as an L2 MAC-learning switch. This
option changes its behavior to that of a hub that floods packets on
all but the incoming port.
This option is most useful for debugging. It reduces switching
performance, so it should not be used in production.
.
-.IP "\fB\-w\fR, \fB\-\-wildcard\fR"
+.IP "\fB\-w\fR"
+.IQ "\fB\-\-wildcard\fR"
By default, \fBovs\-controller\fR sets up exact-match flows. This
option allows it to set up wildcarded flows, which may reduce
flow-setup latency by causing less traffic to be sent up to the
This option has no effect when \fB\-n\fR (or \fB\-\-noflow\fR) is in use
(because the controller does not set up flows in that case).
.
-.IP "\fB\-N\fR, \fB\-\-normal\fR"
+.IP "\fB\-N\fR"
+.IQ "\fB\-\-normal\fR"
By default, \fBovs\-controller\fR directs packets to a particular port
or floods them. This option causes it to direct non-flooded packets
to the OpenFlow \fBOFPP_NORMAL\fR port. This allows the switch itself
This option is only for debugging the Open vSwitch implementation of
``fail open'' mode. It must not be used in production.
.
+.IP "\fB\-q \fIid\fR"
+.IQ "\fB\-\-queue=\fIid\fR"
+By default, \fBovs\-controller\fR uses the default OpenFlow queue for
+sending packets and setting up flows. Use one of these options,
+supplying \fIid\fR as an OpenFlow queue ID as a decimal number, to
+instead use that specific queue.
+.IP
+This option may be useful for debugging quality of service setups.
+.
.SS "Public Key Infrastructure Options"
.so lib/ssl.man
.so lib/ssl-peer-ca-cert.man
* of their messages (for debugging fail-open mode). */
static bool mute = false;
+/* -q, --queue: OpenFlow queue to use, or the default queue if UINT32_MAX. */
+static uint32_t queue_id = UINT32_MAX;
+
/* --unixctl: Name of unixctl socket, or null to use the default. */
static char *unixctl_path = NULL;
sw->lswitch = lswitch_create(sw->rconn, learn_macs, exact_flows,
set_up_flows ? max_idle : -1,
action_normal);
+ lswitch_set_queue(sw->lswitch, queue_id);
}
static int
{"wildcard", no_argument, 0, 'w'},
{"max-idle", required_argument, 0, OPT_MAX_IDLE},
{"mute", no_argument, 0, OPT_MUTE},
+ {"queue", required_argument, 0, 'q'},
{"unixctl", required_argument, 0, OPT_UNIXCTL},
{"help", no_argument, 0, 'h'},
{"version", no_argument, 0, 'V'},
}
break;
+ case 'q':
+ queue_id = atoi(optarg);
+ break;
+
case OPT_UNIXCTL:
unixctl_path = optarg;
break;
" --max-idle=SECS max idle time for new flows\n"
" -N, --normal use OFPAT_NORMAL action\n"
" -w, --wildcard use wildcards, not exact-match rules\n"
+ " -q, --queue=QUEUE OpenFlow queue ID to use for output\n"
" --unixctl=SOCKET override default control socket name\n"
" -h, --help display this help message\n"
" -V, --version display version information\n");