]> git.proxmox.com Git - ovs.git/blame - utilities/ovs-ofctl.8.in
ofproto: Prefer "master" and "other" connections for snooping over "slave".
[ovs.git] / utilities / ovs-ofctl.8.in
CommitLineData
a9b4a41a
BP
1.\" -*- nroff -*-
2.de IQ
3. br
4. ns
5. IP "\\$1"
6..
834377ea 7.TH ovs\-ofctl 8 "January 2010" "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
BP
56.TP
57\fBstatus \fIswitch\fR [\fIkey\fR]
58Prints to the console a series of key-value pairs that report the
59status of \fIswitch\fR. If \fIkey\fR is specified, only the key-value
60pairs whose key names begin with \fIkey\fR are printed. If \fIkey\fR is
61omitted, all key-value pairs are printed.
a9b4a41a 62.
064af421
BP
63.TP
64\fBdump-tables \fIswitch\fR
65Prints to the console statistics for each of the flow tables used by
66\fIswitch\fR.
a9b4a41a 67.
064af421 68.TP
abaad8cf
JP
69\fBdump-ports \fIswitch\fR [\fInetdev\fR]
70Prints to the console statistics for network devices associated with
71\fIswitch\fR. If \fInetdev\fR is specified, only the statistics
72associated with that device will be printed. \fInetdev\fR can be an
73OpenFlow assigned port number or device name, e.g. \fBeth0\fR.
a9b4a41a 74.
064af421
BP
75.TP
76\fBmod-port \fIswitch\fR \fInetdev\fR \fIaction\fR
77Modify characteristics of an interface monitored by \fIswitch\fR.
78\fInetdev\fR can be referred to by its OpenFlow assigned port number or
79the device name, e.g. \fBeth0\fR. The \fIaction\fR may be any one of the
80following:
a9b4a41a 81.
064af421
BP
82.RS
83.IP \fBup\fR
84Enables the interface. This is equivalent to ``ifconfig up'' on a Unix
85system.
a9b4a41a 86.
064af421
BP
87.IP \fBdown\fR
88Disables the interface. This is equivalent to ``ifconfig down'' on a Unix
89system.
a9b4a41a 90.
064af421
BP
91.IP \fBflood\fR
92When a \fIflood\fR action is specified, traffic will be sent out this
93interface. This is the default posture for monitored ports.
a9b4a41a 94.
064af421
BP
95.IP \fBnoflood\fR
96When a \fIflood\fR action is specified, traffic will not be sent out
97this interface. This is primarily useful to prevent loops when a
98spanning tree protocol is not in use.
a9b4a41a 99.
064af421 100.RE
a9b4a41a 101.
064af421
BP
102.TP
103\fBdump-flows \fIswitch \fR[\fIflows\fR]
104Prints to the console all flow entries in \fIswitch\fR's
105tables that match \fIflows\fR. If \fIflows\fR is omitted, all flows
106in the switch are retrieved. See \fBFlow Syntax\fR, below, for the
107syntax of \fIflows\fR. The output format is described in
108\fBTable Entry Output\fR.
a9b4a41a 109.
064af421
BP
110.TP
111\fBdump-aggregate \fIswitch \fR[\fIflows\fR]
112Prints to the console aggregate statistics for flows in
113\fIswitch\fR's tables that match \fIflows\fR. If \fIflows\fR is omitted,
114the statistics are aggregated across all flows in the switch's flow
115tables. See \fBFlow Syntax\fR, below, for the syntax of \fIflows\fR.
116The output format is descrbed in \fBTable Entry Output\fR.
a9b4a41a 117.
064af421
BP
118.TP
119\fBadd-flow \fIswitch flow\fR
120Add the flow entry as described by \fIflow\fR to the \fIswitch\fR's
121tables. The flow entry is in the format described in \fBFlow Syntax\fR,
122below.
a9b4a41a 123.
064af421
BP
124.TP
125\fBadd-flows \fIswitch file\fR
126Add flow entries as described in \fIfile\fR to \fIswitch\fR's
127tables. Each line in \fIfile\fR is a flow entry in the format
128described in \fBFlow Syntax\fR, below.
a9b4a41a 129.
064af421
BP
130.TP
131\fBmod-flows \fIswitch flow\fR
132Modify the actions in entries from the \fIswitch\fR's tables
133that match \fIflow\fR. When invoked with the \fB--strict\fR option,
134wildcards are not treated as active for matching purposes. See
135\fBFlow Syntax\fR, below, for the syntax of \fIflows\fR.
a9b4a41a 136.
064af421
BP
137.TP
138\fBdel-flows \fIswitch \fR[\fIflow\fR]
139Deletes entries from the \fIswitch\fR's tables that match
140\fIflow\fR. When invoked with the \fB--strict\fR option, wildcards are
141not treated as active for matching purposes. If \fIflow\fR is
142omitted and the \fB--strict\fR option is not used, all flows in the
143switch's tables are removed. See \fBFlow Syntax\fR, below, for the
144syntax of \fIflows\fR.
a9b4a41a 145.
0caf6bde
BP
146.IP "\fBsnoop \fIswitch\fR"
147Connects to \fIswitch\fR and prints to the console all OpenFlow
148messages received. Unlike other \fBovs\-ofctl\fR commands, if
149\fIswitch\fR is the name of a bridge, then the \fBsnoop\fR command
150connects to a Unix domain socket named
151\fB@RUNDIR@/\fIbridge\fB.snoop\fR. \fBovs\-vswitchd\fR listens on
152such a socket for each bridge and sends to it all of the OpenFlow
153messages sent to or received from its configured OpenFlow controller.
154Thus, this command can be used to view OpenFlow protocol activity
155between a switch and its controller.
156.IP
157When a switch has more than one controller configured, only the
e2bfacb6
BP
158traffic to and from a single controller is output. If none of the
159controllers is configured as a master or a slave (using a Nicira
160extension to OpenFlow), then a controller is chosen arbitrarily among
161them. If there is a master controller, it is chosen; otherwise, if
162there are any controllers that are not masters or slaves, one is
163chosen arbitrarily; otherwise, a slave controller is chosen
164arbitrarily. This choice is made once at connection time and does not
165change as controllers reconfigure their roles.
166.IP
167If a switch has no controller configured, or if
0caf6bde
BP
168the configured controller is disconnected, no traffic is sent, so
169monitoring will not show any traffic.
170.
171.IQ "\fBmonitor \fIswitch\fR [\fImiss-len\fR]"
064af421
BP
172Connects to \fIswitch\fR and prints to the console all OpenFlow
173messages received. Usually, \fIswitch\fR should specify a connection
8cd4882f 174named on \fBovs\-openflowd\fR(8)'s \fB-l\fR or \fB--listen\fR command line
064af421 175option.
a9b4a41a 176.IP
064af421
BP
177If \fImiss-len\fR is provided, \fBovs\-ofctl\fR sends an OpenFlow ``set
178configuration'' message at connection setup time that requests
0caf6bde
BP
179\fImiss-len\fR bytes of each packet that misses the flow table. Open vSwitch
180does not send these and other asynchronous messages to an
064af421 181\fBovs\-ofctl monitor\fR client connection unless a nonzero value is
0caf6bde
BP
182specified on this argument. (Thus, if \fImiss\-len\fR is not
183specified, very little traffic will ordinarily be printed.)
a9b4a41a 184.IP
064af421
BP
185This command may be useful for debugging switch or controller
186implementations.
a9b4a41a 187.
064af421 188.SS "OpenFlow Switch and Controller Commands"
a9b4a41a 189.
064af421
BP
190The following commands, like those in the previous section, may be
191applied to OpenFlow switches, using any of the connection methods
192described in that section. Unlike those commands, these may also be
193applied to OpenFlow controllers.
a9b4a41a 194.
064af421
BP
195.TP
196\fBprobe \fItarget\fR
197Sends a single OpenFlow echo-request message to \fItarget\fR and waits
198for the response. With the \fB-t\fR or \fB--timeout\fR option, this
199command can test whether an OpenFlow switch or controller is up and
200running.
a9b4a41a 201.
064af421
BP
202.TP
203\fBping \fItarget \fR[\fIn\fR]
204Sends a series of 10 echo request packets to \fItarget\fR and times
205each reply. The echo request packets consist of an OpenFlow header
206plus \fIn\fR bytes (default: 64) of randomly generated payload. This
207measures the latency of individual requests.
a9b4a41a 208.
064af421
BP
209.TP
210\fBbenchmark \fItarget n count\fR
211Sends \fIcount\fR echo request packets that each consist of an
212OpenFlow header plus \fIn\fR bytes of payload and waits for each
213response. Reports the total time required. This is a measure of the
214maximum bandwidth to \fItarget\fR for round-trips of \fIn\fR-byte
215messages.
a9b4a41a 216.
064af421 217.SS "Flow Syntax"
a9b4a41a 218.PP
064af421
BP
219Some \fBovs\-ofctl\fR commands accept an argument that describes a flow or
220flows. Such flow descriptions comprise a series
221\fIfield\fB=\fIvalue\fR assignments, separated by commas or white
222space. (Embedding spaces into a flow description normally requires
223quoting to prevent the shell from breaking the description into
224multiple arguments.)
a9b4a41a 225.PP
064af421
BP
226The following field assignments describe how a flow matches a packet.
227If any of these assignments is omitted from the flow syntax, the field
228is treated as a wildcard; thus, if all of them are omitted, the
229resulting flow matches all packets. The string \fB*\fR or \fBANY\fR
230may be specified to explicitly mark any of these fields as a wildcard.
231(\fB*\fR should be quoted to protect it from shell expansion.)
a9b4a41a 232.
064af421
BP
233.IP \fBin_port=\fIport_no\fR
234Matches physical port \fIport_no\fR. Switch ports are numbered as
235displayed by \fBovs\-ofctl show\fR.
a9b4a41a 236.
064af421 237.IP \fBdl_vlan=\fIvlan\fR
f30f26be
JP
238Matches IEEE 802.1q Virtual LAN tag \fIvlan\fR. Specify \fB0xffff\fR
239as \fIvlan\fR to match packets that are not tagged with a Virtual LAN;
064af421
BP
240otherwise, specify a number between 0 and 4095, inclusive, as the
24112-bit VLAN ID to match.
a9b4a41a 242.
959a2ecd
JP
243.IP \fBdl_vlan_pcp=\fIpriority\fR
244Matches IEEE 802.1q Priority Code Point (PCP) \fIpriority\fR, which is
245specified as a value between 0 and 7, inclusive. A higher value
246indicates a higher frame priority level.
a9b4a41a 247.
ed951f15
BP
248.IP \fBdl_src=\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fR
249.IQ \fBdl_dst=\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fB:\fIxx\fR
250Matches an Ethernet source (or destination) address specified as 6
251pairs of hexadecimal digits delimited by colons
252(e.g. \fB00:0A:E4:25:6B:B0\fR).
253.
064af421
BP
254.IP \fBdl_type=\fIethertype\fR
255Matches Ethernet protocol type \fIethertype\fR, which is specified as an
256integer between 0 and 65535, inclusive, either in decimal or as a
257hexadecimal number prefixed by \fB0x\fR (e.g. \fB0x0806\fR to match ARP
258packets).
a9b4a41a 259.
064af421 260.IP \fBnw_src=\fIip\fR[\fB/\fInetmask\fR]
ed951f15
BP
261.IQ \fBnw_dst=\fIip\fR[\fB/\fInetmask\fR]
262When \fBdl_type\fR is 0x0800 (possibly via shorthand, e.g. \fBip\fR
263or \fBtcp\fR), matches IPv4 source (or destination) address \fIip\fR,
264which may be specified as an IP address or host name
265(e.g. \fB192.168.1.1\fR or \fBwww.example.com\fR). The optional
266\fInetmask\fR allows restricting a match to an IPv4 address prefix.
267The netmask may be specified as a dotted quad
268(e.g. \fB192.168.1.0/255.255.255.0\fR) or as a CIDR block
064af421 269(e.g. \fB192.168.1.0/24\fR).
ed951f15
BP
270.IP
271When \fBdl_type=0x0806\fR or \fBarp\fR is specified, matches the
272\fBar_spa\fR or \fBar_tpa\fR field, respectively, in ARP packets for
273IPv4 and Ethernet.
274.IP
275When \fBdl_type\fR is wildcarded or set to a value other than 0x0800
276or 0x0806, the values of \fBnw_src\fR and \fBnw_dst\fR are silently
277ignored.
a9b4a41a 278.
064af421 279.IP \fBnw_proto=\fIproto\fR
ed951f15
BP
280When \fBip\fR or \fBdl_type=0x0800\fR is specified, matches IP
281protocol type \fIproto\fR, which is specified as a decimal number
282between 0 and 255, inclusive (e.g. 6 to match TCP packets).
283.IP
284When \fBarp\fR or \fBdl_type=0x0806\fR is specified, matches the lower
2858 bits of the ARP opcode. ARP opcodes greater than 255 are treated as
2860.
287.IP
288When \fBdl_type\fR is wildcarded or set to a value other than 0x0800
289or 0x0806, the value of \fBnw_proto\fR is silently ignored.
a9b4a41a 290.
834377ea
JP
291.IP \fBnw_tos=\fItos\fR
292Matches IP ToS/DSCP field \fItos\fR, which is specified as a decimal
293number between 0 and 255, inclusive. Note that the two lower reserved
294bits are ignored for matching purposes.
ed951f15
BP
295.IP
296The value of \fBnw_proto\fR is silently ignored unless
297\fBdl_type=0x0800\fR, \fBip\fR, \fBicmp\fR, \fBtcp\fR, or \fBudp\fR is
298also specified.
a9b4a41a 299.
064af421 300.IP \fBtp_src=\fIport\fR
ed951f15
BP
301.IQ \fBtp_dst=\fIport\fR
302When \fBdl_type\fR and \fBnw_proto\fR specify TCP or UDP, \fBtp_src\fR
303and \fBtp_dst\fR match the UDP or TCP source or destination port
304\fIport\fR, respectively. which is specified as a decimal number
305between 0 and 65535, inclusive (e.g. 80 to match packets originating
064af421 306from a HTTP server).
ed951f15
BP
307.IP
308When \fBdl_type\fR and \fBnw_proto\fR take other values, the values of
309these settings are silently ignored.
a9b4a41a 310.
064af421 311.IP \fBicmp_type=\fItype\fR
ed951f15
BP
312.IQ \fBicmp_code=\fIcode\fR
313When \fBdl_type\fR and \fBnw_proto\fR specify ICMP, \fItype\fR matches
314the ICMP type and \fIcode\fR matches the ICMP code. Each is specified
315as a decimal number between 0 and 255, inclusive.
316.IP
317When \fBdl_type\fR and \fBnw_proto\fR take other values, the values of
318these settings are silently ignored.
a9b4a41a 319.
064af421
BP
320.PP
321The following shorthand notations are also available:
a9b4a41a 322.
064af421
BP
323.IP \fBip\fR
324Same as \fBdl_type=0x0800\fR.
a9b4a41a 325.
064af421
BP
326.IP \fBicmp\fR
327Same as \fBdl_type=0x0800,nw_proto=1\fR.
a9b4a41a 328.
064af421
BP
329.IP \fBtcp\fR
330Same as \fBdl_type=0x0800,nw_proto=6\fR.
a9b4a41a 331.
064af421
BP
332.IP \fBudp\fR
333Same as \fBdl_type=0x0800,nw_proto=17\fR.
a9b4a41a 334.
064af421
BP
335.IP \fBarp\fR
336Same as \fBdl_type=0x0806\fR.
a9b4a41a 337.
064af421 338.PP
537eeb9c
BP
339The \fBadd-flow\fR and \fBadd-flows\fR commands require an additional
340field, which must be the final field specified:
a9b4a41a 341.
064af421
BP
342.IP \fBactions=\fR[\fItarget\fR][\fB,\fItarget\fR...]\fR
343Specifies a comma-separated list of actions to take on a packet when the
344flow entry matches. If no \fItarget\fR is specified, then packets
345matching the flow are dropped. The \fItarget\fR may be a decimal port
346number designating the physical port on which to output the packet, or one
347of the following keywords:
a9b4a41a 348.
064af421
BP
349.RS
350.IP \fBoutput\fR:\fIport\fR
351Outputs the packet on the port specified by \fIport\fR.
a9b4a41a 352.
064af421
BP
353.IP \fBnormal\fR
354Subjects the packet to the device's normal L2/L3 processing. (This
355action is not implemented by all OpenFlow switches.)
a9b4a41a 356.
064af421
BP
357.IP \fBflood\fR
358Outputs the packet on all switch physical ports other than the port on
359which it was received and any ports on which flooding is disabled
360(typically, these would be ports disabled by the IEEE 802.1D spanning
361tree protocol).
a9b4a41a 362.
064af421
BP
363.IP \fBall\fR
364Outputs the packet on all switch physical ports other than the port on
365which it was received.
a9b4a41a 366.
064af421
BP
367.IP \fBcontroller\fR:\fImax_len\fR
368Sends the packet to the OpenFlow controller as a ``packet in''
369message. If \fImax_len\fR is a number, then it specifies the maximum
370number of bytes that should be sent. If \fImax_len\fR is \fBALL\fR or
371omitted, then the entire packet is sent.
a9b4a41a 372.
064af421
BP
373.IP \fBlocal\fR
374Outputs the packet on the ``local port,'' which corresponds to the
375\fBof\fIn\fR network device (see \fBCONTACTING THE CONTROLLER\fR in
8cd4882f 376\fBovs\-openflowd\fR(8) for information on the \fBof\fIn\fR network device).
a9b4a41a 377.
064af421
BP
378.IP \fBdrop\fR
379Discards the packet, so no further processing or forwarding takes place.
380If a drop action is used, no other actions may be specified.
a9b4a41a 381.
064af421
BP
382.IP \fBmod_vlan_vid\fR:\fIvlan_vid\fR
383Modifies the VLAN id on a packet. The VLAN tag is added or modified
384as necessary to match the value specified. If the VLAN tag is added,
385a priority of zero is used (see the \fBmod_vlan_pcp\fR action to set
386this).
a9b4a41a 387.
064af421
BP
388.IP \fBmod_vlan_pcp\fR:\fIvlan_pcp\fR
389Modifies the VLAN priority on a packet. The VLAN tag is added or modified
390as necessary to match the value specified. Valid values are between 0
391(lowest) and 7 (highest). If the VLAN tag is added, a vid of zero is used
392(see the \fBmod_vlan_vid\fR action to set this).
a9b4a41a 393.
064af421
BP
394.IP \fBstrip_vlan\fR
395Strips the VLAN tag from a packet if it is present.
a9b4a41a 396.
064af421
BP
397.IP \fBmod_dl_src\fB:\fImac\fR
398Sets the source Ethernet address to \fImac\fR.
a9b4a41a 399.
064af421
BP
400.IP \fBmod_dl_dst\fB:\fImac\fR
401Sets the destination Ethernet address to \fImac\fR.
a9b4a41a 402.
e423eca6
JP
403.IP \fBmod_nw_src\fB:\fIip\fR
404Sets the IPv4 source address to \fIip\fR.
a9b4a41a 405.
e423eca6
JP
406.IP \fBmod_nw_dst\fB:\fIip\fR
407Sets the IPv4 destination address to \fIip\fR.
a9b4a41a 408.
e423eca6
JP
409.IP \fBmod_tp_src\fB:\fIport\fR
410Sets the TCP or UDP source port to \fIport\fR.
a9b4a41a 411.
e423eca6
JP
412.IP \fBmod_tp_dst\fB:\fIport\fR
413Sets the TCP or UDP destination port to \fIport\fR.
a9b4a41a 414.
959a2ecd
JP
415.IP \fBmod_nw_tos\fB:\fItos\fR
416Sets the IP ToS/DSCP field to \fItos\fR. Valid values are between 0 and
417255, inclusive. Note that the two lower reserved bits are never
418modified.
a9b4a41a 419.
659586ef
JG
420.RE
421.IP
422The following actions are Nicira vendor extensions that, as of this writing, are
423only known to be implemented by Open vSwitch:
424.
425.RS
426.
3a2fe1f3
BP
427.IP \fBresubmit\fB:\fIport\fR
428Re-searches the OpenFlow flow table with the \fBin_port\fR field
429replaced by \fIport\fR and executes the actions found, if any, in
430addition to any other actions in this flow entry. Recursive
431\fBresubmit\fR actions are ignored.
659586ef
JG
432.
433.IP \fBset_tunnel\fB:\fIid\fR
434If outputting to a port that encapsulates the packet in a tunnel and supports
435an identifier (such as GRE), sets the identifier to \fBid\fR.
3a2fe1f3 436.
064af421 437.RE
a9b4a41a 438.
064af421
BP
439.IP
440(The OpenFlow protocol supports other actions that \fBovs\-ofctl\fR does
441not yet expose to the user.)
a9b4a41a 442.
064af421 443.PP
8cce2125
JP
444The \fBadd\-flow\fR, \fBadd\-flows\fR, and \fBmod\-flows\fR commands
445support an additional optional field:
446.
447.IP \fBcookie=\fIvalue\fR
448.
449A cookie is an opaque identifier that can be associated with the flow.
450\fIvalue\fR can be any 64-bit number and need not be unique among
451flows.
452.
453.PP
064af421
BP
454The \fBadd-flow\fR, \fBadd-flows\fR, and \fBdel-flows\fR commands
455support an additional optional field:
a9b4a41a 456.
064af421
BP
457.IP \fBpriority=\fIvalue\fR
458The priority at which a wildcarded entry will match in comparison to
459others. \fIvalue\fR is a number between 0 and 65535, inclusive. A higher
460\fIvalue\fR will match before a lower one. An exact-match entry will always
461have priority over an entry containing wildcards, so it has an implicit
462priority value of 65535. When adding a flow, if the field is not specified,
463the flow's priority will default to 32768.
a9b4a41a 464.
064af421
BP
465.PP
466The \fBadd-flow\fR and \fBadd-flows\fR commands support additional
467optional fields:
a9b4a41a 468.
064af421
BP
469.TP
470\fBidle_timeout=\fIseconds\fR
471Causes the flow to expire after the given number of seconds of
472inactivity. A value of 0 prevents a flow from expiring due to
473inactivity. The default is 60 seconds.
a9b4a41a 474.
064af421
BP
475.IP \fBhard_timeout=\fIseconds\fR
476Causes the flow to expire after the given number of seconds,
477regardless of activity. A value of 0 (the default) gives the flow no
478hard expiration deadline.
a9b4a41a 479.
064af421
BP
480.PP
481The \fBdump-flows\fR, \fBdump-aggregate\fR, \fBdel-flow\fR
482and \fBdel-flows\fR commands support one additional optional field:
a9b4a41a 483.
064af421
BP
484.TP
485\fBout_port=\fIport\fR
486If set, a matching flow must include an output action to \fIport\fR.
a9b4a41a 487.
064af421
BP
488.PP
489The \fBdump-flows\fR and \fBdump-aggregate\fR commands support an
490additional optional field:
a9b4a41a 491.
064af421
BP
492.IP \fBtable=\fInumber\fR
493If specified, limits the flows about which statistics are gathered to
494those in the table with the given \fInumber\fR. Tables are numbered
495as shown by the \fBdump-tables\fR command.
a9b4a41a 496.
064af421
BP
497If this field is not specified, or if \fInumber\fR is given as
498\fB255\fR, statistics are gathered about flows from all tables.
a9b4a41a 499.
064af421 500.SS "Table Entry Output"
a9b4a41a 501.
064af421
BP
502The \fBdump-tables\fR and \fBdump-aggregate\fR commands print information
503about the entries in a datapath's tables. Each line of output is a
504unique flow entry, which begins with some common information:
a9b4a41a 505.
064af421
BP
506.IP \fBduration\fR
507The number of seconds the entry has been in the table.
a9b4a41a 508.
064af421
BP
509.IP \fBtable_id\fR
510The table that contains the flow. When a packet arrives, the switch
511begins searching for an entry at the lowest numbered table. Tables are
512numbered as shown by the \fBdump-tables\fR command.
a9b4a41a 513.
064af421
BP
514.IP \fBpriority\fR
515The priority of the entry in relation to other entries within the same
516table. A higher value will match before a lower one.
a9b4a41a 517.
064af421
BP
518.IP \fBn_packets\fR
519The number of packets that have matched the entry.
a9b4a41a 520.
064af421
BP
521.IP \fBn_bytes\fR
522The total number of bytes from packets that have matched the entry.
a9b4a41a 523.
064af421
BP
524.PP
525The rest of the line consists of a description of the flow entry as
526described in \fBFlow Syntax\fR, above.
a9b4a41a
BP
527.
528.
064af421
BP
529.SH OPTIONS
530.TP
531\fB--strict\fR
532Uses strict matching when running flow modification commands.
a9b4a41a 533.
ac300505 534.SS "Public Key Infrastructure Options"
84ee7bcf 535.so lib/ssl.man
064af421
BP
536.so lib/vlog.man
537.so lib/common.man
a9b4a41a 538.
064af421 539.SH EXAMPLES
a9b4a41a 540.
064af421
BP
541The following examples assume that an OpenFlow switch on the local
542host has been configured to listen for management connections on a
543Unix domain socket named \fB@RUNDIR@/openflow.sock\fR, e.g. by
544specifying \fB--listen=punix:@RUNDIR@/openflow.sock\fR on the
8cd4882f 545\fBovs\-openflowd\fR(8) command line.
a9b4a41a 546.
064af421
BP
547.TP
548\fBovs\-ofctl dump-tables unix:@RUNDIR@/openflow.sock\fR
549Prints out the switch's table stats. (This is more interesting after
550some traffic has passed through.)
a9b4a41a 551.
064af421
BP
552.TP
553\fBovs\-ofctl dump-flows unix:@RUNDIR@/openflow.sock\fR
554Prints the flow entries in the switch.
a9b4a41a 555.
064af421 556.SH "SEE ALSO"
a9b4a41a 557.
064af421
BP
558.BR ovs\-appctl (8),
559.BR ovs\-controller (8),
560.BR ovs\-vswitchd (8)