X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=utilities%2Fovs-ofctl.8.in;h=3cc618d5ab35e24af5d014b18f3e6739318a5cd8;hb=0cc70daec76f59571d56a96bd86a960e18d13e9f;hp=c48645af4eb1f32e8322f6575cc1b831ab6570d5;hpb=bedde04cf1adfe8bde736f7bbec95ea7e4f04d20;p=sliver-openvswitch.git diff --git a/utilities/ovs-ofctl.8.in b/utilities/ovs-ofctl.8.in index c48645af4..3cc618d5a 100644 --- a/utilities/ovs-ofctl.8.in +++ b/utilities/ovs-ofctl.8.in @@ -915,6 +915,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. . @@ -934,9 +962,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 @@ -990,6 +1018,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 @@ -1022,6 +1063,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 @@ -1046,21 +1104,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