commit b82057d9ec851a8aba8a295b959190ef5098f330 Author: Jamal Hadi Salim Date: Sat Dec 21 17:00:11 2013 -0500 After a decade of trying to deprecate the old policer syntax, I believe it is time to kill it. The kernel build option for old policer is gone for at least 5 years now (although backward compatibility is still there). Being backward compatible meant hijacking the keyword "action" and was obstructing policies like: tc filter add dev eth0 parent ffff: protocol ip pref 10 \ u32 match ip protocol 1 0xff flowid 1:10 \ action skbedit mark 1 \ action police rate 10kbit burst 10k pipe \ action skbedit mark 2 \ action police rate 20kbit burst 20k pipe \ action action mirred egress mirror dev dummy0 Signed-off-by: Jamal Hadi Salim diff --git a/tc/m_police.c b/tc/m_police.c index 300287e..df295e0 100644 --- a/tc/m_police.c +++ b/tc/m_police.c @@ -38,7 +38,6 @@ static void usage(void) fprintf(stderr, " [ peakrate BPS ] [ avrate BPS ] [ overhead BYTES ]\n"); fprintf(stderr, " [ linklayer TYPE ] [ ACTIONTERM ]\n"); - fprintf(stderr, "Old Syntax ACTIONTERM := action [/NOTEXCEEDACT] \n"); fprintf(stderr, "New Syntax ACTIONTERM := conform-exceed [/NOTEXCEEDACT] \n"); fprintf(stderr, "Where: *EXCEEDACT := pipe | ok | reclassify | drop | continue \n"); fprintf(stderr, "Where: pipe is only valid for new syntax \n"); @@ -150,6 +149,7 @@ int act_parse_police(struct action_util *a,int *argc_p, char ***argv_p, int tca_ while (argc > 0) { + fprintf(stderr,"police argc %d argv %s\n", argc, *argv); if (matches(*argv, "index") == 0) { NEXT_ARG(); if (get_u32(&p.index, *argv, 10)) { @@ -230,8 +230,7 @@ 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, "action") == 0 || - strcmp(*argv, "conform-exceed") == 0) { + } else if (strcmp(*argv, "conform-exceed") == 0) { NEXT_ARG(); if (get_police_result(&p.action, &presult, *argv)) { fprintf(stderr, "Illegal \"action\"\n");