datapath: add skb mark matching and set action
[openvswitch] / ofproto / ofproto-unixctl.man
1 .SS "OFPROTO COMMANDS"
2 These commands manage the core OpenFlow switch implementation (called
3 \fBofproto\fR).
4 .
5 .IP "\fBofproto/list\fR"
6 Lists the names of the running ofproto instances.  These are the names
7 that may be used on \fBofproto/trace\fR.
8 .
9 .IP "\fBofproto/trace \fIswitch priority tun_id in_port mark packet\fR"
10 .IQ "\fBofproto/trace \fIswitch flow \fB\-generate\fR"
11 Traces the path of an imaginary packet through \fIswitch\fR.  Both
12 forms require \fIswitch\fR, the switch on which the packet arrived
13 (one of those listed by \fBofproto/list\fR).  The first form specifies
14 a packet's contents explicitly:
15 .RS
16 .IP "\fIpriority\fR"
17 Packet QoS priority. Use \fB0\fR if QoS is not setup.
18 .IP "\fItun_id\fR"
19 The tunnel ID on which the packet arrived.  Use
20 \fB0\fR if the packet did not arrive through a tunnel.
21 .IP "\fIin_port\fR"
22 The OpenFlow port on which the packet arrived.  Use \fB65534\fR if the
23 packet arrived on \fBOFPP_LOCAL\fR, the local port.
24 .IP "\fImark\fR"
25 SKB mark of the packet. Use \fB0\fR if Netfilter marks are not used.
26 .IP "\fIpacket\fR"
27 A sequence of hex digits specifying the packet's contents.  An
28 Ethernet frame is at least 14 bytes long, so there must be at least 28
29 hex digits.  Obviously, it is inconvenient to type in the hex digits
30 by hand, so the \fBovs\-pcap\fR(1) and \fBovs\-tcpundump\fR(1)
31 utilities provide easier ways.
32 .RE
33 .IP
34 The second form specifies the packet's contents implicitly:
35 .RS
36 .IP "\fIflow\fR"
37 A flow in one of two forms: either the form printed by
38 \fBovs\-dpctl\fR(8)'s \fBdump\-flows\fR command, or in a format
39 similar to that accepted by \fBovs\-ofctl\fR(8)'s \fBadd\-flow\fR
40 command.  This is not an OpenFlow flow: besides other differences, it
41 never contains wildcards.  \fB\*(PN\fR generates an arbitrary packet
42 that has the specified \fIflow\fR.
43 .RE
44 .IP
45 \fB\*(PN\fR will respond with extensive information on how the packet
46 would be handled if it were to be received.  The packet will not
47 actually be sent, but side effects such as MAC learning will occur.
48 .
49 .IP "\fBofproto/trace \fIswitch flow\fR"
50 Traces the path of a packet in an imaginary flow through
51 \fIswitch\fR.  The arguments are:
52 .RS
53 .IP "\fIswitch\fR"
54 The switch on which the packet arrived (one of those listed by
55 \fBofproto/list\fR).
56 .IP "\fIflow\fR"
57 A flow in one of two forms: either the form printed by
58 \fBovs\-dpctl\fR(8)'s \fBdump\-flows\fR command, or in a format
59 similar to that accepted by \fBovs\-ofctl\fR(8)'s \fBadd\-flow\fR
60 command.  This is not an OpenFlow flow: besides other differences, it
61 never contains wildcards.
62 .RE
63 .IP
64 \fB\*(PN\fR will respond with extensive information on how a packet
65 in \fIflow\fR would be handled if it were received by
66 \fIswitch\fR.  No packet will actually be sent.  Some side effects may
67 occur, but MAC learning in particular will not.
68 .IP
69 This form of \fBofproto/trace\fR cannot determine the complete set of
70 datapath actions in some corner cases.  If the results say that this
71 is the case, rerun \fBofproto/trace\fR supplying a packet in the flow
72 to get complete results.
73 .IP "\fBofproto/self\-check\fR [\fIswitch\fR]"
74 Runs an internal consistency check on \fIswitch\fR, if specified,
75 otherwise on all ofproto instances, and responds with a brief summary
76 of the results.  If the summary reports any errors, then the Open
77 vSwitch logs should contain more detailed information.  Please pass
78 along errors reported by this command to the Open vSwitch developers
79 as bugs.