Import from old repository commit 61ef2b42a9c4ba8e1600f15bb0236765edc2ad45.
[cascardo/ovs.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]
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
25 .TP
26 \fBptcp:\fR[\fIport\fR]
27 Listens for TCP connections from remote OpenFlow switches on
28 \fIport\fR (default: 6633).
29
30 .TP
31 \fBpunix:\fIfile\fR
32 Listens for connections from OpenFlow switches on the Unix domain
33 server socket named \fIfile\fR.
34
35 .TP
36 \fBssl:\fIhost\fR[\fB:\fIport\fR]
37 The specified SSL \fIport\fR (default: 6633) on the given remote
38 \fIhost\fR.  The \fB--private-key\fR, \fB--certificate\fR, and
39 \fB--ca-cert\fR options are mandatory when this form is used.
40
41 .TP
42 \fBtcp:\fIhost\fR[\fB:\fIport\fR]
43 The specified TCP \fIport\fR (default: 6633) on the given remote
44 \fIhost\fR.
45
46 .TP
47 \fBunix:\fIfile\fR
48 The Unix domain server socket named \fIfile\fR.
49
50 .SH OPTIONS
51 .TP
52 \fB-p\fR, \fB--private-key=\fIprivkey.pem\fR
53 Specifies a PEM file containing the private key used as the switch's
54 identity for SSL connections to the controller.
55
56 .TP
57 \fB-c\fR, \fB--certificate=\fIcert.pem\fR
58 Specifies a PEM file containing a certificate, signed by the
59 controller's certificate authority (CA), that certifies the switch's
60 private key to identify a trustworthy switch.
61
62 .TP
63 \fB-C\fR, \fB--ca-cert=\fIswitch-cacert.pem\fR
64 Specifies a PEM file containing the CA certificate used to verify that
65 the switch is connected to a trustworthy controller.
66
67 .TP
68 \fB--peer-ca-cert=\fIcontroller-cacert.pem\fR
69 Specifies a PEM file that contains one or more additional certificates
70 to send to switches.  \fIcontroller-cacert.pem\fR should be the CA
71 certificate used to sign the controller's own certificate (the
72 certificate specified on \fB-c\fR or \fB--certificate\fR).
73
74 This option is not useful in normal operation, because the switch must
75 already have the controller CA certificate for it to have any
76 confidence in the controller's identity.  However, this option allows
77 a newly installed switch to obtain the controller CA certificate on
78 first boot using, e.g., the \fB--bootstrap-ca-cert\fR option to
79 \fBsecchan\fR(8).
80
81 .IP "\fB-n\fR, \fB--noflow\fR"
82 By default, \fBovs\-controller\fR sets up a flow in each OpenFlow switch
83 whenever it receives a packet whose destination is known due through
84 MAC learning.  This option disables flow setup, so that every packet
85 in the network passes through the controller.
86
87 This option is most useful for debugging.  It reduces switching
88 performance, so it should not be used in production.
89
90 .TP
91 \fB--max-idle=\fIsecs\fR|\fBpermanent\fR
92 Sets \fIsecs\fR as the number of seconds that a flow set up by the
93 controller will remain in the switch's flow table without any matching
94 packets being seen.  If \fBpermanent\fR is specified, which is not
95 recommended, flows will never expire.  The default is 60 seconds.
96
97 This option affects only flows set up by the OpenFlow controller.  In
98 some configurations, the switch can set up some flows
99 on its own.  To set the idle time for those flows, pass
100 \fB--max-idle\fR to \fBsecchan\fR (on the switch).
101
102 This option has no effect when \fB-n\fR (or \fB--noflow\fR) is in use
103 (because the controller does not set up flows in that case).
104
105 .IP "\fB-H\fR, \fB--hub\fR"
106 By default, the controller acts as an L2 MAC-learning switch.  This
107 option changes its behavior to that of a hub that floods packets on
108 all but the incoming port.
109
110 If \fB-H\fR (or \fB--hub\fR) and \fB-n\fR (or \fB--noflow\fR) are used
111 together, then the cumulative effect is that every packet passes
112 through the controller and every packet is flooded.
113
114 This option is most useful for debugging.  It reduces switching
115 performance, so it should not be used in production.
116
117 .so lib/daemon.man
118 .so lib/vlog.man
119 .so lib/common.man
120
121 .SH EXAMPLES
122
123 .TP
124 To bind locally to port 6633 (the default) and wait for incoming connections from OpenFlow switches:
125
126 .B % ovs\-controller ptcp:
127
128 .SH "SEE ALSO"
129
130 .BR secchan (8),
131 .BR ovs\-appctl (8),
132 .BR ovs\-dpctl (8)