From 627c451b2351310da9ad82dbdb64747b1fada8e5 Mon Sep 17 00:00:00 2001 From: Fernando Fernandez Mancera Date: Fri, 2 Aug 2019 12:12:08 +0200 Subject: src: allow variables in the chain priority specification This patch allows you to use variables in chain priority definitions, e.g. define prio = filter define prionum = 10 define prioffset = "filter - 150" add table ip foo add chain ip foo bar { type filter hook input priority $prio; } add chain ip foo ber { type filter hook input priority $prionum; } add chain ip foo bor { type filter hook input priority $prioffset; } Signed-off-by: Fernando Fernandez Mancera Signed-off-by: Pablo Neira Ayuso --- include/datatype.h | 1 + include/rule.h | 7 ++----- 2 files changed, 3 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/datatype.h b/include/datatype.h index cf115158..ddcb7db8 100644 --- a/include/datatype.h +++ b/include/datatype.h @@ -262,6 +262,7 @@ extern const struct datatype icmpx_code_type; extern const struct datatype igmp_type_type; extern const struct datatype time_type; extern const struct datatype boolean_type; +extern const struct datatype priority_type; void inet_service_type_print(const struct expr *expr, struct output_ctx *octx); diff --git a/include/rule.h b/include/rule.h index ee881b9c..4c8cab13 100644 --- a/include/rule.h +++ b/include/rule.h @@ -174,14 +174,11 @@ enum chain_flags { * struct prio_spec - extendend priority specification for mixed * textual/numerical parsing. * - * @str: name of the standard priority value - * @num: Numerical value. This MUST contain the parsed value of str after - * evaluation. + * @expr: expr of the standard priority value */ struct prio_spec { - const char *str; - int num; struct location loc; + struct expr *expr; }; /** -- cgit v1.2.3