summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/evaluate.c3
-rw-r--r--tests/shell/testcases/sets/dumps/typeof_sets_0.nft5
-rwxr-xr-xtests/shell/testcases/sets/typeof_sets_05
3 files changed, 12 insertions, 1 deletions
diff --git a/src/evaluate.c b/src/evaluate.c
index 8c227eb1..59714131 100644
--- a/src/evaluate.c
+++ b/src/evaluate.c
@@ -3544,7 +3544,8 @@ static int set_evaluate(struct eval_ctx *ctx, struct set *set)
ctx->set = set;
if (set->init != NULL) {
- expr_set_context(&ctx->ectx, set->key->dtype, set->key->len);
+ __expr_set_context(&ctx->ectx, set->key->dtype,
+ set->key->byteorder, set->key->len, 0);
if (expr_evaluate(ctx, &set->init) < 0)
return -1;
}
diff --git a/tests/shell/testcases/sets/dumps/typeof_sets_0.nft b/tests/shell/testcases/sets/dumps/typeof_sets_0.nft
index 44e11202..565369fb 100644
--- a/tests/shell/testcases/sets/dumps/typeof_sets_0.nft
+++ b/tests/shell/testcases/sets/dumps/typeof_sets_0.nft
@@ -9,6 +9,11 @@ table inet t {
elements = { 2, 3, 103 }
}
+ set s3 {
+ typeof meta ibrpvid
+ elements = { 2, 3, 103 }
+ }
+
chain c1 {
osf name @s1 accept
}
diff --git a/tests/shell/testcases/sets/typeof_sets_0 b/tests/shell/testcases/sets/typeof_sets_0
index 2a8b21c7..9b2712e5 100755
--- a/tests/shell/testcases/sets/typeof_sets_0
+++ b/tests/shell/testcases/sets/typeof_sets_0
@@ -15,6 +15,11 @@ EXPECTED="table inet t {
elements = { 2, 3, 103 }
}
+ set s3 {
+ typeof meta ibrpvid
+ elements = { 2, 3, 103 }
+ }
+
chain c1 {
osf name @s1 accept
}