Add "fail open" feature to secchan.
[sliver-openvswitch.git] / switch / switch.8
1 .TH secchan 8 "May 2008" "OpenFlow" "OpenFlow Manual"
2
3 .SH NAME
4 switch \- userspace implementation of OpenFlow switch
5
6 .SH SYNOPSIS
7 .B switch
8 [\fIoptions\fR]
9 \fB-i\fR \fInetdev\fR[\fB,\fInetdev\fR]...
10 \fIcontroller\fR
11
12 .SH DESCRIPTION
13 The \fBswitch\fR is a userspace implementation of an OpenFlow switch.
14 It implements all three parts of the OpenFlow switch specification: a
15 ``flow table'' in which each flow entry is associated with an action
16 telling the switch how to process the flow; a ``secure channel''
17 connecting the switch to a remote process (a controller), allowing
18 commands and packets to be sent between the controller and the switch;
19 and an OpenFlow protocol implementation.
20
21 \fBswitch\fR monitors one or more network device interfaces,
22 forwarding packets between them according to the entries in the flow
23 table.  It also maintains a connection to an OpenFlow controller over
24 a TCP or SSL connection, relaying packets that do not match a flow
25 table entry to the controller and executing commands sent by the
26 controller.
27
28 For access to network devices, the switch program must normally run as
29 root.
30
31 The mandatory \fIcontroller\fR argument specifies how to connect to
32 the OpenFlow controller.  It takes one of the following forms:
33
34 .TP
35 \fBtcp:\fIhost\fR[\fB:\fIport\fR]
36 The specified TCP \fIport\fR (default: 975) on the given remote
37 \fIhost\fR.
38
39 .TP
40 \fBssl:\fIhost\fR[\fB:\fIport\fR]
41 The specified SSL \fIport\fR (default: 976) on the given remote
42 \fIhost\fR.  The \fB--private-key\fR, \fB--certificate\fR, and
43 \fB--ca-cert\fR options are mandatory when this form is used.
44
45 .SH OPTIONS
46 .TP
47 \fB-i\fR, \fB--interfaces=\fR\fInetdev\fR[\fB,\fInetdev\fR]...
48 Specifies each \fInetdev\fR (e.g., \fBeth0\fR) as a switch port.  The
49 specified network devices should not have any configured IP addresses.
50 This option may be given any number of times to specify additional
51 network devices.
52
53 .TP
54 \fB-d\fR, \fB--datapath-id=\fIdpid\fR
55 Specifies the OpenFlow switch ID (a 48-bit number that uniquely
56 identifies a controller) as \fIdpid\fR, which consists of exactly 12
57 hex digits.  Without this option, \fBswitch\fR picks an ID randomly.
58
59 .TP
60 \fB-p\fR, \fB--private-key=\fIprivkey.pem\fR
61 Specifies a PEM file containing the private key used as the switch's
62 identity for SSL connections to the controller.
63
64 .TP
65 \fB-c\fR, \fB--certificate=\fIcert.pem\fR
66 Specifies a PEM file containing a certificate, signed by the
67 controller's certificate authority (CA), that certifies the switch's
68 private key to identify a trustworthy switch.
69
70 .TP
71 \fB-C\fR, \fB--ca-cert=\fIcacert.pem\fR
72 Specifies a PEM file containing the CA certificate used to verify that
73 the switch is connected to a trustworthy controller.
74
75 .TP
76 .BR \-h ", " \-\^\-help
77 Prints a brief help message to the console.
78
79 .TP
80 .BR \-v ", " \-\^\-verbose
81 Prints debug messages to the console.
82
83 .TP
84 .BR \-V ", " \-\^\-version
85 Prints version information to the console.
86
87 .SH "SEE ALSO"
88
89 .BR dpctl (8),
90 .BR ofp-pki (8),
91 .BR controller (8)
92 .BR vlogconf (8)