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