diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2025-06-24 18:11:06 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2025-06-27 00:39:05 +0200 |
commit | f4b646032acff4d743ad4f734aaca68e9264bdbb (patch) | |
tree | 9cd4d2172b7b61a7cc17c33b51a8a6d3e6baea34 /include | |
parent | 646acfaceb1f550c982c31ba6e60996b0bb012d7 (diff) |
fib: allow to check if route exists in maps
f686a17eafa0 ("fib: Support existence check") adds EXPR_F_BOOLEAN as a
workaround to infer from the rhs of the relational expression if the fib
lookup wants to check for a specific output interface or, instead,
simply check for existence. This, however, does not work with maps.
The NFT_FIB_F_PRESENT flag can be used both with NFT_FIB_RESULT_OIF and
NFT_FIB_RESULT_OFINAME, my understanding is that they serve the same
purpose which is to check if a route exists, so they are redundant.
Add a 'check' fib result to check for routes while still keeping the
inference workaround for backward compatibility, but prefer the new
syntax in the listing.
Update man nft(8) and tests/py.
Fixes: f686a17eafa0 ("fib: Support existence check")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/fib.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/fib.h b/include/fib.h index 67edccfe..07bb2210 100644 --- a/include/fib.h +++ b/include/fib.h @@ -3,7 +3,7 @@ #include <linux/netfilter/nf_tables.h> -extern const char *fib_result_str(enum nft_fib_result result); +extern const char *fib_result_str(const struct expr *expr); extern struct expr *fib_expr_alloc(const struct location *loc, unsigned int flags, unsigned int result); |