From: Ethan Jackson Date: Tue, 15 Mar 2011 18:50:53 +0000 (-0700) Subject: qos: Remove min-rate requirement for linux-htb and linux-hfsc. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c45ab5e9b76adc4097a3243bfc07502e658ccd5c;p=openvswitch qos: Remove min-rate requirement for linux-htb and linux-hfsc. One could quite reasonably desire to create a queue with no min-rate. For example, a default queue could be reasonably configured without a min-rate or a max-rate. This commit removes the requirement that min-rate be configured on all queues. If not configured, defaults to something very small. --- diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c index a27a625f..baaa1e66 100644 --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c @@ -2497,12 +2497,7 @@ htb_parse_class_details__(struct netdev *netdev, return EINVAL; } - /* min-rate. Don't allow a min-rate below 1500 bytes/s. */ - if (!min_rate_s) { - /* min-rate is required. */ - return EINVAL; - } - hc->min_rate = strtoull(min_rate_s, NULL, 10) / 8; + hc->min_rate = min_rate_s ? strtoull(min_rate_s, NULL, 10) / 8 : 0; hc->min_rate = MAX(hc->min_rate, 1500); hc->min_rate = MIN(hc->min_rate, htb->max_rate); @@ -2977,11 +2972,7 @@ hfsc_parse_class_details__(struct netdev *netdev, min_rate_s = shash_find_data(details, "min-rate"); max_rate_s = shash_find_data(details, "max-rate"); - if (!min_rate_s) { - return EINVAL; - } - - min_rate = strtoull(min_rate_s, NULL, 10) / 8; + min_rate = min_rate_s ? strtoull(min_rate_s, NULL, 10) / 8 : 0; min_rate = MAX(min_rate, 1500); min_rate = MIN(min_rate, hfsc->max_rate); diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index 244b24e5..470f3897 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -1384,7 +1384,7 @@ column="type"/> of linux-htb are:

min-rate
-
Minimum guaranteed bandwidth, in bit/s. Required.
+
Minimum guaranteed bandwidth, in bit/s.
max-rate
Maximum allowed bandwidth, in bit/s. Optional. If specified, the queue's rate will not be allowed to exceed the specified value, even @@ -1407,7 +1407,7 @@ column="type"/> of linux-hfsc are:

min-rate
-
Minimum guaranteed bandwidth, in bit/s. Required.
+
Minimum guaranteed bandwidth, in bit/s.
max-rate
Maximum allowed bandwidth, in bit/s. Optional. If specified, the queue's rate will not be allowed to exceed the specified value, even