This patch allow to configure max/min rate greater than 4Gbps https://bugzilla.redhat.com/show_bug.cgi?id=2129742 Tested-by: Rodolfo Alonso <ralon...@redhat.com> Signed-off-by: Lorenzo Bianconi <lorenzo.bianc...@redhat.com> --- 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 d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev