diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-05-10 18:52:45 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-05-11 21:39:01 +0200 |
commit | 419d196886889e9b37f76f8c803cb08dcbc05505 (patch) | |
tree | eed1e42837a4a55d8cf16e65914b9ae961adddcd /src/evaluate.c | |
parent | 62b02808594d962f83e8b76f4da32da0673c7cfe (diff) |
src: add set element catch-all support
Add a catchall expression (EXPR_SET_ELEM_CATCHALL).
Use the asterisk (*) to represent the catch-all set element, e.g.
table x {
set y {
type ipv4_addr
counter
elements = { 1.2.3.4 counter packets 0 bytes 0, * counter packets 0 bytes 0 }
}
}
Special handling for segtree: zap the catch-all element from the set
element list and re-add it after processing.
Remove wildcard_expr deadcode in src/parser_bison.y
This patch also adds several tests for the tests/py and tests/shell
infrastructures.
Acked-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/evaluate.c')
-rw-r--r-- | src/evaluate.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/evaluate.c b/src/evaluate.c index b5dcdd35..95189180 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -2201,6 +2201,8 @@ static int expr_evaluate(struct eval_ctx *ctx, struct expr **expr) return expr_evaluate_hash(ctx, expr); case EXPR_XFRM: return expr_evaluate_xfrm(ctx, expr); + case EXPR_SET_ELEM_CATCHALL: + return 0; default: BUG("unknown expression type %s\n", expr_name(*expr)); } |