Commit 4bfb21ca authored by Jamal Hadi Salim's avatar Jamal Hadi Salim Committed by Stephen Hemminger

policer - retire old syntax

attached.

cheers,
jamal
commit b82057d9ec851a8aba8a295b959190ef5098f330
Author: Jamal Hadi Salim <jhs@mojatatu.com>
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: default avatarJamal Hadi Salim <jhs@mojatatu.com>
parent 02b1d345
...@@ -38,7 +38,6 @@ static void usage(void) ...@@ -38,7 +38,6 @@ static void usage(void)
fprintf(stderr, " [ peakrate BPS ] [ avrate BPS ] [ overhead BYTES ]\n"); fprintf(stderr, " [ peakrate BPS ] [ avrate BPS ] [ overhead BYTES ]\n");
fprintf(stderr, " [ linklayer TYPE ] [ ACTIONTERM ]\n"); fprintf(stderr, " [ linklayer TYPE ] [ ACTIONTERM ]\n");
fprintf(stderr, "Old Syntax ACTIONTERM := action <EXCEEDACT>[/NOTEXCEEDACT] \n");
fprintf(stderr, "New Syntax ACTIONTERM := conform-exceed <EXCEEDACT>[/NOTEXCEEDACT] \n"); fprintf(stderr, "New Syntax ACTIONTERM := conform-exceed <EXCEEDACT>[/NOTEXCEEDACT] \n");
fprintf(stderr, "Where: *EXCEEDACT := pipe | ok | reclassify | drop | continue \n"); fprintf(stderr, "Where: *EXCEEDACT := pipe | ok | reclassify | drop | continue \n");
fprintf(stderr, "Where: pipe is only valid for new syntax \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_ ...@@ -150,6 +149,7 @@ int act_parse_police(struct action_util *a,int *argc_p, char ***argv_p, int tca_
while (argc > 0) { while (argc > 0) {
fprintf(stderr,"police argc %d argv %s\n", argc, *argv);
if (matches(*argv, "index") == 0) { if (matches(*argv, "index") == 0) {
NEXT_ARG(); NEXT_ARG();
if (get_u32(&p.index, *argv, 10)) { 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_ ...@@ -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; p.action = TC_POLICE_OK;
} else if (matches(*argv, "pipe") == 0) { } else if (matches(*argv, "pipe") == 0) {
p.action = TC_POLICE_PIPE; p.action = TC_POLICE_PIPE;
} else if (strcmp(*argv, "action") == 0 || } else if (strcmp(*argv, "conform-exceed") == 0) {
strcmp(*argv, "conform-exceed") == 0) {
NEXT_ARG(); NEXT_ARG();
if (get_police_result(&p.action, &presult, *argv)) { if (get_police_result(&p.action, &presult, *argv)) {
fprintf(stderr, "Illegal \"action\"\n"); fprintf(stderr, "Illegal \"action\"\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment