[PATCH] netfilter: nft_fwd_netdev: Fix CONFIG_NET_CLS_ACT=n build

From: Geert Uytterhoeven
Date: Fri Apr 10 2020 - 10:27:03 EST


If CONFIG_NET_CLS_ACT=n:

net/netfilter/nft_fwd_netdev.c: In function ânft_fwd_netdev_evalâ:
net/netfilter/nft_fwd_netdev.c:32:10: error: âstruct sk_buffâ has no member named âtc_redirectedâ
pkt->skb->tc_redirected = 1;
^~
net/netfilter/nft_fwd_netdev.c:33:10: error: âstruct sk_buffâ has no member named âtc_from_ingressâ
pkt->skb->tc_from_ingress = 1;
^~

Fix this by protecting this code hunk with the appropriate #ifdef.

Reported-by: noreply@xxxxxxxxxxxxxx
Fixes: bcfabee1afd99484 ("netfilter: nft_fwd_netdev: allow to redirect to ifb via ingress")
Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
---
net/netfilter/nft_fwd_netdev.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/net/netfilter/nft_fwd_netdev.c b/net/netfilter/nft_fwd_netdev.c
index 74f050ba6badc9dc..ebcaf5c325712f30 100644
--- a/net/netfilter/nft_fwd_netdev.c
+++ b/net/netfilter/nft_fwd_netdev.c
@@ -28,9 +28,11 @@ static void nft_fwd_netdev_eval(const struct nft_expr *expr,
struct nft_fwd_netdev *priv = nft_expr_priv(expr);
int oif = regs->data[priv->sreg_dev];

+#ifdef CONFIG_NET_CLS_ACT
/* These are used by ifb only. */
pkt->skb->tc_redirected = 1;
pkt->skb->tc_from_ingress = 1;
+#endif

nf_fwd_netdev_egress(pkt, oif);
regs->verdict.code = NF_STOLEN;
--
2.17.1