SFQ is qdisc which doesn't really shape any traffic but
'just' re-arrange packets in sending buffer so no stream
starve.  The goal is to ensure fairness. There is basically
only one configuration parameter (perturb) which is set to
advised value of 10.
---
 src/util/virnetdevbandwidth.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/util/virnetdevbandwidth.c b/src/util/virnetdevbandwidth.c
index 3abe7e2..b4ffc29 100644
--- a/src/util/virnetdevbandwidth.c
+++ b/src/util/virnetdevbandwidth.c
@@ -124,6 +124,16 @@ virNetDevBandwidthSet(const char *ifname,
 
         virCommandFree(cmd);
         cmd = virCommandNew(TC);
+        virCommandAddArgList(cmd, "qdisc", "add", "dev", ifname, "parent",
+                             hierarchical_class ? "1:2" : "1:1",
+                             "handle", "2:", "sfq", "perturb",
+                             "10", NULL);
+
+        if (virCommandRun(cmd, NULL) < 0)
+            goto cleanup;
+
+        virCommandFree(cmd);
+        cmd = virCommandNew(TC);
         virCommandAddArgList(cmd,"filter", "add", "dev", ifname, "parent",
                              "1:0", "protocol", "ip", "handle", "1", "fw",
                              "flowid", "1", NULL);
-- 
1.7.8.6

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to