This patch allow to configure max/min rate greater than 4Gbps
https://bugzilla.redhat.com/show_bug.cgi?id=2129742
Tested-by: Rodolfo Alonso <[email protected]>
Signed-off-by: Lorenzo Bianconi <[email protected]>
---
controller/binding.c | 30 ++++++++++++++++++------------
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/controller/binding.c b/controller/binding.c
index f375109d9..aa16c802b 100644
--- a/controller/binding.c
+++ b/controller/binding.c
@@ -114,9 +114,9 @@ struct qos_queue {
struct hmap_node node;
char *network;
uint32_t queue_id;
- uint32_t min_rate;
- uint32_t max_rate;
- uint32_t burst;
+ unsigned long long min_rate;
+ unsigned long long max_rate;
+ unsigned long long burst;
};
void
@@ -153,9 +153,12 @@ static void
get_qos_params(const struct sbrec_port_binding *pb, struct hmap *queue_map,
struct smap *egress_ifaces)
{
- uint32_t min_rate = smap_get_int(&pb->options, "qos_min_rate", 0);
- uint32_t max_rate = smap_get_int(&pb->options, "qos_max_rate", 0);
- uint32_t burst = smap_get_int(&pb->options, "qos_burst", 0);
+ unsigned long long int min_rate = smap_get_ullong(
+ &pb->options, "qos_min_rate", 0);
+ unsigned long long int max_rate = smap_get_ullong(
+ &pb->options, "qos_max_rate", 0);
+ unsigned long long int burst = smap_get_ullong(
+ &pb->options, "qos_burst", 0);
uint32_t queue_id = smap_get_int(&pb->options, "qdisc_queue_id", 0);
const char *network = smap_get(egress_ifaces, pb->logical_port);
@@ -249,9 +252,12 @@ add_ovs_qos_table_entry(struct ovsdb_idl_txn *ovs_idl_txn,
continue;
}
- uint32_t max_rate = smap_get_int(&queue->other_config, "max-rate", 0);
- uint32_t min_rate = smap_get_int(&queue->other_config, "min-rate", 0);
- uint32_t burst = smap_get_int(&queue->other_config, "burst", 0);
+ unsigned long long int max_rate =
+ smap_get_ullong(&queue->other_config, "max-rate", 0);
+ unsigned long long int min_rate =
+ smap_get_ullong(&queue->other_config, "min-rate", 0);
+ unsigned long long int burst =
+ smap_get_ullong(&queue->other_config, "burst", 0);
if (max_rate != q->max_rate || min_rate != q->min_rate ||
burst != q->burst) {
@@ -266,9 +272,9 @@ add_ovs_qos_table_entry(struct ovsdb_idl_txn *ovs_idl_txn,
ovsrec_qos_update_queues_setkey(qos, q->queue_id, queue);
}
- smap_add_format(&other_config, "max-rate", "%d", q->max_rate);
- smap_add_format(&other_config, "min-rate", "%d", q->min_rate);
- smap_add_format(&other_config, "burst", "%d", q->burst);
+ smap_add_format(&other_config, "max-rate", "%lld", q->max_rate);
+ smap_add_format(&other_config, "min-rate", "%lld", q->min_rate);
+ smap_add_format(&other_config, "burst", "%lld", q->burst);
ovsrec_queue_verify_other_config(queue);
ovsrec_queue_set_other_config(queue, &other_config);
smap_destroy(&other_config);
--
2.39.2
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev