Browse Source

Merge "[OVS][QOS] Dataplane enforcement is limited to min-bw egress direction" into stable/victoria

changes/77/819177/1
Zuul 6 months ago committed by Gerrit Code Review
parent
commit
f2a75b58bd
  1. 5
      doc/source/admin/config-qos.rst
  2. 6
      neutron/plugins/ml2/drivers/openvswitch/agent/extension_drivers/qos_driver.py

5
doc/source/admin/config-qos.rst

@ -69,7 +69,7 @@ traffic directions (from the VM point of view).
============================ ==================== ==================== ============== =====
Enforcement type \ Backend Open vSwitch SR-IOV Linux Bridge OVN
============================ ==================== ==================== ============== =====
Dataplane - Egress (1) - -
Dataplane Egress (3) Egress (1) - -
Placement Egress/Ingress (2) Egress/Ingress (2) - -
============================ ==================== ==================== ============== =====
@ -77,6 +77,9 @@ traffic directions (from the VM point of view).
(1) Since Newton
(2) Since Stein
(3) Open vSwitch minimum bandwidth support is only implemented for egress
direction and only for networks without tunneled traffic (only VLAN and
flat network types).
In the most simple case, the property can be represented by a simple Python
list defined on the class.

6
neutron/plugins/ml2/drivers/openvswitch/agent/extension_drivers/qos_driver.py

@ -171,6 +171,10 @@ class QosOVSAgentDriver(qos.QosLinuxAgentDriver):
self.ports[port['port_id']][(qos_consts.RULE_TYPE_MINIMUM_BANDWIDTH,
rule.direction)] = port
if rule.direction == constants.INGRESS_DIRECTION:
LOG.debug('Minimum bandwidth ingress rule was updated/created for '
'port %s and rule %s.', port['port_id'], rule.id)
return
# queue_num is used to identify the port which traffic come from,
# it needs to be unique across br-int. It is convenient to use ofport
@ -184,7 +188,7 @@ class QosOVSAgentDriver(qos.QosLinuxAgentDriver):
egress_port_names.extend(ports)
qos_id = self.br_int.update_minimum_bandwidth_queue(
port['port_id'], egress_port_names, vif_port.ofport, rule.min_kbps)
LOG.debug('Minimum bandwidth rule was updated/created for port '
LOG.debug('Minimum bandwidth egress rule was updated/created for port '
'%(port_id)s and rule %(rule_id)s. QoS ID: %(qos_id)s. '
'Egress ports with QoS applied: %(ports)s',
{'port_id': port['port_id'], 'rule_id': rule.id,

Loading…
Cancel
Save