summaryrefslogtreecommitdiffstats
path: root/src/regs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/regs.c')
-rw-r--r--src/regs.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/regs.c b/src/regs.c
index daedaba..1551aa7 100644
--- a/src/regs.c
+++ b/src/regs.c
@@ -55,10 +55,24 @@ void nftnl_regs_free(const struct nftnl_regs *regs)
static enum nftnl_expr_type nftnl_expr_type(const struct nftnl_expr *expr)
{
- if (!strcmp(expr->ops->name, "meta"))
+ if (!strcmp(expr->ops->name, "ct"))
+ return NFT_EXPR_CT;
+ else if (!strcmp(expr->ops->name, "exthdr"))
+ return NFT_EXPR_EXTHDR;
+ else if (!strcmp(expr->ops->name, "fib"))
+ return NFT_EXPR_FIB;
+ else if (!strcmp(expr->ops->name, "meta"))
return NFT_EXPR_META;
+ else if (!strcmp(expr->ops->name, "osf"))
+ return NFT_EXPR_OSF;
else if (!strcmp(expr->ops->name, "payload"))
return NFT_EXPR_PAYLOAD;
+ else if (!strcmp(expr->ops->name, "rt"))
+ return NFT_EXPR_RT;
+ else if (!strcmp(expr->ops->name, "socket"))
+ return NFT_EXPR_SOCKET;
+ else if (!strcmp(expr->ops->name, "xfrm"))
+ return NFT_EXPR_XFRM;
assert(0);
return NFT_EXPR_UNSPEC;