]> git.proxmox.com Git - ovs.git/blame - utilities/ovs-ofctl.8.in
docs: Add missing escape
[ovs.git] / utilities / ovs-ofctl.8.in
CommitLineData
a9b4a41a
BP
1.\" -*- nroff -*-
2.de IQ
3. br
4. ns
5. IP "\\$1"
6..
71e17a7a 7.TH ovs\-ofctl 8 "January 2011" "Open vSwitch" "Open vSwitch Manual"
064af421 8.ds PN ovs\-ofctl
a9b4a41a 9.
064af421
BP
10.SH NAME
11ovs\-ofctl \- administer OpenFlow switches
a9b4a41a 12.
064af421
BP
13.SH SYNOPSIS
14.B ovs\-ofctl
15[\fIoptions\fR] \fIcommand \fR[\fIswitch\fR] [\fIargs\fR\&...]
a9b4a41a 16.
064af421
BP
17.SH DESCRIPTION
18The
19.B ovs\-ofctl
20program is a command line tool for monitoring and administering
21OpenFlow switches. It can also show the current state of an OpenFlow
22switch, including features, configuration, and table entries.
a9b4a41a 23.
064af421 24.SS "OpenFlow Switch Management Commands"
a9b4a41a 25.PP
064af421
BP
26These commands allow \fBovs\-ofctl\fR to monitor and administer an OpenFlow
27switch. It is able to show the current state of a switch, including
28features, configuration, and table entries.
a9b4a41a 29.PP
064af421
BP
30Most of these commands take an argument that specifies the method for
31connecting to an OpenFlow switch. The following connection methods
32are supported:
a9b4a41a 33.
064af421 34.RS
84ee7bcf
BP
35.so lib/vconn-active.man
36.
064af421
BP
37.IP "\fIfile\fR"
38This is short for \fBunix:\fIfile\fR, as long as \fIfile\fR does not
39contain a colon.
84ee7bcf 40.
1a6f1e2a
JG
41.IP \fIbridge\fR
42This is short for \fBunix:@RUNDIR@/\fIbridge\fB.mgmt\fR, as long as
43\fIbridge\fR does not contain a colon.
44.
45.IP [\fItype\fB@\fR]\fIdp\fR
46Attempts to look up the bridge associated with \fIdp\fR and open as
47above. If \fItype\fR is given, it specifies the datapath provider of
48\fIdp\fR, otherwise the default provider \fBsystem\fR is assumed.
064af421 49.RE
a9b4a41a 50.
064af421
BP
51.TP
52\fBshow \fIswitch\fR
53Prints to the console information on \fIswitch\fR, including
54information on its flow tables and ports.
a9b4a41a 55.
064af421 56.TP
4e312e69 57\fBdump\-tables \fIswitch\fR
064af421
BP
58Prints to the console statistics for each of the flow tables used by
59\fIswitch\fR.
a9b4a41a 60.
064af421 61.TP
4e312e69 62\fBdump\-ports \fIswitch\fR [\fInetdev\fR]
abaad8cf
JP
63Prints to the console statistics for network devices associated with
64\fIswitch\fR. If \fInetdev\fR is specified, only the statistics
65associated with that device will be printed. \fInetdev\fR can be an
66OpenFlow assigned port number or device name, e.g. \fBeth0\fR.
a9b4a41a 67.
064af421 68.TP
4e312e69 69\fBmod\-port \fIswitch\fR \fInetdev\fR \fIaction\fR
064af421
BP
70Modify characteristics of an interface monitored by \fIswitch\fR.
71\fInetdev\fR can be referred to by its OpenFlow assigned port number or
72the device name, e.g. \fBeth0\fR. The \fIaction\fR may be any one of the
73following:
a9b4a41a 74.
064af421
BP
75.RS
76.IP \fBup\fR
77Enables the interface. This is equivalent to ``ifconfig up'' on a Unix
78system.
a9b4a41a 79.
064af421
BP
80.IP \fBdown\fR
81Disables the interface. This is equivalent to ``ifconfig down'' on a Unix
82system.
a9b4a41a 83.
064af421
BP
84.IP \fBflood\fR
85When a \fIflood\fR action is specified, traffic will be sent out this
86interface. This is the default posture for monitored ports.
a9b4a41a 87.
064af421
BP
88.IP \fBnoflood\fR
89When a \fIflood\fR action is specified, traffic will not be sent out
90this interface. This is primarily useful to prevent loops when a
91spanning tree protocol is not in use.
a9b4a41a 92.
064af421 93.RE
a9b4a41a 94.
064af421 95.TP
4e312e69 96\fBdump\-flows \fIswitch \fR[\fIflows\fR]
064af421
BP
97Prints to the console all flow entries in \fIswitch\fR's
98tables that match \fIflows\fR. If \fIflows\fR is omitted, all flows
99in the switch are retrieved. See \fBFlow Syntax\fR, below, for the
100syntax of \fIflows\fR. The output format is described in
101\fBTable Entry Output\fR.
a9b4a41a 102.
064af421 103.TP
4e312e69 104\fBdump\-aggregate \fIswitch \fR[\fIflows\fR]
064af421
BP
105Prints to the console aggregate statistics for flows in
106\fIswitch\fR's tables that match \fIflows\fR. If \fIflows\fR is omitted,
107the statistics are aggregated across all flows in the switch's flow
108tables. See \fBFlow Syntax\fR, below, for the syntax of \fIflows\fR.
109The output format is descrbed in \fBTable Entry Output\fR.
a9b4a41a 110.
d2805da2
BP
111.IP "\fBqueue\-stats \fIswitch \fR[\fIport \fR[\fIqueue\fR]]"
112Prints to the console statistics for the specified \fIqueue\fR on
113\fIport\fR within \fIswitch\fR. Either of \fIport\fR or \fIqueue\fR
114or both may be omitted (or equivalently specified as \fBALL\fR). If
115both are omitted, statistics are printed for all queues on all ports.
116If only \fIqueue\fR is omitted, then statistics are printed for all
117queues on \fIport\fR; if only \fIport\fR is omitted, then statistics
118are printed for \fIqueue\fR on every port where it exists.
119.
4989c59f
BP
120.SS "OpenFlow Switch Flow Table Commands"
121.
122These commands manage the flow table in an OpenFlow switch. In each
123case, \fIflow\fR specifies a flow entry in the format described in
124\fBFlow Syntax\fR, below, and \fIfile\fR is a text file that contains
125zero or more flows in the same syntax, one per line.
126.
127.IP "\fBadd\-flow \fIswitch flow\fR"
128.IQ "\fBadd\-flow \fIswitch \fB\- < \fIfile\fR"
129.IQ "\fBadd\-flows \fIswitch file\fR"
130Add each flow entry to \fIswitch\fR's tables.
131.
132.IP "[\fB\-\-strict\fR] \fBmod\-flows \fIswitch flow\fR"
133.IQ "[\fB\-\-strict\fR] \fBmod\-flows \fIswitch \fB\- < \fIfile\fR"
134Modify the actions in entries from \fIswitch\fR's tables that match
135the specified flows. With \fB\-\-strict\fR, wildcards are not treated
136as active for matching purposes.
137.
138.IP "\fBdel\-flows \fIswitch\fR"
139.IQ "[\fB\-\-strict\fR] \fBdel\-flows \fIswitch \fR[\fIflow\fR]"
140.IQ "[\fB\-\-strict\fR] \fBdel\-flows \fIswitch \fB\- < \fIfile\fR"
141Deletes entries from \fIswitch\fR's flow table. With only a
142\fIswitch\fR argument, deletes all flows. Otherwise, deletes flow
143entries that match the specified flows. With \fB\-\-strict\fR,
144wildcards are not treated as active for matching purposes.
a9b4a41a 145.
c4ea79bf 146.IP "[\fB\-\-readd\fR] \fBreplace\-flows \fIswitch file\fR"
0199c526
BP
147Reads flow entries from \fIfile\fR (or \fBstdin\fR if \fIfile\fR is
148\fB\-\fR) and queries the flow table from \fIswitch\fR. Then it fixes
149up any differences, adding flows from \fIflow\fR that are missing on
150\fIswitch\fR, deleting flows from \fIswitch\fR that are not in
151\fIfile\fR, and updating flows in \fIswitch\fR whose actions, cookie,
152or timeouts differ in \fIfile\fR.
153.
c4ea79bf
BP
154.IP
155With \fB\-\-readd\fR, \fBovs\-ofctl\fR adds all the flows from
156\fIfile\fR, even those that exist with the same actions, cookie, and
157timeout in \fIswitch\fR. This resets all the flow packet and byte
158counters to 0, which can be useful for debugging.
159.
0199c526
BP
160.IP "\fBdiff\-flows \fIsource1 source2\fR"
161Reads flow entries from \fIsource1\fR and \fIsource2\fR and prints the
162differences. A flow that is in \fIsource1\fR but not in \fIsource2\fR
163is printed preceded by a \fB\-\fR, and a flow that is in \fIsource2\fR
164but not in \fIsource1\fR is printed preceded by a \fB+\fR. If a flow
165exists in both \fIsource1\fR and \fIsource2\fR with different actions,
166cookie, or timeouts, then both versions are printed preceded by
167\fB\-\fR and \fB+\fR, respectively.
168.IP
169\fIsource1\fR and \fIsource2\fR may each name a file or a switch. If
170a name begins with \fB/\fR or \fB.\fR, then it is considered to be a
171file name. A name that contains \fB:\fR is considered to be a switch.
172Otherwise, it is a file if a file by that name exists, a switch if
173not.
174.IP
175For this command, an exit status of 0 means that no differences were
176found, 1 means that an error occurred, and 2 means that some
177differences were found.
178.
4989c59f
BP
179.SS "OpenFlow Switch Monitoring Commands"
180.
0caf6bde
BP
181.IP "\fBsnoop \fIswitch\fR"
182Connects to \fIswitch\fR and prints to the console all OpenFlow
183messages received. Unlike other \fBovs\-ofctl\fR commands, if
184\fIswitch\fR is the name of a bridge, then the \fBsnoop\fR command
185connects to a Unix domain socket named
186\fB@RUNDIR@/\fIbridge\fB.snoop\fR. \fBovs\-vswitchd\fR listens on
187such a socket for each bridge and sends to it all of the OpenFlow
188messages sent to or received from its configured OpenFlow controller.
189Thus, this command can be used to view OpenFlow protocol activity
190between a switch and its controller.
191.IP
192When a switch has more than one controller configured, only the
e2bfacb6
BP
193traffic to and from a single controller is output. If none of the
194controllers is configured as a master or a slave (using a Nicira
195extension to OpenFlow), then a controller is chosen arbitrarily among
196them. If there is a master controller, it is chosen; otherwise, if
197there are any controllers that are not masters or slaves, one is
198chosen arbitrarily; otherwise, a slave controller is chosen
199arbitrarily. This choice is made once at connection time and does not
200change as controllers reconfigure their roles.
201.IP
202If a switch has no controller configured, or if
0caf6bde
BP
203the configured controller is disconnected, no traffic is sent, so
204monitoring will not show any traffic.
205.
4989c59f 206.IP "\fBmonitor \fIswitch\fR [\fImiss-len\fR]"
064af421 207Connects to \fIswitch\fR and prints to the console all OpenFlow
045b2e5c
BP
208messages received. Usually, \fIswitch\fR should specify the name of a
209bridge in the \fBovs\-vswitchd\fR database.
a9b4a41a 210.IP
064af421
BP
211If \fImiss-len\fR is provided, \fBovs\-ofctl\fR sends an OpenFlow ``set
212configuration'' message at connection setup time that requests
0caf6bde
BP
213\fImiss-len\fR bytes of each packet that misses the flow table. Open vSwitch
214does not send these and other asynchronous messages to an
064af421 215\fBovs\-ofctl monitor\fR client connection unless a nonzero value is
0caf6bde
BP
216specified on this argument. (Thus, if \fImiss\-len\fR is not
217specified, very little traffic will ordinarily be printed.)
a9b4a41a 218.IP
064af421
BP
219This command may be useful for debugging switch or controller
220implementations.
a9b4a41a 221.
064af421 222.SS "OpenFlow Switch and Controller Commands"
a9b4a41a 223.
064af421
BP
224The following commands, like those in the previous section, may be
225applied to OpenFlow switches, using any of the connection methods
226described in that section. Unlike those commands, these may also be
227applied to OpenFlow controllers.
a9b4a41a 228.
064af421
BP
229.TP
230\fBprobe \fItarget\fR
231Sends a single OpenFlow echo-request message to \fItarget\fR and waits
4e312e69 232for the response. With the \fB\-t\fR or \fB\-\-timeout\fR option, this
064af421
BP
233command can test whether an OpenFlow switch or controller is up and
234running.
a9b4a41a 235.
064af421
BP
236.TP
237\fBping \fItarget \fR[\fIn\fR]
238Sends a series of 10 echo request packets to \fItarget\fR and times
239each reply. The echo request packets consist of an OpenFlow header
240plus \fIn\fR bytes (default: 64) of randomly generated payload. This
241measures the latency of individual requests.
a9b4a41a 242.
064af421
BP
243.TP
244\fBbenchmark \fItarget n count\fR
245Sends \fIcount\fR echo request packets that each consist of an
246OpenFlow header plus \fIn\fR bytes of payload and waits for each
247response. Reports the total time required. This is a measure of the
248maximum bandwidth to \fItarget\fR for round-trips of \fIn\fR-byte
249messages.
a9b4a41a 250.
064af421 251.SS "Flow Syntax"
a9b4a41a 252.PP
064af421
BP
253Some \fBovs\-ofctl\fR commands accept an argument that describes a flow or
254flows. Such flow descriptions comprise a series
255\fIfield\fB=\fIvalue\fR assignments, separated by commas or white
256space. (Embedding spaces into a flow description normally requires
257quoting to prevent the shell from breaking the description into
258multiple arguments.)
a9b4a41a 259.PP
0b3f2725
BP
260Flow descriptions should be in \fBnormal form\fR. This means that a
261flow may only specify a value for an L3 field if it also specifies a
262particular L2 protocol, and that a flow may only specify an L4 field
263if it also specifies particular L2 and L3 protocol types. For
264example, if the L2 protocol type \fBdl_type\fR is wildcarded, then L3
265fields \fBnw_src\fR, \fBnw_dst\fR, and \fBnw_proto\fR must also be
266wildcarded. Similarly, if \fBdl_type\fR or \fBnw_proto\fR (the L3
267protocol type) is wildcarded, so must be \fBtp_dst\fR and
268\fBtp_src\fR, which are L4 fields. \fBovs\-ofctl\fR will warn about
269flows not in normal form.
270.PP
064af421
BP
271The following field assignments describe how a flow matches a packet.
272If any of these assignments is omitted from the flow syntax, the field
273is treated as a wildcard; thus, if all of them are omitted, the
274resulting flow matches all packets. The string \fB*\fR or \fBANY\fR
275may be specified to explicitly mark any of these fields as a wildcard.
276(\fB*\fR should be quoted to protect it from shell expansion.)
a9b4a41a 277.
064af421
BP
278.IP \fBin_port=\fIport_no\fR
279Matches physical port \fIport_no\fR. Switch ports are numbered as
280displayed by \fBovs\-ofctl show\fR.
a9b4a41a 281.
064af421 282.IP \fBdl_vlan=\fIvlan\fR
f30f26be
JP
283Matches IEEE 802.1q Virtual LAN tag \fIvlan\fR. Specify \fB0xffff\fR
284as \fIvlan\fR to match packets that are not tagged with a Virtual LAN;
064af421
BP
285otherwise, specify a number between 0 and 4095, inclusive, as the
28612-bit VLAN ID to match.
a9b4a41a 287.
959a2ecd
JP
288.IP \fBdl_vlan_pcp=\fIpriority\fR
289Matches IEEE 802.1q Priority Code Point (PCP) \fIpriority\fR, which is
290specified as a value between 0 and 7, inclusive. A higher value
291indicates a higher frame priority level.
a9b4a41a 292.
ed951f15
BP
293.IP \fBdl_src=\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fR
294.IQ \fBdl_dst=\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fR
295Matches an Ethernet source (or destination) address specified as 6
296pairs of hexadecimal digits delimited by colons
297(e.g. \fB00:0A:E4:25:6B:B0\fR).
298.
cb8ca532
BP
299.IP \fBdl_dst=\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB/\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fR
300Matches an Ethernet destination address specified as 6 pairs of
301hexadecimal digits delimited by colons (e.g. \fB00:0A:E4:25:6B:B0\fR),
302with a wildcard mask following the slash. Only
303the following masks are allowed:
304.RS
305.IP \fB01:00:00:00:00:00\fR
306Match only the multicast bit. Thus,
307\fBdl_dst=01:00:00:00:00:00/01:00:00:00:00:00\fR matches all multicast
308(including broadcast) Ethernet packets, and
309\fBdl_dst=00:00:00:00:00:00/01:00:00:00:00:00\fR matches all unicast
310Ethernet packets.
311.IP \fBfe:ff:ff:ff:ff:ff\fR
312Match all bits except the multicast bit. This is probably not useful.
313.IP \fBff:ff:ff:ff:ff:ff\fR
314Exact match (equivalent to omitting the mask).
315.IP \fB00:00:00:00:00:00\fR
316Wildcard all bits (equivalent to \fBdl_dst=*\fR.)
317.RE
318.
064af421
BP
319.IP \fBdl_type=\fIethertype\fR
320Matches Ethernet protocol type \fIethertype\fR, which is specified as an
321integer between 0 and 65535, inclusive, either in decimal or as a
322hexadecimal number prefixed by \fB0x\fR (e.g. \fB0x0806\fR to match ARP
323packets).
a9b4a41a 324.
064af421 325.IP \fBnw_src=\fIip\fR[\fB/\fInetmask\fR]
ed951f15
BP
326.IQ \fBnw_dst=\fIip\fR[\fB/\fInetmask\fR]
327When \fBdl_type\fR is 0x0800 (possibly via shorthand, e.g. \fBip\fR
328or \fBtcp\fR), matches IPv4 source (or destination) address \fIip\fR,
329which may be specified as an IP address or host name
330(e.g. \fB192.168.1.1\fR or \fBwww.example.com\fR). The optional
331\fInetmask\fR allows restricting a match to an IPv4 address prefix.
332The netmask may be specified as a dotted quad
333(e.g. \fB192.168.1.0/255.255.255.0\fR) or as a CIDR block
064af421 334(e.g. \fB192.168.1.0/24\fR).
ed951f15
BP
335.IP
336When \fBdl_type=0x0806\fR or \fBarp\fR is specified, matches the
337\fBar_spa\fR or \fBar_tpa\fR field, respectively, in ARP packets for
338IPv4 and Ethernet.
339.IP
340When \fBdl_type\fR is wildcarded or set to a value other than 0x0800
0b3f2725
BP
341or 0x0806, the values of \fBnw_src\fR and \fBnw_dst\fR are ignored
342(see \fBFlow Syntax\fR above).
a9b4a41a 343.
064af421 344.IP \fBnw_proto=\fIproto\fR
ed951f15
BP
345When \fBip\fR or \fBdl_type=0x0800\fR is specified, matches IP
346protocol type \fIproto\fR, which is specified as a decimal number
d31f1109
JP
347between 0 and 255, inclusive (e.g. 1 to match ICMP packets or 6 to match
348TCP packets).
349.IP
350When \fBipv6\fR or \fBdl_type=0x86dd\fR is specified, matches IPv6
351header type \fIproto\fR, which is specified as a decimal number between
3520 and 255, inclusive (e.g. 58 to match ICMPv6 packets or 6 to match
353TCP). The header type is the terminal header as described in the
354\fBDESIGN\fR document.
ed951f15
BP
355.IP
356When \fBarp\fR or \fBdl_type=0x0806\fR is specified, matches the lower
3578 bits of the ARP opcode. ARP opcodes greater than 255 are treated as
3580.
359.IP
d31f1109
JP
360When \fBdl_type\fR is wildcarded or set to a value other than 0x0800,
3610x0806, or 0x86dd, the value of \fBnw_proto\fR is ignored (see \fBFlow
0b3f2725 362Syntax\fR above).
a9b4a41a 363.
834377ea 364.IP \fBnw_tos=\fItos\fR
d31f1109
JP
365Matches IP ToS/DSCP or IPv6 traffic class field \fItos\fR, which is
366specified as a decimal number between 0 and 255, inclusive. Note that
367the two lower reserved bits are ignored for matching purposes.
ed951f15 368.IP
d31f1109
JP
369When \fBdl_type\fR is wildcarded or set to a value other than 0x0800,
3700x0806, or 0x86dd, the value of \fBnw_tos\fR is ignored (see \fBFlow
371Syntax\fR above).
a9b4a41a 372.
064af421 373.IP \fBtp_src=\fIport\fR
ed951f15
BP
374.IQ \fBtp_dst=\fIport\fR
375When \fBdl_type\fR and \fBnw_proto\fR specify TCP or UDP, \fBtp_src\fR
376and \fBtp_dst\fR match the UDP or TCP source or destination port
377\fIport\fR, respectively. which is specified as a decimal number
378between 0 and 65535, inclusive (e.g. 80 to match packets originating
064af421 379from a HTTP server).
ed951f15
BP
380.IP
381When \fBdl_type\fR and \fBnw_proto\fR take other values, the values of
0b3f2725 382these settings are ignored (see \fBFlow Syntax\fR above).
a9b4a41a 383.
064af421 384.IP \fBicmp_type=\fItype\fR
ed951f15 385.IQ \fBicmp_code=\fIcode\fR
d31f1109
JP
386When \fBdl_type\fR and \fBnw_proto\fR specify ICMP or ICMPv6, \fItype\fR
387matches the ICMP type and \fIcode\fR matches the ICMP code. Each is
388specified as a decimal number between 0 and 255, inclusive.
ed951f15
BP
389.IP
390When \fBdl_type\fR and \fBnw_proto\fR take other values, the values of
0b3f2725 391these settings are ignored (see \fBFlow Syntax\fR above).
71e17a7a 392.
6c1491fb
BP
393.IP \fBtable=\fInumber\fR
394If specified, limits the flow manipulation and flow dump commands to
395only apply to the table with the given \fInumber\fR.
396\fInumber\fR is a number between 0 and 254, inclusive.
397.
398Behavior varies if \fBtable\fR is not specified. For flow table
399modification commands without \fB\-\-strict\fR, the switch will choose
400the table for these commands to operate on. For flow table
401modification commands with \fB\-\-strict\fR, the command will operate
402on any single matching flow in any table; it will do nothing if there
403are matches in more than one table. The \fBdump-flows\fR and
404\fBdump-aggregate\fR commands will gather statistics about flows from
405all tables.
406.IP
407When this field is specified in \fBadd-flow\fR, \fBadd-flows\fR,
408\fBmod-flows\fR and \fBdel-flows\fR commands, it activates a Nicira
409extension to OpenFlow, which as of this writing is only known to be
410implemented by Open vSwitch.
411.
71e17a7a 412.PP
d31f1109
JP
413The following shorthand notations are also available:
414.
415.IP \fBip\fR
416Same as \fBdl_type=0x0800\fR.
417.
418.IP \fBicmp\fR
419Same as \fBdl_type=0x0800,nw_proto=1\fR.
420.
421.IP \fBtcp\fR
422Same as \fBdl_type=0x0800,nw_proto=6\fR.
423.
424.IP \fBudp\fR
425Same as \fBdl_type=0x0800,nw_proto=17\fR.
426.
427.IP \fBarp\fR
428Same as \fBdl_type=0x0806\fR.
429.
430.PP
71e17a7a
JP
431The following field assignments require support for the NXM (Nicira
432Extended Match) extension to OpenFlow. When one of these is specified,
433\fBovs\-ofctl\fR will automatically attempt to negotiate use of this
434extension. If the switch does not support NXM, then \fBovs\-ofctl\fR
435will report a fatal error.
436.
33d8c6b4
BP
437.IP \fBvlan_tci=\fItci\fR[\fB/\fImask\fR]
438Matches modified VLAN TCI \fItci\fR. If \fImask\fR is omitted,
439\fItci\fR is the exact VLAN TCI to match; if \fImask\fR is specified,
440then a 1-bit in \fItci\fR indicates that the corresponding bit in
441\fItci\fR must match exactly, and a 0-bit wildcards that bit. Both
442\fItci\fR and \fImask\fR are 16-bit values that are decimal by
443default; use a \fB0x\fR prefix to specify them in hexadecimal.
444.
445.IP
446The value that \fBvlan_tci\fR matches against is 0 for a packet that
447has no 802.1Q header. Otherwise, it is the TCI value from the 802.1Q
448header with the CFI bit (with value \fB0x1000\fR) forced to 1.
449.IP
450Examples:
451.RS
452.IP \fBvlan_tci=0\fR
453Match only packets without an 802.1Q header.
454.IP \fBvlan_tci=0xf123\fR
455Match packets tagged with priority 7 in VLAN 0x123.
456.IP \fBvlan_tci=0x1123/0x1fff\fR
457Match packets tagged with VLAN 0x123 (and any priority).
458.IP \fBvlan_tci=0x5000/0xf000\fR
459Match packets tagged with priority 2 (in any VLAN).
460.IP \fBvlan_tci=0/0xfff\fR
461Match packets with no 802.1Q header or tagged with VLAN 0 (and any
462priority).
463.IP \fBvlan_tci=0x5000/0xe000\fR
464Match packets with no 802.1Q header or tagged with priority 2 (in any
465VLAN).
466.IP \fBvlan_tci=0/0xefff\fR
467Match packets with no 802.1Q header or tagged with VLAN 0 and priority
4680.
469.RE
470.IP
471Some of these matching possibilities can also be achieved with
472\fBdl_vlan\fR and \fBdl_vlan_pcp\fR.
473.
bad68a99
JP
474.IP \fBarp_sha=\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fR
475.IQ \fBarp_tha=\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fR
476When \fBdl_type\fR specifies ARP, \fBarp_sha\fR and \fBarp_tha\fR match
477the source and target hardware address, respectively. An address is
478specified as 6 pairs of hexadecimal digits delimited by colons.
479.
d31f1109
JP
480.IP \fBipv6_src=\fIipv6\fR[\fB/\fInetmask\fR]
481.IQ \fBipv6_dst=\fIipv6\fR[\fB/\fInetmask\fR]
482When \fBdl_type\fR is 0x86dd (possibly via shorthand, e.g., \fBipv6\fR
483or \fBtcp6\fR), matches IPv6 source (or destination) address \fIipv6\fR,
484which may be specified as defined in RFC 2373. The preferred format is
485\fIx\fB:\fIx\fB:\fIx\fB:\fIx\fB:\fIx\fB:\fIx\fB:\fIx\fB:\fIx\fR, where
486\fIx\fR are the hexadecimal values of the eight 16-bit pieces of the
487address. A single instance of \fB::\fR may be used to indicate multiple
488groups of 16-bits of zeros. The optional \fInetmask\fR allows
489restricting a match to an IPv6 address prefix. A netmask is specified
490as a CIDR block (e.g. \fB2001:db8:3c4d:1::/64\fR).
491.
685a51a5
JP
492.IP \fBnd_target=\fIipv6\fR
493When \fBdl_type\fR, \fBnw_proto\fR, and \fBicmp_type\fR specify
494IPv6 Neighbor Discovery (ICMPv6 type 135 or 136), matches the target address
495\fIipv6\fR. \fIipv6\fR is in the same format described earlier for the
496\fBipv6_src\fR and \fBipv6_dst\fR fields.
497.
498.IP \fBnd_sll=\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fR
499When \fBdl_type\fR, \fBnw_proto\fR, and \fBicmp_type\fR specify IPv6
500Neighbor Solicitation (ICMPv6 type 135), matches the source link\-layer
501address option. An address is specified as 6 pairs of hexadecimal
502digits delimited by colons.
503.
504.IP \fBnd_tll=\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fR
505When \fBdl_type\fR, \fBnw_proto\fR, and \fBicmp_type\fR specify IPv6
506Neighbor Advertisement (ICMPv6 type 136), matches the target link\-layer
507address option. An address is specified as 6 pairs of hexadecimal
508digits delimited by colons.
509.
8368c090
BP
510.IP \fBtun_id=\fItunnel-id\fR[\fB/\fImask\fR]
511Matches tunnel identifier \fItunnel-id\fR. Only packets that arrive
4c5df7f7 512over a tunnel that carries a key (e.g. GRE with the RFC 2890 key
8368c090 513extension) will have a nonzero tunnel ID. If \fImask\fR is omitted,
71e17a7a 514\fItunnel-id\fR is the exact tunnel ID to match; if \fImask\fR is
8368c090
BP
515specified, then a 1-bit in \fImask\fR indicates that the corresponding
516bit in \fItunnel-id\fR must match exactly, and a 0-bit wildcards that
517bit.
4c5df7f7 518.IP
71e17a7a
JP
519In an attempt to be compatible with more switches, \fBovs\-ofctl\fR will
520prefer to use the ``tunnel ID from cookie'' Nicira extension to NXM.
521The use of this extension comes with three caveats: the top 32 bits of
522the \fBcookie\fR (see below) are used for \fItunnel-id\fR and thus
523unavailable for other use, specifying \fBtun_id\fR on \fBdump\-flows\fR
524or \fBdump\-aggregate\fR has no effect, and \fImask\fR is not supported.
525If any of these caveats apply, \fBovs-ofctl\fR will use NXM.
526.
00b1c62f
BP
527.IP "\fBreg\fIidx\fB=\fIvalue\fR[\fB/\fImask\fR]"
528Matches \fIvalue\fR either exactly or with optional \fImask\fR in
529register number \fIidx\fR. The valid range of \fIidx\fR depends on
530the switch. \fIvalue\fR and \fImask\fR are 32-bit integers, by
531default in decimal (use a \fB0x\fR prefix to specify hexadecimal).
532Arbitrary \fImask\fR values are allowed: a 1-bit in \fImask\fR
533indicates that the corresponding bit in \fIvalue\fR must match
534exactly, and a 0-bit wildcards that bit.
535.IP
536When a packet enters an OpenFlow switch, all of the registers are set
537to 0. Only explicit Nicira extension actions change register values.
a9b4a41a 538.
064af421 539.PP
d31f1109
JP
540Defining IPv6 flows (those with \fBdl_type\fR equal to 0x86dd) requires
541support for NXM. The following shorthand notations are available for
542IPv6-related flows:
a9b4a41a 543.
d31f1109
JP
544.IP \fBipv6\fR
545Same as \fBdl_type=0x86dd\fR.
a9b4a41a 546.
d31f1109
JP
547.IP \fBtcp6\fR
548Same as \fBdl_type=0x86dd,nw_proto=6\fR.
a9b4a41a 549.
d31f1109
JP
550.IP \fBudp6\fR
551Same as \fBdl_type=0x86dd,nw_proto=17\fR.
a9b4a41a 552.
d31f1109
JP
553.IP \fBicmp6\fR
554Same as \fBdl_type=0x86dd,nw_proto=58\fR.
a9b4a41a 555.
064af421 556.PP
2c6d8411
BP
557Finally, field assignments to \fBduration\fR, \fBn_packets\fR, or
558\fBn_bytes\fR are ignored to allow output from the \fBdump\-flows\fR
559command to be used as input for other commands that parse flows.
560.
561.PP
c821124b
BP
562The \fBadd\-flow\fR, \fBadd\-flows\fR, and \fBmod\-flows\fR commands
563require an additional field, which must be the final field specified:
a9b4a41a 564.
064af421
BP
565.IP \fBactions=\fR[\fItarget\fR][\fB,\fItarget\fR...]\fR
566Specifies a comma-separated list of actions to take on a packet when the
567flow entry matches. If no \fItarget\fR is specified, then packets
568matching the flow are dropped. The \fItarget\fR may be a decimal port
569number designating the physical port on which to output the packet, or one
570of the following keywords:
a9b4a41a 571.
064af421
BP
572.RS
573.IP \fBoutput\fR:\fIport\fR
f694937d
EJ
574.IQ \fBoutput\fR:\fIsrc\fB[\fIstart\fB..\fIend\fB]
575Outputs the packet. If \fIport\fR is an OpenFlow port number, outputs directly
576to it. Otherwise, outputs to the OpenFlow port number read from \fIsrc\fR
577which must be an NXM field as described above. Outputting to an NXM field is
578an OpenFlow extension which is not supported by standard OpenFlow switches.
579.IP
580Example: \fBoutput:NXM_NX_REG0[16..31]\fR outputs to the OpenFlow port number
581written in the upper half of register 0.
a9b4a41a 582.
5682f723
BP
583.IP \fBenqueue\fR:\fIport\fB:\fIqueue\fR
584Enqueues the packet on the specified \fIqueue\fR within port
585\fIport\fR. The number of supported queues depends on the switch;
586some OpenFlow implementations do not support queuing at all.
587.
064af421
BP
588.IP \fBnormal\fR
589Subjects the packet to the device's normal L2/L3 processing. (This
590action is not implemented by all OpenFlow switches.)
a9b4a41a 591.
064af421
BP
592.IP \fBflood\fR
593Outputs the packet on all switch physical ports other than the port on
594which it was received and any ports on which flooding is disabled
595(typically, these would be ports disabled by the IEEE 802.1D spanning
596tree protocol).
a9b4a41a 597.
064af421
BP
598.IP \fBall\fR
599Outputs the packet on all switch physical ports other than the port on
600which it was received.
a9b4a41a 601.
064af421
BP
602.IP \fBcontroller\fR:\fImax_len\fR
603Sends the packet to the OpenFlow controller as a ``packet in''
604message. If \fImax_len\fR is a number, then it specifies the maximum
605number of bytes that should be sent. If \fImax_len\fR is \fBALL\fR or
606omitted, then the entire packet is sent.
a9b4a41a 607.
064af421
BP
608.IP \fBlocal\fR
609Outputs the packet on the ``local port,'' which corresponds to the
045b2e5c 610network device that has the same name as the bridge.
a9b4a41a 611.
64c1e8af
JP
612.IP \fBin_port\fR
613Outputs the packet on the port from which it was received.
614.
064af421
BP
615.IP \fBdrop\fR
616Discards the packet, so no further processing or forwarding takes place.
617If a drop action is used, no other actions may be specified.
a9b4a41a 618.
064af421
BP
619.IP \fBmod_vlan_vid\fR:\fIvlan_vid\fR
620Modifies the VLAN id on a packet. The VLAN tag is added or modified
621as necessary to match the value specified. If the VLAN tag is added,
622a priority of zero is used (see the \fBmod_vlan_pcp\fR action to set
623this).
a9b4a41a 624.
064af421
BP
625.IP \fBmod_vlan_pcp\fR:\fIvlan_pcp\fR
626Modifies the VLAN priority on a packet. The VLAN tag is added or modified
627as necessary to match the value specified. Valid values are between 0
628(lowest) and 7 (highest). If the VLAN tag is added, a vid of zero is used
629(see the \fBmod_vlan_vid\fR action to set this).
a9b4a41a 630.
064af421
BP
631.IP \fBstrip_vlan\fR
632Strips the VLAN tag from a packet if it is present.
a9b4a41a 633.
064af421
BP
634.IP \fBmod_dl_src\fB:\fImac\fR
635Sets the source Ethernet address to \fImac\fR.
a9b4a41a 636.
064af421
BP
637.IP \fBmod_dl_dst\fB:\fImac\fR
638Sets the destination Ethernet address to \fImac\fR.
a9b4a41a 639.
e423eca6
JP
640.IP \fBmod_nw_src\fB:\fIip\fR
641Sets the IPv4 source address to \fIip\fR.
a9b4a41a 642.
e423eca6
JP
643.IP \fBmod_nw_dst\fB:\fIip\fR
644Sets the IPv4 destination address to \fIip\fR.
a9b4a41a 645.
e423eca6
JP
646.IP \fBmod_tp_src\fB:\fIport\fR
647Sets the TCP or UDP source port to \fIport\fR.
a9b4a41a 648.
e423eca6
JP
649.IP \fBmod_tp_dst\fB:\fIport\fR
650Sets the TCP or UDP destination port to \fIport\fR.
a9b4a41a 651.
959a2ecd
JP
652.IP \fBmod_nw_tos\fB:\fItos\fR
653Sets the IP ToS/DSCP field to \fItos\fR. Valid values are between 0 and
654255, inclusive. Note that the two lower reserved bits are never
655modified.
a9b4a41a 656.
659586ef
JG
657.RE
658.IP
659The following actions are Nicira vendor extensions that, as of this writing, are
660only known to be implemented by Open vSwitch:
661.
662.RS
663.
3a2fe1f3 664.IP \fBresubmit\fB:\fIport\fR
29901626
BP
665.IQ \fBresubmit\fB(\fR[\fIport\fR]\fB,\fR[\fItable\fR]\fB)
666Re-searches this OpenFlow flow table (or the table whose number is
667specified by \fItable\fR) with the \fBin_port\fR field replaced by
668\fIport\fR (if \fIport\fR is specified) and executes the actions
669found, if any, in addition to any other actions in this flow entry.
670.IP
671Recursive \fBresubmit\fR actions are obeyed up to an
672implementation-defined maximum depth. Open vSwitch 1.0.1 and earlier
673did not support recursion; Open vSwitch before 1.2.90 did not support
674\fItable\fR.
659586ef
JG
675.
676.IP \fBset_tunnel\fB:\fIid\fR
b9298d3f
BP
677.IQ \fBset_tunnel64\fB:\fIid\fR
678If outputting to a port that encapsulates the packet in a tunnel and
5a6861aa 679supports an identifier (such as GRE), sets the identifier to \fIid\fR.
b9298d3f
BP
680If the \fBset_tunnel\fR form is used and \fIid\fR fits in 32 bits,
681then this uses an action extension that is supported by Open vSwitch
6821.0 and later. Otherwise, if \fIid\fR is a 64-bit value, it requires
683Open vSwitch 1.1 or later.
3a2fe1f3 684.
eedc0097
JP
685.IP \fBset_queue\fB:\fIqueue\fR
686Sets the queue that should be used to \fIqueue\fR when packets are
687output. The number of supported queues depends on the switch; some
688OpenFlow implementations do not support queuing at all.
689.
690.IP \fBpop_queue\fR
691Restores the queue to the value it was before any \fBset_queue\fR
692actions were applied.
693.
96fc46e8
BP
694.IP \fBnote:\fR[\fIhh\fR]...
695Does nothing at all. Any number of bytes represented as hex digits
696\fIhh\fR may be included. Pairs of hex digits may be separated by
697periods for readability.
f393f81e 698.
5a6861aa 699.IP "\fBmove:\fIsrc\fB[\fIstart\fB..\fIend\fB]\->\fIdst\fB[\fIstart\fB..\fIend\fB]\fR"
f393f81e
BP
700Copies the named bits from field \fIsrc\fR to field \fIdst\fR.
701\fIsrc\fR and \fIdst\fR must be NXM field names as defined in
702\fBnicira\-ext.h\fR, e.g. \fBNXM_OF_UDP_SRC\fR or \fBNXM_NX_REG0\fR.
703Each \fIstart\fR and \fIend\fR pair, which are inclusive, must specify
704the same number of bits and must fit within its respective field.
705Shorthands for \fB[\fIstart\fB..\fIend\fB]\fR exist: use
706\fB[\fIbit\fB]\fR to specify a single bit or \fB[]\fR to specify an
707entire field.
708.IP
709Examples: \fBmove:NXM_NX_REG0[0..5]\->NXM_NX_REG1[26..31]\fR copies the
710six bits numbered 0 through 5, inclusive, in register 0 into bits 26
711through 31, inclusive;
5a6861aa 712\fBmove:NXM_NX_REG0[0..15]\->NXM_OF_VLAN_TCI[]\fR copies the least
f393f81e
BP
713significant 16 bits of register 0 into the VLAN TCI field.
714.
715.IP "\fBload:\fIvalue\fB\->\fIdst\fB[\fIstart\fB..\fIend\fB]"
716Writes \fIvalue\fR to bits \fIstart\fR through \fIend\fR, inclusive,
5a6861aa 717in field \fIdst\fR.
f393f81e
BP
718.IP
719Example: \fBload:55\->NXM_NX_REG2[0..5]\fR loads value 55 (bit pattern
720\fB110111\fR) into bits 0 through 5, inclusive, in register 2.
53ddd40a
BP
721.
722.IP "\fBmultipath(\fIfields\fB, \fIbasis\fB, \fIalgorithm\fB, \fIn_links\fB, \fIarg\fB, \fIdst\fB[\fIstart\fB..\fIend\fB])\fR"
723Hashes \fIfields\fR using \fIbasis\fR as a universal hash parameter,
724then the applies multipath link selection \fIalgorithm\fR (with
725parameter \fIarg\fR) to choose one of \fIn_links\fR output links
726numbered 0 through \fIn_links\fR minus 1, and stores the link into
43edca57 727\fIdst\fB[\fIstart\fB..\fIend\fB]\fR, which must be an NXM field as
53ddd40a
BP
728described above.
729.IP
730Currently, \fIfields\fR must be either \fBeth_src\fR or
731\fBsymmetric_l4\fR and \fIalgorithm\fR must be one of \fBmodulo_n\fR,
732\fBhash_threshold\fR, \fBhrw\fR, and \fBiter_hash\fR. Only
733the \fBiter_hash\fR algorithm uses \fIarg\fR.
734.IP
735Refer to \fBnicira\-ext.h\fR for more details.
3b6a2571
EJ
736.
737.IP "\fBautopath(\fIid\fB, \fIdst\fB[\fIstart\fB..\fIend\fB])\fR"
738Given \fIid\fR, chooses an OpenFlow port and populates it in
43edca57 739\fIdst\fB[\fIstart\fB..\fIend\fB]\fR, which must be an NXM field as
3b6a2571
EJ
740described above.
741.IP
742Currently, \fIid\fR should be the OpenFlow port number of an interface on the
743bridge. If it isn't then \fIdst\fB[\fIstart\fB..\fIend\fB]\fR will be
744populated with the OpenFlow port "none". If \fIid\fR is a member of a bond,
745the normal bond selection logic will be used to choose the destination port.
746Otherwise, the register will be populated with \fIid\fR itself.
747.IP
748Refer to \fBnicira\-ext.h\fR for more details.
daff3353
EJ
749.
750.IP "\fBbundle(\fIfields\fB, \fIbasis\fB, \fIalgorithm\fB, \fIslave_type\fB, slaves:[\fIs1\fB, \fIs2\fB, ...])\fR"
751Hashes \fIfields\fR using \fIbasis\fR as a universal hash parameter, then
752applies the bundle link selection \fIalgorithm\fR to choose one of the listed
753slaves represented as \fIslave_type\fR. Currently the only supported
754\fIslave_type\fR is \fBofport\fR. Thus, each \fIs1\fR through \fIsN\fR should
755be an OpenFlow port number. Outputs to the selected slave.
756.IP
757Currently, \fIfields\fR must be either \fBeth_src\fR or \fBsymmetric_l4\fR and
758\fIalgorithm\fR must be one of \fBhrw\fR and \fBactive_backup\fR.
759.IP
760Example: \fBbundle(eth_src,0,hrw,ofport,slaves:4,8)\fR uses an Ethernet source
761hash with basis 0, to select between OpenFlow ports 4 and 8 using the Highest
762Random Weight algorithm.
763.IP
764Refer to \fBnicira\-ext.h\fR for more details.
a368bb53
EJ
765.
766.IP "\fBbundle_load(\fIfields\fB, \fIbasis\fB, \fIalgorithm\fB, \fIslave_type\fB, \fIdst\fB[\fIstart\fB..\fIend\fB], slaves:[\fIs1\fB, \fIs2\fB, ...])\fR"
767Has the same behavior as the \fBbundle\fR action, with one exception. Instead
768of outputting to the selected slave, it writes its selection to
769\fIdst\fB[\fIstart\fB..\fIend\fB]\fR, which must be an NXM field as described
770above.
771.IP
772Example: \fBbundle_load(eth_src,0,hrw,ofport,NXM_NX_REG0[],slaves:4,8)\fR uses
773an Ethernet source hash with basis 0, to select between OpenFlow ports 4 and 8
774using the Highest Random Weight algorithm, and writes the selection to
775\fBNXM_NX_REG0[]\fR.
776.IP
777Refer to \fBnicira\-ext.h\fR for more details.
064af421 778.RE
a9b4a41a 779.
064af421 780.PP
8cce2125
JP
781The \fBadd\-flow\fR, \fBadd\-flows\fR, and \fBmod\-flows\fR commands
782support an additional optional field:
783.
784.IP \fBcookie=\fIvalue\fR
785.
786A cookie is an opaque identifier that can be associated with the flow.
787\fIvalue\fR can be any 64-bit number and need not be unique among
c821124b
BP
788flows. If this field is omitted, these commands set a default cookie
789value of 0.
8cce2125
JP
790.
791.PP
4b6b46ce
BP
792The following additional field sets the priority for flows added by
793the \fBadd\-flow\fR and \fBadd\-flows\fR commands. For
794\fBmod\-flows\fR and \fBdel\-flows\fR when \fB\-\-strict\fR is
795specified, priority must match along with the rest of the flow
c821124b 796specification. Other commands do not allow priority to be specified.
a9b4a41a 797.
064af421
BP
798.IP \fBpriority=\fIvalue\fR
799The priority at which a wildcarded entry will match in comparison to
800others. \fIvalue\fR is a number between 0 and 65535, inclusive. A higher
801\fIvalue\fR will match before a lower one. An exact-match entry will always
802have priority over an entry containing wildcards, so it has an implicit
803priority value of 65535. When adding a flow, if the field is not specified,
804the flow's priority will default to 32768.
a9b4a41a 805.
064af421 806.PP
4e312e69 807The \fBadd\-flow\fR and \fBadd\-flows\fR commands support additional
064af421 808optional fields:
a9b4a41a 809.
064af421
BP
810.TP
811\fBidle_timeout=\fIseconds\fR
812Causes the flow to expire after the given number of seconds of
a1545337
BP
813inactivity. A value of 0 (the default) prevents a flow from expiring due to
814inactivity.
a9b4a41a 815.
064af421
BP
816.IP \fBhard_timeout=\fIseconds\fR
817Causes the flow to expire after the given number of seconds,
818regardless of activity. A value of 0 (the default) gives the flow no
819hard expiration deadline.
a9b4a41a 820.
064af421 821.PP
4e312e69
BP
822The \fBdump\-flows\fR, \fBdump\-aggregate\fR, \fBdel\-flow\fR
823and \fBdel\-flows\fR commands support one additional optional field:
a9b4a41a 824.
064af421
BP
825.TP
826\fBout_port=\fIport\fR
827If set, a matching flow must include an output action to \fIport\fR.
a9b4a41a 828.
064af421 829.SS "Table Entry Output"
a9b4a41a 830.
4e312e69 831The \fBdump\-tables\fR and \fBdump\-aggregate\fR commands print information
064af421
BP
832about the entries in a datapath's tables. Each line of output is a
833unique flow entry, which begins with some common information:
a9b4a41a 834.
064af421
BP
835.IP \fBduration\fR
836The number of seconds the entry has been in the table.
a9b4a41a 837.
064af421
BP
838.IP \fBtable_id\fR
839The table that contains the flow. When a packet arrives, the switch
840begins searching for an entry at the lowest numbered table. Tables are
4e312e69 841numbered as shown by the \fBdump\-tables\fR command.
a9b4a41a 842.
064af421
BP
843.IP \fBpriority\fR
844The priority of the entry in relation to other entries within the same
845table. A higher value will match before a lower one.
a9b4a41a 846.
064af421
BP
847.IP \fBn_packets\fR
848The number of packets that have matched the entry.
a9b4a41a 849.
064af421
BP
850.IP \fBn_bytes\fR
851The total number of bytes from packets that have matched the entry.
a9b4a41a 852.
064af421
BP
853.PP
854The rest of the line consists of a description of the flow entry as
855described in \fBFlow Syntax\fR, above.
a9b4a41a
BP
856.
857.
064af421
BP
858.SH OPTIONS
859.TP
4e312e69 860\fB\-\-strict\fR
064af421 861Uses strict matching when running flow modification commands.
a9b4a41a 862.
88ca35ee
BP
863.IP "\fB\-F \fIformat\fR"
864.IQ "\fB\-\-flow\-format=\fIformat\fR"
865\fBovs\-ofctl\fR supports the following flow formats, in order of
866increasing capability:
867.RS
868.IP "\fBopenflow10\fR"
869This is the standard OpenFlow 1.0 flow format. It should be supported
870by all OpenFlow switches.
871.
88ca35ee
BP
872.IP "\fBnxm\fR (Nicira Extended Match)"
873This Nicira extension to OpenFlow is flexible and extensible. It
874supports all of the Nicira flow extensions, such as \fBtun_id\fR and
875registers.
876.RE
877.IP
878Usually, \fBovs\-ofctl\fR picks the correct format automatically. For
879commands that modify the flow table, \fBovs\-ofctl\fR by default uses
880the most widely supported flow format that supports the flows being
881added. For commands that query the flow table, \fBovs\-ofctl\fR by
882default queries and uses the most advanced format supported by the
883switch.
884.IP
885This option, where \fIformat\fR is one of the formats listed in the
886above table, overrides \fBovs\-ofctl\fR's default choice of flow
887format. If a command cannot work as requested using the requested
888flow format, \fBovs\-ofctl\fR will report a fatal error.
4f564f8d
BP
889.
890.IP "\fB\-m\fR"
891.IQ "\fB\-\-more\fR"
892Increases the verbosity of OpenFlow messages printed and logged by
893\fBovs\-ofctl\fR commands. Specify this option more than once to
894increase verbosity further.
ac300505 895.SS "Public Key Infrastructure Options"
84ee7bcf 896.so lib/ssl.man
064af421
BP
897.so lib/vlog.man
898.so lib/common.man
a9b4a41a 899.
064af421 900.SH EXAMPLES
a9b4a41a 901.
045b2e5c
BP
902The following examples assume that \fBovs\-vswitchd\fR has a bridge
903named \fBbr0\fR configured.
a9b4a41a 904.
064af421 905.TP
045b2e5c 906\fBovs\-ofctl dump\-tables br0\fR
064af421
BP
907Prints out the switch's table stats. (This is more interesting after
908some traffic has passed through.)
a9b4a41a 909.
064af421 910.TP
045b2e5c 911\fBovs\-ofctl dump\-flows br0\fR
064af421 912Prints the flow entries in the switch.
a9b4a41a 913.
064af421 914.SH "SEE ALSO"
a9b4a41a 915.
064af421
BP
916.BR ovs\-appctl (8),
917.BR ovs\-controller (8),
918.BR ovs\-vswitchd (8)