Thanks to Lorenzo and everyone who reviewed and tested this series. I have merged it to main.

On 5/18/23 05:48, Lorenzo Bianconi wrote:
Rework OVN QoS implementation in order to configure it through OVS QoS
table instead of running tc command directly bypassing OVS.
This series allows to apply QoS rules on the localnet port related to
logical switch ports running on the same datapath. Considering the
following netowrk configuration:

LSP{0,1} -- LogicalSwitch -- Localnet0

It is possible to apply the following QoS rules on Localnet0 on egress traffic
entering the cluster from LSP{0,1}:
- LSP0: min-rate r0, max_rate R0
- LSP1: min-rate r1, max_rate R1

https://bugzilla.redhat.com/show_bug.cgi?id=2129742

Changes since v8:
- fix typo in add_ovs_qos_table_entry() checking for ovn_qos in
   qos->external_ids column
- fix possible double-free in configure_qos()
Changes since v7:
- make queue_id allocation in norhd global
- update QoS configuration in binding_handle_ovs_interface_changes()
- fix "ovn-controller incremental processing" test
- fix possible NULL pointer dereference
- add new ovn-northd unit test
- get rid of ovs port lookup by name
- rebase on top of ovn main branch
Changes since v6:
- run add_ovs_qos_table_entry() and remove_stale_qos_entry() in setup_qos()
- rename setup_qos() in configure_qos()
- add some new unit-tests in ovn.at
- erase QoS configuration if related port_binding is removed
Changes since v5:
- add IP for qos_map map
- add some new unit-tests in ovn.at
Changes since v4:
- do not remove ovn-egress-iface parameter
- rebase on top of ovn main branch

Lorenzo Bianconi (10):
   controller: remove tunnel interfaces from egress_ifaces sset
   controller: add incremental processing for ovn-controller qos_map
   northd: add qos_physical_network in port_binding config column
   controller: configure qos through ovs qos table and do not run tc
     directly
   controller: improve ovs port lookup by qos
   controller: use unsigned long long int for
     qos_max_rate/qos_min_rate/qos_burst
   northd: make queue_id allocation global for the ovn cluster
   northd: apply QoS rules on the localnet port related to LSP ports
   controller: get rid of egress_ifaces sset
   update NEWS with new QoS info

  NEWS                        |   6 +
  controller/binding.c        | 620 +++++++++++++++++-------------------
  controller/binding.h        |   6 +-
  controller/ovn-controller.c |  35 +-
  controller/ovsport.c        |  16 +
  controller/ovsport.h        |   3 +
  northd/northd.c             | 163 +++-------
  northd/ovn-northd.8.xml     |  12 +
  ovn-sb.xml                  |   5 +
  tests/ovn-northd.at         |  24 ++
  tests/ovn-performance.at    |   5 -
  tests/ovn.at                | 185 +++++++++++
  tests/system-ovn.at         | 151 ++++++++-
  13 files changed, 770 insertions(+), 461 deletions(-)


_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to