c0d101aa81
This change modifies the os-vif ovs plugin to set a default tc qdisc on ovs interface when the host os is not windows and the system datapath is used. This change fixes a "silent" bug in the functional test code due to a change in an ovsdbapp function signiture to accpet a new paramater. Closes-Bug: #2017868 Change-Id: Id9ef7074634a0f23d67a4401fa8fca363b51bb43
33 lines
2.0 KiB
YAML
33 lines
2.0 KiB
YAML
---
|
|
upgrade:
|
|
- |
|
|
A new config option has been added to the OpenvSwitch plugin
|
|
``[os_vif_ovs]default_qos_type``. This option controls
|
|
the Default tc qdisc applied to a kernel interface attached to OpenvSwitch
|
|
on Linux hosts. As of this release, the default tc qdisc is ``linux-noop``
|
|
other supported values are ``linux-htb``, ``linux-hfsc``,
|
|
``linux-sfq``, ``linux-codel`` and ``linux-fq_codel``.
|
|
before this release the default qdisc was undefined. older kernels did not
|
|
apply /proc/sys/net/core/default_qdisc to tap devices. newer kernels such
|
|
as the one found in rhel 9 do. This can significantly impact performance.
|
|
See bug https://bugs.launchpad.net/os-vif/+bug/2017868 for more details.
|
|
The default ``linux-noop`` should perform well for all use-cases so no
|
|
explicit action is required on upgrade however it should be noted that
|
|
the default_qos_type is only set when a port is first created. As such
|
|
this fix will not take effect until the next time the vm interface is
|
|
recreated. If you change this value for an existing port it will only
|
|
take effect after a hard reboot of the VM or a move operation.
|
|
|
|
fixes:
|
|
- |
|
|
A significant performance regression was observed on a subset of Linux
|
|
kernels and sysctl configurations resulting in a reduction of throughput
|
|
to between 10% of the prior performance for small packets and 50% for
|
|
large packets. This has now been resolved by setting a default
|
|
qos_type on ovs interfaces when they are first created. To mimic libvirt's
|
|
undocumented behavior the ``linux-noop`` type is set on the ovs port when
|
|
it is first created. This will be overridden by neutron if a qos policy
|
|
is defined for a port and is simply the initial value to use when first
|
|
adding a port to OpenvSwitch. The default QoS type applied can be
|
|
controlled by the ``[os_vif_ovs]default_qos_type`` config operation.
|
|
See bug https://bugs.launchpad.net/os-vif/+bug/2017868 for more details. |