diff options
author | Jose M. Guisado Gomez <guigom@riseup.net> | 2022-05-15 18:06:07 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2022-05-15 21:59:05 +0200 |
commit | 7576202723d145c042b610ccc08fd775e883f912 (patch) | |
tree | 9b42db31ec4e96551f9326f5beab59abe9cea221 /src/regs.c | |
parent | e549f5b3239c19f78af2f7c7a582fe5616403ca8 (diff) |
expr: extend support for dynamic register allocation
Add expression support for:
- ct
- exthdr
- fib
- osf
- rt
- socket
- xfrm
to extend b9e00458b9f3 ("src: add dynamic register allocation
infrastructure").
Joint work with Pablo.
Signed-off-by: Jose M. Guisado Gomez <guigom@riseup.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/regs.c')
-rw-r--r-- | src/regs.c | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -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; |