From 08139c2ffb595494a5a16a8baf9f56e0d8e768c0 Mon Sep 17 00:00:00 2001 From: Jamal Hadi Salim Date: Mon, 6 Oct 2014 07:30:16 -0400 Subject: [PATCH] tcindex classifier support for multiple actions tcindex can now use the action syntax Signed-off-by: Jamal Hadi Salim --- tc/f_tcindex.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tc/f_tcindex.c b/tc/f_tcindex.c index 590c0a6f..b1847c89 100644 --- a/tc/f_tcindex.c +++ b/tc/f_tcindex.c @@ -21,7 +21,7 @@ static void explain(void) " [ shift SHIFT ]\n"); fprintf(stderr," [ pass_on | fall_through ]\n"); fprintf(stderr," [ classid CLASSID ] " - "[ police POLICE_SPEC ]\n"); + "[ action ACTION_SPEC ]\n"); } static int tcindex_parse_opt(struct filter_util *qu, char *handle, int argc, @@ -106,6 +106,14 @@ static int tcindex_parse_opt(struct filter_util *qu, char *handle, int argc, } continue; } + else if (!strcmp(*argv,"action")) { + NEXT_ARG(); + if (parse_police(&argc, &argv, TCA_TCINDEX_ACT, n)) { + fprintf(stderr, "Illegal \"action\"\n"); + return -1; + } + continue; + } else { explain(); return -1; @@ -171,6 +179,10 @@ static int tcindex_print_opt(struct filter_util *qu, FILE *f, fprintf(f, "\n"); tc_print_police(f, tb[TCA_TCINDEX_POLICE]); } + if (tb[TCA_TCINDEX_ACT]) { + fprintf(f, "\n"); + tc_print_police(f, tb[TCA_TCINDEX_ACT]); + } return 0; }