Merge citrix branch into master.
[sliver-openvswitch.git] / utilities / ovs-controller.8.in
1 .TH ovs\-controller 8 "March 2009" "Open vSwitch" "Open vSwitch Manual"
2 .ds PN ovs\-controller
3
4 .SH NAME
5 ovs\-controller \- simple OpenFlow controller reference implementation
6
7 .SH SYNOPSIS
8 .B ovs\-controller
9 [\fIoptions\fR] \fImethod\fR \fB[\fImethod\fR]\&...
10
11 .SH DESCRIPTION
12 \fBovs\-controller\fR manages any number of remote switches over OpenFlow
13 protocol, causing them to function as L2 MAC-learning switches or hub.
14
15 \fBovs\-controller\fR controls one or more OpenFlow switches, specified as
16 one or more of the following OpenFlow connection methods:
17
18 .TP
19 \fBpssl:\fR[\fIport\fR][\fB:\fIip\fR]
20 Listens for SSL connections from remote OpenFlow switches on
21 \fIport\fR (default: 6633).  The \fB--private-key\fR,
22 \fB--certificate\fR, and \fB--ca-cert\fR options are mandatory when
23 this form is used.
24 By default, \fB\*(PN\fR listens for connections to any local IP
25 address, but \fIip\fR may be specified to listen only for connections
26 to the given \fIip\fR.
27
28 .TP
29 \fBptcp:\fR[\fIport\fR][\fB:\fIip\fR]
30 Listens for TCP connections from remote OpenFlow switches on
31 \fIport\fR (default: 6633).
32 By default, \fB\*(PN\fR listens for connections to any local IP
33 address, but \fIip\fR may be specified to listen only for connections
34 to the given \fIip\fR.
35
36 .TP
37 \fBpunix:\fIfile\fR
38 Listens for connections from OpenFlow switches on the Unix domain
39 server socket named \fIfile\fR.
40
41 .IP "\fBssl:\fIip\fR[\fB:\fIport\fR]"
42 The specified SSL \fIport\fR (default: 6633) on the host at the given
43 \fIip\fR, which must be expressed as an IP address (not a DNS name).
44 The \fB--private-key\fR, \fB--certificate\fR, and \fB--ca-cert\fR
45 options are mandatory when this form is used.
46
47 .IP "\fBtcp:\fIip\fR[\fB:\fIport\fR]"
48 The specified TCP \fIport\fR (default: 6633) on the host at the given
49 \fIip\fR, which must be expressed as an IP address (not a DNS name).
50
51 .TP
52 \fBunix:\fIfile\fR
53 The Unix domain server socket named \fIfile\fR.
54
55 .SH OPTIONS
56 .TP
57 \fB-p\fR, \fB--private-key=\fIprivkey.pem\fR
58 Specifies a PEM file containing the private key used as the switch's
59 identity for SSL connections to the controller.
60
61 .TP
62 \fB-c\fR, \fB--certificate=\fIcert.pem\fR
63 Specifies a PEM file containing a certificate, signed by the
64 controller's certificate authority (CA), that certifies the switch's
65 private key to identify a trustworthy switch.
66
67 .TP
68 \fB-C\fR, \fB--ca-cert=\fIswitch-cacert.pem\fR
69 Specifies a PEM file containing the CA certificate used to verify that
70 the switch is connected to a trustworthy controller.
71
72 .TP
73 \fB--peer-ca-cert=\fIcontroller-cacert.pem\fR
74 Specifies a PEM file that contains one or more additional certificates
75 to send to switches.  \fIcontroller-cacert.pem\fR should be the CA
76 certificate used to sign the controller's own certificate (the
77 certificate specified on \fB-c\fR or \fB--certificate\fR).
78
79 This option is not useful in normal operation, because the switch must
80 already have the controller CA certificate for it to have any
81 confidence in the controller's identity.  However, this option allows
82 a newly installed switch to obtain the controller CA certificate on
83 first boot using, e.g., the \fB--bootstrap-ca-cert\fR option to
84 \fBovs\-openflowd\fR(8).
85
86 .IP "\fB-n\fR, \fB--noflow\fR"
87 By default, \fBovs\-controller\fR sets up a flow in each OpenFlow switch
88 whenever it receives a packet whose destination is known due through
89 MAC learning.  This option disables flow setup, so that every packet
90 in the network passes through the controller.
91
92 This option is most useful for debugging.  It reduces switching
93 performance, so it should not be used in production.
94
95 .TP
96 \fB--max-idle=\fIsecs\fR|\fBpermanent\fR
97 Sets \fIsecs\fR as the number of seconds that a flow set up by the
98 controller will remain in the switch's flow table without any matching
99 packets being seen.  If \fBpermanent\fR is specified, which is not
100 recommended, flows will never expire.  The default is 60 seconds.
101
102 This option affects only flows set up by the OpenFlow controller.  In
103 some configurations, the switch can set up some flows
104 on its own.  To set the idle time for those flows, pass
105 \fB--max-idle\fR to \fBovs\-openflowd\fR (on the switch).
106
107 This option has no effect when \fB-n\fR (or \fB--noflow\fR) is in use
108 (because the controller does not set up flows in that case).
109
110 .IP "\fB-H\fR, \fB--hub\fR"
111 By default, the controller acts as an L2 MAC-learning switch.  This
112 option changes its behavior to that of a hub that floods packets on
113 all but the incoming port.
114
115 If \fB-H\fR (or \fB--hub\fR) and \fB-n\fR (or \fB--noflow\fR) are used
116 together, then the cumulative effect is that every packet passes
117 through the controller and every packet is flooded.
118
119 This option is most useful for debugging.  It reduces switching
120 performance, so it should not be used in production.
121
122 .IP "\fB--mute\fR"
123 Prevents ovs\-controller from replying to any OpenFlow messages sent
124 to it by switches.
125 .IP
126 This option is only for debugging the Open vSwitch implementation of
127 ``fail open'' mode.  It must not be used in production.
128
129 .so lib/daemon.man
130 .so lib/vlog.man
131 .so lib/common.man
132
133 .SH EXAMPLES
134
135 .TP
136 To bind locally to port 6633 (the default) and wait for incoming connections from OpenFlow switches:
137
138 .B % ovs\-controller ptcp:
139
140 .SH "SEE ALSO"
141
142 .BR ovs\-openflowd (8),
143 .BR ovs\-appctl (8),
144 .BR ovs\-dpctl (8)