NF_NETDEV_INGRESS
if (!static_key_false(&nf_hooks_needed[NFPROTO_NETDEV][NF_NETDEV_INGRESS]))
nf_hook_state_init(&state, NF_NETDEV_INGRESS,
if (hooknum == NF_NETDEV_INGRESS) {
if ((pf == NFPROTO_NETDEV && reg->hooknum == NF_NETDEV_INGRESS) ||
hooknum = NF_NETDEV_INGRESS;
hooknum = NF_NETDEV_INGRESS;
if (reg->hooknum == NF_NETDEV_INGRESS)
if ((reg->hooknum != NF_NETDEV_INGRESS &&
if (hook == NF_NETDEV_INGRESS && skb_mac_header_was_set(skb)) {
if (hooknum != NF_NETDEV_INGRESS)
ops->hooknum != NF_NETDEV_INGRESS)
hooknum = NF_NETDEV_INGRESS;
if (hook == NF_NETDEV_INGRESS)
.hook_mask = (1 << NF_NETDEV_INGRESS) |
[NF_NETDEV_INGRESS] = nft_do_chain_netdev,
return nft_chain_validate_hooks(ctx->chain, (1 << NF_NETDEV_INGRESS) |
skb_set_redirected(skb, nft_hook(pkt) == NF_NETDEV_INGRESS);
hooks = 1 << NF_NETDEV_INGRESS;
hooks = 1 << NF_NETDEV_INGRESS;
return nft_chain_validate_hooks(ctx->chain, (1 << NF_NETDEV_INGRESS));