Some expressions have integer base type, not a specific one, e.g. 'ct zone'. In that case nft used the wrong byte order. Without this, nft adds elements = { "eth0" : 256, "eth1" : 512, "veth4" : 256 } instead of 1, 2, 3. This is not a 'display bug', the added elements have wrong byte order. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> --- src/evaluate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/evaluate.c b/src/evaluate.c index 1d5db4dacd82..123fc7ab1a28 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -1596,7 +1596,7 @@ static int expr_evaluate_mapping(struct eval_ctx *ctx, struct expr **expr) else datalen = set->data->len; - expr_set_context(&ctx->ectx, set->data->dtype, datalen); + __expr_set_context(&ctx->ectx, set->data->dtype, set->data->byteorder, datalen, 0); } else { assert((set->flags & NFT_SET_MAP) == 0); } -- 2.26.2