diff options
Diffstat (limited to 'networking/tc.c')
-rw-r--r-- | networking/tc.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/networking/tc.c b/networking/tc.c index dbdba3317..541a0f8f4 100644 --- a/networking/tc.c +++ b/networking/tc.c | |||
@@ -470,17 +470,22 @@ int tc_main(int argc UNUSED_PARAM, char **argv) | |||
470 | msg.tcm_ifindex = xll_name_to_index(dev); | 470 | msg.tcm_ifindex = xll_name_to_index(dev); |
471 | if (cmd >= CMD_show) | 471 | if (cmd >= CMD_show) |
472 | filter_ifindex = msg.tcm_ifindex; | 472 | filter_ifindex = msg.tcm_ifindex; |
473 | } else if ((arg == ARG_qdisc && obj == OBJ_class && cmd >= CMD_show) | 473 | } else |
474 | || (arg == ARG_handle && obj == OBJ_qdisc | 474 | if ((arg == ARG_qdisc && obj == OBJ_class && cmd >= CMD_show) |
475 | && cmd == CMD_change)) { | 475 | || (arg == ARG_handle && obj == OBJ_qdisc && cmd == CMD_change) |
476 | ) { | ||
476 | NEXT_ARG(); | 477 | NEXT_ARG(); |
477 | /* We don't care about duparg2("qdisc handle",*argv) for now */ | 478 | /* We don't care about duparg2("qdisc handle",*argv) for now */ |
478 | if (get_qdisc_handle(&filter_qdisc, *argv)) | 479 | if (get_qdisc_handle(&filter_qdisc, *argv)) |
479 | invarg(*argv, "qdisc"); | 480 | invarg(*argv, "qdisc"); |
480 | } else if (obj != OBJ_qdisc && | 481 | } else |
481 | (arg == ARG_root | 482 | if (obj != OBJ_qdisc |
482 | || arg == ARG_parent | 483 | && (arg == ARG_root |
483 | || (obj == OBJ_filter && arg >= ARG_pref))) { | 484 | || arg == ARG_parent |
485 | || (obj == OBJ_filter && arg >= ARG_pref) | ||
486 | ) | ||
487 | ) { | ||
488 | /* nothing */ | ||
484 | } else { | 489 | } else { |
485 | invarg(*argv, "command"); | 490 | invarg(*argv, "command"); |
486 | } | 491 | } |