Skip to content

Commit

Permalink
ovn: Clarify the differences between QoS marking and metering.
Browse files Browse the repository at this point in the history
This also correct an error that indicated that the burst size is kbps,
when it should be kb.

Signed-off-by: Justin Pettit <[email protected]>
Acked-by: Ben Pfaff <[email protected]>
  • Loading branch information
justinpettit committed Jul 6, 2018
1 parent 330f6f5 commit 8d5422b
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 32 deletions.
37 changes: 20 additions & 17 deletions ovn/northd/ovn-northd.8.xml
Original file line number Diff line number Diff line change
Expand Up @@ -349,18 +349,20 @@
</li>
</ul>

<h3>Ingress Table 7: <code>from-lport</code> QoS marking</h3>
<h3>Ingress Table 7: <code>from-lport</code> QoS Marking</h3>

<p>
Logical flows in this table closely reproduce those in the
<code>QoS</code> table in the <code>OVN_Northbound</code> database
for the <code>from-lport</code> direction.
<code>QoS</code> table with the <code>action</code> column set in
the <code>OVN_Northbound</code> database for the
<code>from-lport</code> direction.
</p>

<ul>
<li>
For every qos_rules for every logical switch a flow will be added at
priorities mentioned in the QoS table.
For every qos_rules entry in a logical switch with DSCP marking
enabled, a flow will be added at the priority mentioned in the
QoS table.
</li>

<li>
Expand All @@ -369,19 +371,20 @@
</li>
</ul>

<h3>Ingress Table 8: <code>from-lport</code> QoS meter</h3>
<h3>Ingress Table 8: <code>from-lport</code> QoS Meter</h3>

<p>
Logical flows in this table closely reproduce those in the
<code>QoS</code> table <code>bandwidth</code> column in the
<code>OVN_Northbound</code> database for the <code>from-lport</code>
direction.
<code>QoS</code> table with the <code>bandwidth</code> column set
in the <code>OVN_Northbound</code> database for the
<code>from-lport</code> direction.
</p>

<ul>
<li>
For every qos_rules for every logical switch a flow will be added at
priorities mentioned in the QoS table.
For every qos_rules entry in a logical switch with metering
enabled, a flow will be added at the priorirty mentioned in the
QoS table.
</li>

<li>
Expand Down Expand Up @@ -920,18 +923,18 @@ output;
</li>
</ul>

<h3>Egress Table 5: <code>to-lport</code> QoS marking</h3>
<h3>Egress Table 5: <code>to-lport</code> QoS Marking</h3>

<p>
This is similar to ingress table <code>QoS marking</code> except for
<code>to-lport</code> qos rules.
This is similar to ingress table <code>QoS marking</code> except
they apply to <code>to-lport</code> QoS rules.
</p>

<h3>Egress Table 6: <code>to-lport</code> QoS meter</h3>
<h3>Egress Table 6: <code>to-lport</code> QoS Meter</h3>

<p>
This is similar to ingress table <code>QoS meter</code> except for
<code>to-lport</code> qos rules.
This is similar to ingress table <code>QoS meter</code> except
they apply to <code>to-lport</code> QoS rules.
</p>

<h3>Egress Table 7: Stateful</h3>
Expand Down
37 changes: 22 additions & 15 deletions ovn/ovn-nb.xml
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,8 @@
</column>

<column name="qos_rules">
QOS marking rules that apply to packets within the logical switch.
QoS marking and metering rules that apply to packets within the
logical switch.
</column>

<column name="dns_records">
Expand Down Expand Up @@ -1280,19 +1281,25 @@
</group>
</table>

<table name="QoS" title="QOS table">
<table name="QoS" title="QoS table">
<p>
Each row in this table represents one QOS rule for a logical switch
that points to it through its <ref column="qos_rules"/> column. The <ref
column="action"/> column for the highest-<ref column="priority"/>
matching row in this table determines a packet's qos marking. If no row
matches, packets will not have any qos marking.
Each row in this table represents one QoS rule for a logical switch
that points to it through its <ref column="qos_rules"/> column.
Two types of QoS are supported: DSCP marking and metering. A
<ref column="match"/> with the highest-<ref column="priority"/>
will have QoS applied to it. If the <ref column="action"/> column is
specified, then matching packets will have DSCP marking applied.
If the <ref column="bandwdith"/> column is specified, then matching
packets will have metering applied. <ref column="action"/> and
<ref column="bandwdith"/> are not exclusive, so both marking and
metering by defined for the same QoS entry. If no row matches,
packets will not have any QoS applied.
</p>

<column name="priority">
<p>
The QOS rule's priority. Rules with numerically higher priority
take precedence over those with lower. If two QOS rules with
The QoS rule's priority. Rules with numerically higher priority
take precedence over those with lower. If two QoS rules with
the same priority both match, then the one actually applied to a
packet is undefined.
</p>
Expand All @@ -1308,7 +1315,7 @@

<column name="match">
<p>
The packets that the QOS rules should match, in the same expression
The packets that the QoS rules should match, in the same expression
language used for the <ref column="match" table="Logical_Flow"
db="OVN_Southbound"/> column in the OVN Southbound database's
<ref table="Logical_Flow" db="OVN_Southbound"/> table. The
Expand All @@ -1319,7 +1326,7 @@
</column>

<column name="action">
<p>The action to be performed on the matched packet</p>
<p>When specified, matching flows will have DSCP marking applied.</p>
<ul>
<li>
<code>dscp</code>: The value of this action should be in the
Expand All @@ -1330,16 +1337,16 @@

<column name="bandwidth">
<p>
The bandwidth limit to be performed on the matched packet.
Currently only supported in the userspace by dpdk.
When specified, matching packets will have bandwidth metering
applied. Traffic over the limit will be dropped.
</p>
<ul>
<li>
<code>rate</code>: The value of rate limit in kbps.
</li>
<li>
<code>burst</code>: The value of burst rate limit in kbps.
This is optional and needs to specify the <code>rate</code> first.
<code>burst</code>: The value of burst rate limit in kilobits.
This is optional and needs to specify the <code>rate</code>.
</li>
</ul>
</column>
Expand Down

0 comments on commit 8d5422b

Please sign in to comment.