This patch allow to configure max/min rate greater than 4Gbps Acked-by: Numan Siddique <num...@ovn.org> Acked-By: Ihar Hrachyshka <ihrac...@redhat.com> Tested-by: Rodolfo Alonso <ralon...@redhat.com> Signed-off-by: Lorenzo Bianconi <lorenzo.bianc...@redhat.com> --- controller/binding.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/controller/binding.c b/controller/binding.c index 99015b315..de89795ae 100644 --- a/controller/binding.c +++ b/controller/binding.c @@ -147,9 +147,9 @@ struct qos_queue { char *port; 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; }; static struct qos_queue * @@ -224,9 +224,10 @@ get_qos_egress_port_interface(struct shash *bridge_mappings, static void add_ovs_qos_table_entry(struct ovsdb_idl_txn *ovs_idl_txn, const struct ovsrec_port *port, - uint32_t min_rate, uint32_t max_rate, - uint32_t burst, uint32_t queue_id, - const char *ovn_port) + unsigned long long min_rate, + unsigned long long max_rate, + unsigned long long burst, + uint32_t queue_id, const char *ovn_port) { struct smap external_ids = SMAP_INITIALIZER(&external_ids); struct smap other_config = SMAP_INITIALIZER(&other_config); @@ -266,9 +267,9 @@ add_ovs_qos_table_entry(struct ovsdb_idl_txn *ovs_idl_txn, ovsrec_qos_update_queues_setkey(qos, queue_id, queue); } - smap_add_format(&other_config, "max-rate", "%d", max_rate); - smap_add_format(&other_config, "min-rate", "%d", min_rate); - smap_add_format(&other_config, "burst", "%d", burst); + smap_add_format(&other_config, "max-rate", "%llu", max_rate); + smap_add_format(&other_config, "min-rate", "%llu", min_rate); + smap_add_format(&other_config, "burst", "%llu", burst); ovsrec_queue_verify_other_config(queue); ovsrec_queue_set_other_config(queue, &other_config); smap_destroy(&other_config); @@ -336,10 +337,12 @@ configure_qos(const struct sbrec_port_binding *pb, struct binding_ctx_in *b_ctx_in, struct binding_ctx_out *b_ctx_out) { - - 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 min_rate = smap_get_ullong( + &pb->options, "qos_min_rate", 0); + unsigned long long max_rate = smap_get_ullong( + &pb->options, "qos_max_rate", 0); + unsigned long long burst = smap_get_ullong( + &pb->options, "qos_burst", 0); uint32_t queue_id = smap_get_int(&pb->options, "qdisc_queue_id", 0); if ((!min_rate && !max_rate && !burst) || !queue_id) { -- 2.40.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev