diff mbox series

[ovs-dev,v6,1/9] northd: Fix up logical flow documentation for QoS.

Message ID 20240806094451.730622-2-dceara@redhat.com
State Superseded
Headers show
Series Add ACL Sampling using per-flow IPFIX. | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test success github build: passed
ovsrobot/github-robot-_ovn-kubernetes success github build: passed

Commit Message

Dumitru Ceara Aug. 6, 2024, 9:44 a.m. UTC
When the QoS stages were merged the documentation wasn't updated
properly.  Also fix up some small style issues in the northd code
itself.

Fixes: 5dd573757699 ("Merge QoS logical pipelines.")
Acked-by: Numan Siddique <numans@ovn.org>
Signed-off-by: Dumitru Ceara <dceara@redhat.com>
---
V6:
- Removed Ales' ack.
V5:
- Added acks from Ales and Numan
---
 northd/northd.c         | 11 +++--
 northd/ovn-northd.8.xml | 92 +++++++++++++----------------------------
 2 files changed, 34 insertions(+), 69 deletions(-)
diff mbox series

Patch

diff --git a/northd/northd.c b/northd/northd.c
index a8a0b6f94c..fbfd5a7f35 100644
--- a/northd/northd.c
+++ b/northd/northd.c
@@ -7137,7 +7137,6 @@  build_qos(struct ovn_datapath *od, struct lflow_table *lflows,
             }
         }
         if (rate) {
-            stage = ingress ? S_SWITCH_IN_QOS : S_SWITCH_OUT_QOS;
             if (burst) {
                 ds_put_format(&action,
                               "set_meter(%"PRId64", %"PRId64"); ",
@@ -7164,11 +7163,11 @@  build_qos(struct ovn_datapath *od, struct lflow_table *lflows,
                               qos->value_action[j]);
             }
         }
-            ds_put_cstr(&action, "next;");
-            ovn_lflow_add_with_hint(lflows, od, stage,
-                                    qos->priority,
-                                    qos->match, ds_cstr(&action),
-                                    &qos->header_, lflow_ref);
+        ds_put_cstr(&action, "next;");
+        ovn_lflow_add_with_hint(lflows, od, stage,
+                                qos->priority,
+                                qos->match, ds_cstr(&action),
+                                &qos->header_, lflow_ref);
     }
     ds_destroy(&action);
 }
diff --git a/northd/ovn-northd.8.xml b/northd/ovn-northd.8.xml
index b06b09ac5f..ba85e4bfd7 100644
--- a/northd/ovn-northd.8.xml
+++ b/northd/ovn-northd.8.xml
@@ -907,48 +907,21 @@ 
       </li>
     </ul>
 
-    <h3>Ingress Table 10: <code>from-lport</code> QoS Marking</h3>
+    <h3>Ingress Table 10: <code>from-lport</code> QoS</h3>
 
     <p>
       Logical flows in this table closely reproduce those in the
-      <code>QoS</code> table with the <code>action</code> column set in
-      the <code>OVN_Northbound</code> database for the
+      <code>QoS</code> table with the <code>action</code> or
+      <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 entry in a logical switch with DSCP marking
-        enabled, a flow will be added at the priority mentioned in the
-        QoS table.
-      </li>
-
-      <li>
-        For every qos_rules entry in a logical switch with packet marking
-        enabled, a flow will be added at the priority mentioned in the
-        QoS table.
-      </li>
-
-      <li>
-        One priority-0 fallback flow that matches all packets and advances to
-        the next table.
-      </li>
-    </ul>
-
-    <h3>Ingress Table 11: <code>from-lport</code> QoS Meter</h3>
-
-    <p>
-      Logical flows in this table closely reproduce those in the
-      <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 entry in a logical switch with metering
-        enabled, a flow will be added at the priority mentioned in the
-        QoS table.
+        For every qos_rules entry in a logical switch with DSCP marking,
+        packet marking or metering enabled a flow will be added at the priority
+        mentioned in the QoS table.
       </li>
 
       <li>
@@ -957,7 +930,7 @@ 
       </li>
     </ul>
 
-    <h3>Ingress Table 12: Load balancing affinity check</h3>
+    <h3>Ingress Table 11: Load balancing affinity check</h3>
 
     <p>
       Load balancing affinity check table contains the following
@@ -985,7 +958,7 @@ 
       </li>
     </ul>
 
-    <h3>Ingress Table 13: LB</h3>
+    <h3>Ingress Table 12: LB</h3>
 
     <ul>
       <li>
@@ -1065,7 +1038,7 @@ 
       </li>
     </ul>
 
-    <h3>Ingress Table 14: Load balancing affinity learn</h3>
+    <h3>Ingress Table 13: Load balancing affinity learn</h3>
 
     <p>
       Load balancing affinity learn table contains the following
@@ -1096,7 +1069,7 @@ 
       </li>
     </ul>
 
-    <h3>Ingress Table 15: Pre-Hairpin</h3>
+    <h3>Ingress Table 14: Pre-Hairpin</h3>
     <ul>
       <li>
         If the logical switch has load balancer(s) configured, then a
@@ -1114,7 +1087,7 @@ 
       </li>
     </ul>
 
-    <h3>Ingress Table 16: Nat-Hairpin</h3>
+    <h3>Ingress Table 15: Nat-Hairpin</h3>
     <ul>
       <li>
          If the logical switch has load balancer(s) configured, then a
@@ -1149,7 +1122,7 @@ 
       </li>
     </ul>
 
-    <h3>Ingress Table 17: Hairpin</h3>
+    <h3>Ingress Table 16: Hairpin</h3>
     <ul>
       <li>
         <p>
@@ -1187,7 +1160,7 @@ 
       </li>
     </ul>
 
-    <h3>Ingress table 18: <code>from-lport</code> ACL evaluation after LB</h3>
+    <h3>Ingress table 17: <code>from-lport</code> ACL evaluation after LB</h3>
 
     <p>
       Logical flows in this table closely reproduce those in the
@@ -1272,7 +1245,7 @@ 
       </li>
     </ul>
 
-    <h3>Ingress Table 19: <code>from-lport</code> ACL action after LB</h3>
+    <h3>Ingress Table 18: <code>from-lport</code> ACL action after LB</h3>
 
     <p>
       Logical flows in this table decide how to proceed based on the values of
@@ -1312,7 +1285,7 @@ 
       </li>
     </ul>
 
-    <h3>Ingress Table 20: Stateful</h3>
+    <h3>Ingress Table 19: Stateful</h3>
 
     <ul>
       <li>
@@ -1335,7 +1308,7 @@ 
       </li>
     </ul>
 
-    <h3>Ingress Table 21: ARP/ND responder</h3>
+    <h3>Ingress Table 20: ARP/ND responder</h3>
 
     <p>
       This table implements ARP/ND responder in a logical switch for known
@@ -1670,7 +1643,7 @@  output;
       </li>
     </ul>
 
-    <h3>Ingress Table 22: DHCP option processing</h3>
+    <h3>Ingress Table 21: DHCP option processing</h3>
 
     <p>
       This table adds the DHCPv4 options to a DHCPv4 packet from the
@@ -1731,7 +1704,7 @@  next;
       </li>
     </ul>
 
-    <h3>Ingress Table 23: DHCP responses</h3>
+    <h3>Ingress Table 22: DHCP responses</h3>
 
     <p>
       This table implements DHCP responder for the DHCP replies generated by
@@ -1812,7 +1785,7 @@  output;
       </li>
     </ul>
 
-    <h3>Ingress Table 24 DNS Lookup</h3>
+    <h3>Ingress Table 23 DNS Lookup</h3>
 
     <p>
       This table looks up and resolves the DNS names to the corresponding
@@ -1841,7 +1814,7 @@  reg0[4] = dns_lookup(); next;
       </li>
     </ul>
 
-    <h3>Ingress Table 25 DNS Responses</h3>
+    <h3>Ingress Table 24 DNS Responses</h3>
 
     <p>
       This table implements DNS responder for the DNS replies generated by
@@ -1876,7 +1849,7 @@  output;
       </li>
     </ul>
 
-    <h3>Ingress table 26 External ports</h3>
+    <h3>Ingress table 25 External ports</h3>
 
     <p>
       Traffic from the <code>external</code> logical ports enter the ingress
@@ -1919,7 +1892,7 @@  output;
       </li>
     </ul>
 
-    <h3>Ingress Table 27 Destination Lookup</h3>
+    <h3>Ingress Table 26 Destination Lookup</h3>
 
     <p>
       This table implements switching behavior.  It contains these logical
@@ -2117,7 +2090,7 @@  output;
       </li>
     </ul>
 
-    <h3>Ingress Table 28 Destination unknown</h3>
+    <h3>Ingress Table 27 Destination unknown</h3>
 
     <p>
       This table handles the packets whose destination was not found or
@@ -2330,28 +2303,21 @@  output;
       This is similar to ingress table <code>ACL action</code>.
     </p>
 
-    <h3>Egress Table 6: <code>to-lport</code> QoS Marking</h3>
-
-    <p>
-      This is similar to ingress table <code>QoS marking</code> except
-      they apply to <code>to-lport</code> QoS rules.
-    </p>
-
-    <h3>Egress Table 7: <code>to-lport</code> QoS Meter</h3>
+    <h3>Egress Table 6: <code>to-lport</code> QoS</h3>
 
     <p>
-      This is similar to ingress table <code>QoS meter</code> except
+      This is similar to ingress table <code>QoS</code> except
       they apply to <code>to-lport</code> QoS rules.
     </p>
 
-    <h3>Egress Table 8: Stateful</h3>
+    <h3>Egress Table 7: Stateful</h3>
 
     <p>
       This is similar to ingress table <code>Stateful</code> except that
       there are no rules added for load balancing new connections.
     </p>
 
-    <h3>Egress Table 9: Egress Port Security - check</h3>
+    <h3>Egress Table 8: Egress Port Security - check</h3>
 
     <p>
       This is similar to the port security logic in table
@@ -2380,7 +2346,7 @@  output;
       </li>
     </ul>
 
-    <h3>Egress Table 10: Egress Port Security - Apply</h3>
+    <h3>Egress Table 9: Egress Port Security - Apply</h3>
 
     <p>
       This is similar to the ingress port security logic in ingress table