]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
Bug fix tc action drop
authorPatrick McHardy <kaber@trash.net>
Wed, 18 Jul 2007 10:46:20 +0000 (12:46 +0200)
committerStephen Hemminger <shemminger@linux-foundation.org>
Wed, 22 Aug 2007 17:01:10 +0000 (10:01 -0700)
>>That command is from a script that used to work with iproute2-ss020116
>>(2002!), which had the following in tc/m_police.c:
>>
>>210     } else if (strcmp(*argv, "action") == 0) {
>>211             NEXT_ARG();
>>212             if (get_police_result(&p.action, &presult, *argv)) {
>>
>>I don't know when that bit was dropped, but it used to be there. :-)
>
>
>
> Indeed, I missed that. I'll fix up the patch ..

OK this patch fixes parsing of "action ...". I've removed
the erroring on unknown arguments again since in that case
the caller should continue parsing.

tc/m_police.c

index 62e37f9dc27c7d89f41a3380d042ca6cd80e79be..5d2528b85af53c43aadf2ad0e230b744d7902f01 100644 (file)
@@ -227,7 +227,8 @@ int act_parse_police(struct action_util *a,int *argc_p, char ***argv_p, int tca_
                        p.action = TC_POLICE_OK;
                } else if (matches(*argv, "pipe") == 0) {
                        p.action = TC_POLICE_PIPE;
-               } else if (strcmp(*argv, "conform-exceed") == 0) {
+               } else if (strcmp(*argv, "action") == 0 ||
+                          strcmp(*argv, "conform-exceed") == 0) {
                        NEXT_ARG();
                        if (get_police_result(&p.action, &presult, *argv)) {
                                fprintf(stderr, "Illegal \"action\"\n");