Message ID | cover.1684403044.git.lorenzo.bianconi@redhat.com |
---|---|
Headers | show |
Series | Configure OVN QoS thorugh OvS db | expand |
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(-) >