summaryrefslogtreecommitdiffstats
path: root/src/netlink_linearize.c
diff options
context:
space:
mode:
authorArturo Borrero Gonzalez <arturo@netfilter.org>2018-02-25 18:30:24 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2018-02-25 23:09:02 +0100
commit8c61fa70f3cebed06b23292a3467f1dbc1b96ce9 (patch)
tree46f4550c256a590094c0e732077675d40a73051a /src/netlink_linearize.c
parentba00c6b18ee2bf3bc100226ecc2e6bfd779eb482 (diff)
meta: introduce datatype ifname_type
This new datatype is a string subtype. It will allow us to build named maps/sets using meta keys like 'iifname', 'oifname', 'ibriport' or 'obriport'. Example: table inet t { set s { type ifname elements = { "eth0", "eth1" } } chain c { iifname @s accept oifname @s accept } } Signed-off-by: Arturo Borrero Gonzalez <arturo@netfilter.org> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/netlink_linearize.c')
-rw-r--r--src/netlink_linearize.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/netlink_linearize.c b/src/netlink_linearize.c
index 99a4dde2..77abdcb8 100644
--- a/src/netlink_linearize.c
+++ b/src/netlink_linearize.c
@@ -364,7 +364,7 @@ static void netlink_gen_cmp(struct netlink_linearize_ctx *ctx,
return netlink_gen_lookup(ctx, expr, dreg);
case EXPR_PREFIX:
sreg = get_register(ctx, expr->left);
- if (expr->left->dtype->type != TYPE_STRING) {
+ if (expr_basetype(expr->left)->type != TYPE_STRING) {
len = div_round_up(expr->right->len, BITS_PER_BYTE);
netlink_gen_expr(ctx, expr->left, sreg);
right = netlink_gen_prefix(ctx, expr, sreg);