On Wed, Jul 31, 2024 at 11:05 AM Dumitru Ceara <[email protected]> wrote:
> 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.")
> Signed-off-by: Dumitru Ceara <[email protected]>
> ---
> northd/northd.c | 11 +++--
> northd/ovn-northd.8.xml | 92 +++++++++++++----------------------------
> 2 files changed, 34 insertions(+), 69 deletions(-)
>
> 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
> --
> 2.45.2
>
>
Acked-by: Ales Musil <[email protected]>
--
Ales Musil
Senior Software Engineer - OVN Core
Red Hat EMEA <https://www.redhat.com>
[email protected]
<https://red.ht/sig>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev