Bring manpages and usage messages up-to-date.
[sliver-openvswitch.git] / controller / controller.8.in
1 .TH controller 8 "May 2008" "OpenFlow" "OpenFlow Manual"
2
3 .SH NAME
4 controller \- simple OpenFlow controller reference implementation
5
6 .SH SYNOPSIS
7 .B controller
8 [\fIoptions\fR] \fImethod\fR \fB[\fImethod\fR]\&...
9
10 .SH DESCRIPTION
11 A sample OpenFlow controller which functions as an L2 MAC-learning
12 switch or hub.  \fBcontroller\fR can manage a remote datapath through
13 a secure channel (see \fBsecchan(8)\fR).  It can also connect directly
14 to a local datapath via Netlink.
15
16 \fBcontroller\fR controls one or more OpenFlow switches, specified as
17 one or more of the following OpenFlow connection methods:
18
19 .TP
20 \fBpssl:\fR[\fIport\fR]
21 Listens for SSL connections from remote OpenFlow switches on
22 \fIport\fR (default: 976).  The \fB--private-key\fR,
23 \fB--certificate\fR, and \fB--ca-cert\fR options are mandatory when
24 this form is used.
25
26 .TP
27 \fBptcp:\fR[\fIport\fR]
28 Listens for TCP connections from remote OpenFlow switches on
29 \fIport\fR (default: 975).
30
31 .TP
32 \fBnl:\fIdp_idx\fR
33 The local Netlink datapath numbered \fIdp_idx\fR, as configured with
34 .BR dpctl (8).
35 This form requires that the local host has the OpenFlow kernel
36 module for Linux loaded.
37
38 .TP
39 \fBssl:\fIhost\fR[\fB:\fIport\fR]
40 The specified SSL \fIport\fR (default: 976) on the given remote
41 \fIhost\fR.  The \fB--private-key\fR, \fB--certificate\fR, and
42 \fB--ca-cert\fR options are mandatory when this form is used.
43
44 .TP
45 \fBtcp:\fIhost\fR[\fB:\fIport\fR]
46 The specified TCP \fIport\fR (default: 975) on the given remote
47 \fIhost\fR.
48
49 .SH OPTIONS
50 .TP
51 \fB-p\fR, \fB--private-key=\fIprivkey.pem\fR
52 Specifies a PEM file containing the private key used as the switch's
53 identity for SSL connections to the controller.
54
55 .TP
56 \fB-c\fR, \fB--certificate=\fIcert.pem\fR
57 Specifies a PEM file containing a certificate, signed by the
58 controller's certificate authority (CA), that certifies the switch's
59 private key to identify a trustworthy switch.
60
61 .TP
62 \fB-C\fR, \fB--ca-cert=\fIcacert.pem\fR
63 Specifies a PEM file containing the CA certificate used to verify that
64 the switch is connected to a trustworthy controller.
65
66 .TP
67 .BR \-n ", " \-\^\-noflow
68 By default, the controller sets up a flow in each OpenFlow switch
69 whenever it receives a packet whose destination is known due through
70 MAC learning.  This option disables flow setup, so that every packet
71 in the network passes through the controller.
72
73 This option is most useful for debugging.  It reduces switching
74 performance, so it should not be used in production.
75
76 .TP
77 .BR \-H ", " \-\^\-hub
78 By default, the controller acts as an L2 MAC-learning switch.  This
79 option changes its behavior to that of a hub that floods packets on
80 all but the incoming port.
81
82 If \fB-H\fR (or \fB--hub\fR) and \fB-n\fR (or \fB--noflow\fR) are used
83 together, then the cumulative effect is that every packet passes
84 through the controller and every packet is flooded.
85
86 This option is most useful for debugging.  It reduces switching
87 performance, so it should not be used in production.
88
89 .TP
90 \fB-P\fR[\fIpidfile\fR], \fB--pidfile\fR[\fB=\fIpidfile\fR]
91 Causes a file (by default, \fBcontroller.pid\fR) to be created indicating
92 the PID of the running process.  If \fIpidfile\fR is not specified, or
93 if it does not begin with \fB/\fR, then it is created in
94 \fB@rundir@\fR.
95
96 .TP
97 \fB-D\fR, \fB--detach\fR
98 Causes \fBcontroller\fR to detach itself from the foreground session and
99 run as a background process.
100
101 .TP
102 .BR \-h ", " \-\^\-help
103 Prints a brief help message to the console.
104
105 .TP
106 \fB-v\fR \fImodule\fB:\fIfacility\fB:\fIlevel\fR, \fB--verbose=\fImodule\fB:\fIfacility\fB:\fIlevel\fR
107 Sets the logging level for \fImodule\fR in \fIfacility\fR to
108 \fIlevel\fR.  The \fImodule\fR may be any valid module name (as
109 displayed by the \fB--list\fR action on \fBvlogconf\fR(8)), or the
110 special name \fBANY\fR to set the logging levels for all modules.  The
111 \fIfacility\fR may be \fBsyslog\fR or \fBconsole\fR to set the levels
112 for logging to the system log or to the console, respectively, or
113 \fBANY\fR to set the logging levels for both facilities.  The
114 \fIlevel\fR must be one of \fBemer\fR, \fBerr\fR, \fBwarn\fR, or
115 \fBdbg\fR, designating the minimum severity of a message for it to be
116 logged.
117
118 .TP
119 \fB-v\fR, \fB--verbose\fR
120 Sets the maximum logging verbosity level, equivalent to
121 \fB--verbose=ANY:ANY:dbg\fR.
122
123 .TP
124 .BR \-V ", " \-\^\-version
125 Prints version information to the console.
126
127 .SH EXAMPLES
128
129 .TP
130 To connect directly to local datapath 0 over netlink (Linux only):
131
132 .B % controller nl:0
133
134 .TP
135 To bind locally to port 975 (the default) and wait for incoming connections from OpenFlow switches:
136
137 .B % controller ptcp:
138
139 .SH "SEE ALSO"
140
141 .BR dpctl (8),
142 .BR switch (8),
143 .BR secchan (8),
144 .BR vlogconf (8)