]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
Fix handling of qdis without options
authorStephen Hemminger <stephen@networkplumber.org>
Sun, 27 Oct 2013 19:26:47 +0000 (12:26 -0700)
committerStephen Hemminger <stephen@networkplumber.org>
Sun, 27 Oct 2013 19:26:47 +0000 (12:26 -0700)
Some qdisc like htb want the parse_qopt to be called even if no options
present. Fixes regression caused by:

e9e78b0db0e023035e346ba67de838be851eb665 is the first bad commit
commit e9e78b0db0e023035e346ba67de838be851eb665
Author: Stephen Hemminger <stephen@networkplumber.org>
Date:   Mon Aug 26 08:41:19 2013 -0700

    tc: allow qdisc without options

tc/tc_qdisc.c

index 3002a56c3b09f926e0b94e2eb7794bde98e0cfac..e304858044cbb27762ac44cabfc4d090eaa1a679 100644 (file)
@@ -137,15 +137,16 @@ static int tc_qdisc_modify(int cmd, unsigned flags, int argc, char **argv)
        if (est.ewma_log)
                addattr_l(&req.n, sizeof(req), TCA_RATE, &est, sizeof(est));
 
-       if (argc) {
-               if (q) {
-                       if (!q->parse_qopt) {
-                               fprintf(stderr, "qdisc '%s' does not support option parsing\n", k);
-                               return -1;
-                       }
+       if (q) {
+               if (q->parse_qopt) {
                        if (q->parse_qopt(q, argc, argv, &req.n))
                                return 1;
-               } else {
+               } else if (argc) {
+                       fprintf(stderr, "qdisc '%s' does not support option parsing\n", k);
+                       return -1;
+               }
+       } else {
+               if (argc) {
                        if (matches(*argv, "help") == 0)
                                usage();