diff --git a/vmware_nsx/services/qos/nsx_v/driver.py b/vmware_nsx/services/qos/nsx_v/driver.py index 4b49918fd5..dcc82f06a5 100644 --- a/vmware_nsx/services/qos/nsx_v/driver.py +++ b/vmware_nsx/services/qos/nsx_v/driver.py @@ -16,13 +16,25 @@ from oslo_log import log as logging +from neutron.common import constants as n_consts from neutron.services.qos.drivers import base from neutron.services.qos import qos_consts LOG = logging.getLogger(__name__) DRIVER = None -SUPPORTED_RULES = [qos_consts.RULE_TYPE_BANDWIDTH_LIMIT, - qos_consts.RULE_TYPE_MINIMUM_BANDWIDTH] +SUPPORTED_RULES = { + qos_consts.RULE_TYPE_BANDWIDTH_LIMIT: { + qos_consts.MAX_KBPS: { + 'type:range': [0, n_consts.DB_INTEGER_MAX_VALUE]}, + qos_consts.MAX_BURST: { + 'type:range': [0, n_consts.DB_INTEGER_MAX_VALUE]}, + qos_consts.DIRECTION: { + 'type:values': [n_consts.EGRESS_DIRECTION]} + }, + qos_consts.RULE_TYPE_DSCP_MARKING: { + qos_consts.DSCP_MARK: {'type:values': n_consts.VALID_DSCP_MARKS} + } +} class NSXvQosDriver(base.DriverBase): diff --git a/vmware_nsx/services/qos/nsx_v3/driver.py b/vmware_nsx/services/qos/nsx_v3/driver.py index 715411be70..1c3478d83f 100644 --- a/vmware_nsx/services/qos/nsx_v3/driver.py +++ b/vmware_nsx/services/qos/nsx_v3/driver.py @@ -16,6 +16,7 @@ from oslo_log import log as logging +from neutron.common import constants as n_consts from neutron.services.qos.drivers import base from neutron.services.qos import qos_consts @@ -25,8 +26,19 @@ LOG = logging.getLogger(__name__) DRIVER = None -SUPPORTED_RULES = [qos_consts.RULE_TYPE_BANDWIDTH_LIMIT, - qos_consts.RULE_TYPE_MINIMUM_BANDWIDTH] +SUPPORTED_RULES = { + qos_consts.RULE_TYPE_BANDWIDTH_LIMIT: { + qos_consts.MAX_KBPS: { + 'type:range': [0, n_consts.DB_INTEGER_MAX_VALUE]}, + qos_consts.MAX_BURST: { + 'type:range': [0, n_consts.DB_INTEGER_MAX_VALUE]}, + qos_consts.DIRECTION: { + 'type:values': [n_consts.EGRESS_DIRECTION]} + }, + qos_consts.RULE_TYPE_DSCP_MARKING: { + qos_consts.DSCP_MARK: {'type:values': n_consts.VALID_DSCP_MARKS} + } +} class NSXv3QosDriver(base.DriverBase):