X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=utilities%2Fovs-ofctl.8.in;h=061982b1cb02e922a9195be29db477834897f3da;hb=f40869bdf6feca4d3ff7c59a1fb1f7ac101bc967;hp=7b6939f25ee854d906d2310968418e3025a95fef;hpb=8087f5ff825cae3a699e5a60ca6dd0deb10fc8e5;p=sliver-openvswitch.git diff --git a/utilities/ovs-ofctl.8.in b/utilities/ovs-ofctl.8.in index 7b6939f25..061982b1c 100644 --- a/utilities/ovs-ofctl.8.in +++ b/utilities/ovs-ofctl.8.in @@ -4,7 +4,7 @@ . ns . IP "\\$1" .. -.TH ovs\-ofctl 8 "January 2011" "Open vSwitch" "Open vSwitch Manual" +.TH ovs\-ofctl 8 "@VERSION@" "Open vSwitch" "Open vSwitch Manual" .ds PN ovs\-ofctl . .SH NAME @@ -20,6 +20,7 @@ The program is a command line tool for monitoring and administering OpenFlow switches. It can also show the current state of an OpenFlow switch, including features, configuration, and table entries. +It should work with any OpenFlow switch, not just Open vSwitch. . .SS "OpenFlow Switch Management Commands" .PP @@ -392,8 +393,8 @@ flows not in normal form. The following field assignments describe how a flow matches a packet. If any of these assignments is omitted from the flow syntax, the field is treated as a wildcard; thus, if all of them are omitted, the -resulting flow matches all packets. The string \fB*\fR or \fBANY\fR -may be specified to explicitly mark any of these fields as a wildcard. +resulting flow matches all packets. The string \fB*\fR may be specified +to explicitly mark any of these fields as a wildcard. (\fB*\fR should be quoted to protect it from shell expansion.) . .IP \fBin_port=\fIport\fR @@ -774,6 +775,17 @@ if \fImask\fR is specified, then a 1-bit in \fImask\fR indicates that the corresponding bit in \fItunnel-id\fR must match exactly, and a 0-bit wildcards that bit. . +.IP \fBtun_src=\fIip\fR[\fB/\fInetmask\fR] +.IQ \fBtun_dst=\fIip\fR[\fB/\fInetmask\fR] +Matches tunnel IPv4 source (or destination) address \fIip\fR. Only packets +that arrive over a tunnel will have nonzero tunnel addresses. +The address may be specified as an IP address or host name +(e.g. \fB192.168.1.1\fR or \fBwww.example.com\fR). The optional +\fInetmask\fR allows restricting a match to a masked IPv4 address. +The netmask may be specified as a dotted quad +(e.g. \fB192.168.1.0/255.255.255.0\fR) or as a CIDR block +(e.g. \fB192.168.1.0/24\fR). +. .IP "\fBreg\fIidx\fB=\fIvalue\fR[\fB/\fImask\fR]" Matches \fIvalue\fR either exactly or with optional \fImask\fR in register number \fIidx\fR. The valid range of \fIidx\fR depends on @@ -914,6 +926,34 @@ for the tag. Only ethertype 0x8100 should be used. (0x88a8 which the spec allows isn't supported at the moment.) A priority of zero and the tag of zero are used for the new tag. . +.IP \fBpush_mpls\fR:\fIethertype\fR +If the packet does not already contain any MPLS labels, changes the +packet's Ethertype to \fIethertype\fR, which must be either the MPLS +unicast Ethertype \fB0x8847\fR or the MPLS multicast Ethertype +\fB0x8848\fR, and then pushes an initial label stack entry. The label +stack entry's default label is 2 if the packet contains IPv6 and 0 +otherwise, its default traffic control value is the low 3 bits of the +packet's DSCP value (0 if the packet is not IP), and its TTL is copied +from the IP TTL (64 if the packet is not IP). +.IP +If the packet does already contain an MPLS label, pushes a new +outermost label as a copy of the existing outermost label. +.IP +There are some limitations in the implementation. \fBpush_mpls\fR +followed by another \fBpush_mpls\fR will result in the first +\fBpush_mpls\fR being discarded. +. +.IP \fBpop_mpls\fR:\fIethertype\fR +Strips the outermost MPLS label stack entry. If the MPLS label +stripped was the only one, changes the ethertype of a packet to +\fIethertype\fR, which should not ordinarily be an MPLS Ethertype. +. +.IP +There are some limitations in the implementation. \fBpop_mpls\fR +followed by another \fBpush_mpls\fR without an intermediate +\fBpush_mpls\fR will result in the first \fBpush_mpls\fR being +discarded. +. .IP \fBmod_dl_src\fB:\fImac\fR Sets the source Ethernet address to \fImac\fR. . @@ -933,9 +973,9 @@ Sets the TCP or UDP source port to \fIport\fR. Sets the TCP or UDP destination port to \fIport\fR. . .IP \fBmod_nw_tos\fB:\fItos\fR -Sets the IPv4 ToS/DSCP field to \fItos\fR. Valid values are between 0 and -255, inclusive. Note that the two lower reserved bits are never -modified. +Sets the IPv4 ToS/DSCP field to \fItos\fR, which must be a multiple of +4 between 0 and 255. This action does not modify the two least +significant bits of the ToS field (the ECN bits). .RE .IP The following actions are Nicira vendor extensions that, as of this writing, are @@ -989,6 +1029,19 @@ invalid ttl packets. If controller ids are not specified, the ``packet_in'' message will be sent only to the controllers having controller id zero which have registered for the invalid ttl packets. . +.IP \fBset_mpls_ttl\fR:\fIttl\fR +Set the TTL of the outer MPLS label stack entry of a packet. +\fIttl\fR should be in the range 0 to 255 inclusive. +. +.IP \fBdec_mpls_ttl\fR +Decrement TTL of the outer MPLS label stack entry of a packet. If the TTL +is initially zero, no decrement occurs. Instead, a ``packet-in'' message +with reason code \fBOFPR_INVALID_TTL\fR is sent to each connected +controller with controller id zer that has enabled receiving them. +Processing the current set of actions then stops. However, if the current +set of actions was reached through ``resubmit'' then remaining actions in +outer levels resume processing. +. .IP \fBnote:\fR[\fIhh\fR]... Does nothing at all. Any number of bytes represented as hex digits \fIhh\fR may be included. Pairs of hex digits may be separated by @@ -1021,6 +1074,23 @@ in field \fIdst\fR. Example: \fBload:55\->NXM_NX_REG2[0..5]\fR loads value 55 (bit pattern \fB110111\fR) into bits 0 through 5, inclusive, in register 2. . +.IP "\fBpush:\fIsrc\fB[\fIstart\fB..\fIend\fB]" +Pushes \fIstart\fR to \fIend\fR bits inclusive, in fields +on top of the stack. +.IP +Example: \fBpush:NXM_NX_REG2[0..5]\fR push the value stored in register +2 bits 0 through 5, inclusive, on to the internal stack. +. +.IP "\fBpop:\fIdst\fB[\fIstart\fB..\fIend\fB]" +Pops from the top of the stack, retrieves the \fIstart\fR to \fIend\fR bits +inclusive, from the value popped and store them into the corresponding +bits in \fIdst\fR. +. +.IP +Example: \fBpop:NXM_NX_REG2[0..5]\fR pops the value from top of the stack. +Set register 2 bits 0 through 5, inclusive, based on bits 0 through 5 from the +value just popped. +. .IP "\fBset_field:\fIvalue\fB\->\fIdst" Writes the literal \fIvalue\fR into the field \fIdst\fR, which should be specified as a name used for matching. (This is similar to @@ -1045,21 +1115,6 @@ the \fBiter_hash\fR algorithm uses \fIarg\fR. .IP Refer to \fBnicira\-ext.h\fR for more details. . -.IP "\fBautopath(\fIid\fB, \fIdst\fB[\fIstart\fB..\fIend\fB])\fR" -Deprecated and slated for removal in Feburary 2013. -.IP -Given \fIid\fR, chooses an OpenFlow port and populates it in -\fIdst\fB[\fIstart\fB..\fIend\fB]\fR, which must be an NXM field as -described above. -.IP -Currently, \fIid\fR should be the OpenFlow port number of an interface on the -bridge. If it isn't then \fIdst\fB[\fIstart\fB..\fIend\fB]\fR will be -populated with the OpenFlow port "none". If \fIid\fR is a member of a bond, -the normal bond selection logic will be used to choose the destination port. -Otherwise, the register will be populated with \fIid\fR itself. -.IP -Refer to \fBnicira\-ext.h\fR for more details. -. .IP "\fBbundle(\fIfields\fB, \fIbasis\fB, \fIalgorithm\fB, \fIslave_type\fB, slaves:[\fIs1\fB, \fIs2\fB, ...])\fR" Hashes \fIfields\fR using \fIbasis\fR as a universal hash parameter, then applies the bundle link selection \fIalgorithm\fR to choose one of the listed @@ -1197,6 +1252,30 @@ flow's creation, not since the receipt of the FIN or RST.) .RE .IP This action was added in Open vSwitch 1.5.90. +. +.IP "\fBsample(\fIargument\fR[\fB,\fIargument\fR]...\fB)\fR" +Samples packets and sends one sample for every sampled packet. +.IP +\fIargument\fR takes the following forms: +.RS +.IP "\fBprobability=\fIpackets\fR" +The number of sampled packets out of 65535. Must be greater or equal to 1. +.IP "\fBcollector_set_id=\fIid\fR" +The unsigned 32-bit integer identifier of the set of sample collectors +to send sampled packets to. Defaults to 0. +.IP "\fBobs_domain_id=\fIid\fR" +When sending samples to IPFIX collectors, the unsigned 32-bit integer +Observation Domain ID sent in every IPFIX flow record. Defaults to 0. +.IP "\fBobs_point_id=\fIid\fR" +When sending samples to IPFIX collectors, the unsigned 32-bit integer +Observation Point ID sent in every IPFIX flow record. Defaults to 0. +.RE +.IP +Refer to \fBovs\-vswitchd.conf.db\fR(8) for more details on +configuring sample collector sets. +.IP +This action was added in Open vSwitch 1.10.90. +. .IP "\fBexit\fR" This action causes Open vSwitch to immediately halt execution of further actions. Those actions which have already been executed are unaffected. Any @@ -1343,6 +1422,8 @@ passing through the flow. \fB\-\-strict\fR Uses strict matching when running flow modification commands. . +.so lib/ofp-version.man +. .IP "\fB\-F \fIformat\fR[\fB,\fIformat\fR...]" .IQ "\fB\-\-flow\-format=\fIformat\fR[\fB,\fIformat\fR...]" \fBovs\-ofctl\fR supports the following individual flow formats, any @@ -1367,6 +1448,11 @@ registers. Open vSwitch 1.1 and later supports this flow format. This combines Nicira Extended match with the ability to place a flow in a specific table. Open vSwitch 1.2 and later supports this flow format. +. +.IP "\fBOXM-OpenFlow12\fR" +.IQ "\fBOXM-OpenFlow13\fR" +These are the standard OXM (OpenFlow Extensible Match) flow format in +OpenFlow 1.2 and 1.3, respectively. .RE . .IP @@ -1379,6 +1465,8 @@ Any supported flow format. \fBOpenFlow10\-table_id\fR or \fBOpenFlow10+table_id\fR. .IP "\fBNXM\fR" \fBNXM\-table_id\fR or \fBNXM+table_id\fR. +.IP "\fBOXM\fR" +\fBOXM-OpenFlow12\fR or \fBOXM-OpenFlow13\fR. .RE . .IP @@ -1502,3 +1590,4 @@ Prints the flow entries in the switch. .BR ovs\-appctl (8), .BR ovs\-controller (8), .BR ovs\-vswitchd (8) +.BR ovs\-vswitchd.conf.db (8)