meta-flow: Correctly set destination MAC in mf_set_flow_value().
[sliver-openvswitch.git] / ofproto / ofproto-unixctl.man
index 72f076d..5ae90f2 100644 (file)
@@ -1,13 +1,20 @@
 .SS "OFPROTO COMMANDS"
 These commands manage the core OpenFlow switch implementation (called
 \fBofproto\fR).
+.
 .IP "\fBofproto/list\fR"
 Lists the names of the running ofproto instances.  These are the names
 that may be used on \fBofproto/trace\fR.
-.IP "\fBofproto/trace \fItun_id in_port packet\fR"
-Traces the path of an imaginary packet through ofproto.  The arguments
-are:
+.
+.IP "\fBofproto/trace \fIswitch priority tun_id in_port packet\fR"
+.IQ "\fBofproto/trace \fIswitch odp_flow \fB\-generate\fR"
+Traces the path of an imaginary packet through \fIswitch\fR.  Both
+forms require \fIswitch\fR, the switch on which the packet arrived
+(one of those listed by \fBofproto/list\fR).  The first form specifies
+a packet's contents explicitly:
 .RS
+.IP "\fIpriority\fR"
+Packet QoS priority. Use \fB0\fR if QoS is not setup.
 .IP "\fItun_id\fR"
 The tunnel ID on which the packet arrived.  Use
 \fB0\fR if the packet did not arrive through a tunnel.
@@ -20,7 +27,40 @@ Ethernet frame is at least 14 bytes long, so there must be at least 28
 hex digits.  Obviously, it is inconvenient to type in the hex digits
 by hand, so the \fBovs\-pcap\fR(1) and \fBovs\-tcpundump\fR(1)
 utilities provide easier ways.
+.RE
+.IP
+The second form specifies the packet's contents implicitly:
 .RS
+.IP "\fIodp_flow\fR"
+A flow in the form printed by \fBovs\-dpctl\fR(8)'s \fBdump\-flows\fR
+command.  This is not an OpenFlow flow: besides other differences, it
+never contains wildcards.  \fB\*(PN\fR generates an arbitrary packet
+that has the specified \fIodp_flow\fR.
+.RE
+.IP
 \fB\*(PN\fR will respond with extensive information on how the packet
 would be handled if it were to be received.  The packet will not
-actually be sent.
+actually be sent, but side effects such as MAC learning will occur.
+.
+.IP "\fBofproto/trace \fIswitch odp_flow\fR"
+Traces the path of a packet in an imaginary flow through
+\fIswitch\fR.  The arguments are:
+.RS
+.IP "\fIswitch\fR"
+The switch on which the packet arrived (one of those listed by
+\fBofproto/list\fR).
+.IP "\fIodp_flow\fR"
+A flow in the form printed by \fBovs\-dpctl\fR(8)'s \fBdump\-flows\fR
+command.  This is not an OpenFlow flow: besides other differences, it
+never contains wildcards.
+.RE
+.IP
+\fB\*(PN\fR will respond with extensive information on how a packet
+in \fIodp_flow\fR would be handled if it were received by
+\fIswitch\fR.  No packet will actually be sent.  Some side effects may
+occur, but MAC learning in particular will not.
+.IP
+This form of \fBofproto/trace\fR cannot determine the complete set of
+datapath actions in some corner cases.  If the results say that this
+is the case, rerun \fBofproto/trace\fR supplying a packet in the flow
+to get complete results.