summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/evaluate.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/evaluate.c b/src/evaluate.c
index e6978ea4..4384e271 100644
--- a/src/evaluate.c
+++ b/src/evaluate.c
@@ -2956,6 +2956,7 @@ static int chain_evaluate(struct eval_ctx *ctx, struct chain *chain)
static int table_evaluate(struct eval_ctx *ctx, struct table *table)
{
+ struct flowtable *ft;
struct chain *chain;
struct set *set;
@@ -2984,6 +2985,12 @@ static int table_evaluate(struct eval_ctx *ctx, struct table *table)
if (chain_evaluate(ctx, chain) < 0)
return -1;
}
+ list_for_each_entry(ft, &table->flowtables, list) {
+ handle_merge(&ft->handle, &table->handle);
+ if (flowtable_evaluate(ctx, ft) < 0)
+ return -1;
+ }
+
ctx->table = NULL;
return 0;
}