netfilter: nft_fib: Support existence check

Instead of the actual interface index or name, set destination register
to just 1 or 0 depending on whether the lookup succeeded or not if
NFTA_FIB_F_PRESENT was set in userspace.

Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
Phil Sutter
2017-03-10 18:08:02 +01:00
committed by Pablo Neira Ayuso
parent 1a64edf54f
commit 055c4b34b9
5 changed files with 14 additions and 9 deletions

View File

@@ -159,7 +159,7 @@ void nft_fib6_eval(const struct nft_expr *expr, struct nft_regs *regs,
if (nft_hook(pkt) == NF_INET_PRE_ROUTING &&
nft_fib_is_loopback(pkt->skb, nft_in(pkt))) {
nft_fib_store_result(dest, priv->result, pkt,
nft_fib_store_result(dest, priv, pkt,
nft_in(pkt)->ifindex);
return;
}