X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=utilities%2Fovs-ofctl.8.in;h=c43b48c7d654b8e503bd4278042b827c9700cda5;hb=455ecd775d46f96fed8f307f44958a2a07ebcfff;hp=18a17724365e65cc255b8226398a444ab683f403;hpb=7395c05254df87ce52b37b04478e802befd799d9;p=sliver-openvswitch.git diff --git a/utilities/ovs-ofctl.8.in b/utilities/ovs-ofctl.8.in index 18a177243..c43b48c7d 100644 --- a/utilities/ovs-ofctl.8.in +++ b/utilities/ovs-ofctl.8.in @@ -190,7 +190,7 @@ statistics are printed for all queues on \fIport\fR; if only \fIport\fR is omitted, then statistics are printed for \fIqueue\fR on every port where it exists. . -.SS "OpenFlow 1.1+ Switch Management Commands" +.SS "OpenFlow 1.1+ Group Table Commands" . The following commands work only with switches that support OpenFlow 1.1 or later. Because support for OpenFlow 1.1 and later is still @@ -213,6 +213,67 @@ Prints to the console statistics for the specified \fIgroups in the groups are printed. See \fBGroup Syntax\fR, below, for the syntax of \fIgroups\fR. . +.IP "\fBmod\-table \fIswitch\fR \fItable_id\fR \fIflow_miss_handling\fR" +An OpenFlow 1.0 switch looks up each packet that arrives at the switch +in table 0, then in table 1 if there is no match in table 0, then in +table 2, and so on until the packet finds a match in some table. +Finally, if no match was found, the switch sends the packet to the +controller +.IP +OpenFlow 1.1 and later offer more flexibility. This command +configures the flow table miss handling configuration for table +\fItable_id\fR in \fIswitch\fR. \fItable_id\fR may be an OpenFlow +table number between 0 and 254, inclusive, or the keyword \fBALL\fR to +modify all tables. \fIflow_miss_handling\fR may be any one of the +following: +.RS +.IP \fBdrop\fR +Drop the packet. +.IP \fBcontinue\fR +Continue to the next table in the pipeline. (This is how an OpenFlow +1.0 switch always handles packets that do not match any flow, in +tables other than the last one.) +.IP \fBcontroller\fR +Send to controller. (This is how an OpenFlow 1.0 switch always +handles packets that do not match any flow in the last table.) +.RE +. +.SS "OpenFlow 1.3+ Switch Meter Table Commands" +. +These commands manage the meter table in an OpenFlow switch. In each +case, \fImeter\fR specifies a meter entry in the format described in +\fBMeter Syntax\fR, below. +. +.PP +OpenFlow 1.3 introduced support for meters, so these commands only +work with switches that support OpenFlow 1.3 or later. The caveats +described for groups in the previous section also apply to meters. +. +.IP "\fBadd\-meter \fIswitch meter\fR" +Add a meter entry to \fIswitch\fR's tables. The \fImeter\fR syntax is +described in section \fBMeter Syntax\fR, below. +. +.IP "\fBmod\-meter \fIswitch meter\fR" +Modify an existing meter. +. +.IP "\fBdel\-meters \fIswitch\fR" +.IQ "\fBdel\-meter \fIswitch\fR [\fImeter\fR]" +Delete entries from \fIswitch\fR's meter table. \fImeter\fR can specify +a single meter with syntax \fBmeter=\fIid\fR, or all meters with syntax +\fBmeter=all\fR. +. +.IP "\fBdump\-meters \fIswitch\fR" +.IQ "\fBdump\-meter \fIswitch\fR [\fImeter\fR]" +Print meter configuration. \fImeter\fR can specify a single meter with +syntax \fBmeter=\fIid\fR, or all meters with syntax \fBmeter=all\fR. +. +.IP "\fBmeter\-stats \fIswitch\fR [\fImeter\fR]" +Print meter statistics. \fImeter\fR can specify a single meter with +syntax \fBmeter=\fIid\fR, or all meters with syntax \fBmeter=all\fR. +. +.IP "\fBmeter\-features \fIswitch\fR" +Print meter features. +. .SS "OpenFlow Switch Flow Table Commands" . These commands manage the flow table in an OpenFlow switch. In each @@ -1007,21 +1068,17 @@ from the IP TTL (64 if the packet is not 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. +A limitation of the implementation is that processing of actions will stop +if \fBpush_mpls\fR follows another \fBpush_mpls\fR unless there is a +\fBpop_mpls\fR in between. . .IP \fBpop_mpls\fR:\fIethertype\fR Strips the outermost MPLS label stack entry. Currently the implementation restricts \fIethertype\fR to a non-MPLS Ethertype and thus \fBpop_mpls\fR should only be applied to packets with -an MPLS label stack depth of one. -. -.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. +an MPLS label stack depth of one. A further limitation is that processing of +actions will stop if \fBpop_mpls\fR follows another \fBpop_mpls\fR unless +there is a \fBpush_mpls\fR in between. . .IP \fBmod_dl_src\fB:\fImac\fR Sets the source Ethernet address to \fImac\fR. @@ -1279,6 +1336,7 @@ For best performance, segregate learned flows into a table (using possibly for a lowest-priority ``catch-all'' flow, that is, a flow with no match criteria. (This is why the default \fBtable\fR is 1, to keep the learned flows separate from the primary flow table 0.) +.RE . .RS .IP \fBapply_actions(\fR[\fIaction\fR][\fB,\fIaction\fR...]\fB) @@ -1296,9 +1354,14 @@ field will be replaced with the corresponding bit from \fIvalue\fR. Both \fIvalue\fR and \fImask\fR are 64-bit values that are decimal by default; use a \fB0x\fR prefix to specify them in hexadecimal. . +.IP \fBmeter\fR:\fImeter_id\fR +Apply the \fImeter_id\fR before any other actions. If a meter band rate is +exceeded, the packet may be dropped, or modified, depending on the meter +band type. See the description of the \fBMeter Table Commands\fR, above, +for more details. +. .IP \fBgoto_table\fR:\fItable\fR Indicates the next table in the process pipeline. -.RE . .IP "\fBfin_timeout(\fIargument\fR[\fB,\fIargument\fR]\fB)" This action changes the idle timeout or hard timeout, or both, of this @@ -1447,7 +1510,7 @@ and \fBdel\-flows\fR commands support one additional optional field: .TP \fBout_port=\fIport\fR If set, a matching flow must include an output action to \fIport\fR, -which must an OpenFlow port number or name (e.g. \fBlocal\fR). +which must be an OpenFlow port number or name (e.g. \fBlocal\fR). . .SS "Table Entry Output" . @@ -1555,6 +1618,62 @@ This or the \fBwatch_port\fR field is required for groups whose \fBtype\fR is \fBff\fR or \fBfast_failover\fR. .RE . +.SS "Meter Syntax" +.PP +The meter table commands accept an argument that describes a meter. +Such meter descriptions comprise a series \fIfield\fB=\fIvalue\fR +assignments, separated by commas or white space. +(Embedding spaces into a group description normally requires +quoting to prevent the shell from breaking the description into +multiple arguments.). Unless noted otherwise only the last instance +of each field is honoured. +.PP +.IP \fBmeter=\fIid\fR +The integer meter id of the meter. +When this field is specified in \fBdel-meter\fR, \fBdump-meter\fR, or +\fBmeter-stats\fR, the keyword "all" may be used to designate all meters. +. +This field is required, exept for \fBmeter-stats\fR, which dumps all stats +when this field is not specified. + +.IP \fBkbps\fR +.IQ \fBpktps\fR +The unit for the meter band rate parameters, either kilobits per second, or +packets per second, respectively. One of these must be specified. The burst +size unit corresponds to the rate unit by dropping the "per second", i.e., +burst is in units of kilobits or packets, respectively. + +.IP \fBburst\fR +Specify burst size for all bands, or none of them, if this flag is not given. + +.IP \fBstats\fR +Collect meter and band statistics. + +.IP \fBbands\fR=\fIband_parameters\fR +The \fBadd-meter\fR and \fBmod-meter\fR commands require at least one +band specification. Bands must appear after all other fields. +.RS +.IP \fBtype=\fItype\fR +The type of the meter band. This keyword starts a new band specification. +Each band specifies a rate above which the band is to take some action. The +action depends on the band type. If multiple bands' rate is exceeded, then +the band with the highest rate among the exceeded bands is selected. +The following keywords designate the allowed +meter band types: +.RS +.IP \fBdrop\fR +Drop packets exceeding the band's rate limit. +.RE +. +.IP "The other \fIband_parameters\fR are:" +.IP \fBrate=\fIvalue\fR +The relative rate limit for this band, in kilobits per second or packets per +second, depending on the meter flags defined above. +.IP \fBburst_size=\fIport\fR +The maximum burst allowed for the band. If unspecified, the switch is free to +select some reasonable value depending on it's configuration. +.RE +. .SH OPTIONS .TP \fB\-\-strict\fR