NF_INET_PRE_ROUTING
skb = vrf_rcv_nfhook(NFPROTO_IPV6, NF_INET_PRE_ROUTING, skb, vrf_dev);
skb = vrf_rcv_nfhook(NFPROTO_IPV4, NF_INET_PRE_ROUTING, skb, vrf_dev);
case NF_INET_PRE_ROUTING:
case NF_INET_PRE_ROUTING:
.hooknum = NF_INET_PRE_ROUTING,
.hooknum = NF_INET_PRE_ROUTING,
NF_HOOK(NFPROTO_IPV4, NF_INET_PRE_ROUTING, state->net, state->sk, skb,
NF_HOOK(NFPROTO_IPV6, NF_INET_PRE_ROUTING, state->net, state->sk, skb,
return NF_HOOK(NFPROTO_IPV4, NF_INET_PRE_ROUTING,
NF_HOOK_LIST(NFPROTO_IPV4, NF_INET_PRE_ROUTING, net, NULL,
[NF_INET_PRE_ROUTING] = "PREROUTING",
.hooks = (1 << NF_INET_PRE_ROUTING),
#define MANGLE_VALID_HOOKS ((1 << NF_INET_PRE_ROUTING) | \
.valid_hooks = (1 << NF_INET_PRE_ROUTING) |
.hooknum = NF_INET_PRE_ROUTING,
#define RAW_VALID_HOOKS ((1 << NF_INET_PRE_ROUTING) | (1 << NF_INET_LOCAL_OUT))
if (hooknum == NF_INET_PRE_ROUTING)
.hooknum = NF_INET_PRE_ROUTING,
if (hooknum == NF_INET_PRE_ROUTING ||
NF_HOOK(NFPROTO_IPV4, NF_INET_PRE_ROUTING,
.hooknum = NF_INET_PRE_ROUTING,
return NF_HOOK(NFPROTO_IPV6, NF_INET_PRE_ROUTING,
NF_HOOK_LIST(NFPROTO_IPV6, NF_INET_PRE_ROUTING, net, NULL,
[NF_INET_PRE_ROUTING] = "PREROUTING",
.hooks = (1 << NF_INET_PRE_ROUTING) |
.hooks = (1 << NF_INET_PRE_ROUTING) | (1 << NF_INET_LOCAL_IN) |
.hooks = (1 << NF_INET_PRE_ROUTING),
#define MANGLE_VALID_HOOKS ((1 << NF_INET_PRE_ROUTING) | \
.valid_hooks = (1 << NF_INET_PRE_ROUTING) |
.hooknum = NF_INET_PRE_ROUTING,
#define RAW_VALID_HOOKS ((1 << NF_INET_PRE_ROUTING) | (1 << NF_INET_LOCAL_OUT))
if (hooknum == NF_INET_PRE_ROUTING)
.hooknum = NF_INET_PRE_ROUTING,
if (hooknum == NF_INET_PRE_ROUTING ||
return NF_HOOK(NFPROTO_IPV6, NF_INET_PRE_ROUTING,
return NF_HOOK(NFPROTO_IPV4, NF_INET_PRE_ROUTING,
NF_HOOK(NFPROTO_IPV6, NF_INET_PRE_ROUTING,
.hooknum = NF_INET_PRE_ROUTING,
.hooknum = NF_INET_PRE_ROUTING,
state->hook == NF_INET_PRE_ROUTING &&
if (state->hook == NF_INET_PRE_ROUTING &&
if (state->hook == NF_INET_PRE_ROUTING &&
state->hook == NF_INET_PRE_ROUTING &&
if (state->hook == NF_INET_PRE_ROUTING &&
if (state->hook == NF_INET_PRE_ROUTING &&
.hooknum = NF_INET_PRE_ROUTING,
.hooknum = NF_INET_PRE_ROUTING,
WARN_ON(hooknum != NF_INET_PRE_ROUTING &&
(1 << NF_INET_PRE_ROUTING) |
[NF_INET_PRE_ROUTING] = nft_do_chain_ipv6,
(1 << NF_INET_PRE_ROUTING) |
[NF_INET_PRE_ROUTING] = nft_do_chain_inet,
(1 << NF_INET_PRE_ROUTING) |
[NF_INET_PRE_ROUTING] = nft_do_chain_ipv4,
.hook_mask = (1 << NF_INET_PRE_ROUTING) |
[NF_INET_PRE_ROUTING] = nft_nat_do_chain,
.hook_mask = (1 << NF_INET_PRE_ROUTING) |
[NF_INET_PRE_ROUTING] = nft_nat_do_chain,
.hook_mask = (1 << NF_INET_PRE_ROUTING) |
[NF_INET_PRE_ROUTING] = nft_nat_do_chain,
(1 << NF_INET_PRE_ROUTING) |
(1 << NF_INET_PRE_ROUTING) |
hooks = (1 << NF_INET_PRE_ROUTING) |
hooks = (1 << NF_INET_PRE_ROUTING) |
(1 << NF_INET_PRE_ROUTING) |
hooks = (1 << NF_INET_PRE_ROUTING) |
hooks = 1 << NF_INET_PRE_ROUTING;
(1 << NF_INET_PRE_ROUTING) |
(1 << NF_INET_PRE_ROUTING) |
static const unsigned int supported_hooks = ((1 << NF_INET_PRE_ROUTING) |
(1 << NF_INET_PRE_ROUTING) |
(1 << NF_INET_PRE_ROUTING));
(1 << NF_INET_PRE_ROUTING) |
(1 << NF_INET_PRE_ROUTING) |
return nft_chain_validate_hooks(ctx->chain, 1 << NF_INET_PRE_ROUTING);
(1 << NF_INET_PRE_ROUTING);
if (hook != NF_INET_PRE_ROUTING && hook != NF_INET_LOCAL_IN)
if (hook != NF_INET_PRE_ROUTING && hook != NF_INET_LOCAL_IN)
.hooks = (1 << NF_INET_PRE_ROUTING) |
.hooks = (1 << NF_INET_PRE_ROUTING) |
if (xt_hooknum(par) == NF_INET_PRE_ROUTING ||
WARN_ON(xt_hooknum(par) != NF_INET_PRE_ROUTING &&
if (xt_hooknum(par) == NF_INET_PRE_ROUTING ||
.hooks = (1 << NF_INET_PRE_ROUTING) |
.hooks = (1 << NF_INET_PRE_ROUTING) |
.hooks = 1 << NF_INET_PRE_ROUTING,
.hooks = 1 << NF_INET_PRE_ROUTING,
.hooks = 1 << NF_INET_PRE_ROUTING,
if (par->hook_mask & ((1 << NF_INET_PRE_ROUTING) |
par->hook_mask & ~((1 << NF_INET_PRE_ROUTING) |
.hooks = ((1 << NF_INET_PRE_ROUTING) |
.hooks = ((1 << NF_INET_PRE_ROUTING) |
.hooks = (1 << NF_INET_PRE_ROUTING) | (1 << NF_INET_LOCAL_IN) |
.hooks = (1 << NF_INET_PRE_ROUTING) |
.hooks = (1 << NF_INET_PRE_ROUTING) |
.hooks = (1 << NF_INET_PRE_ROUTING) |
(1 << NF_INET_PRE_ROUTING) |
if (par->hook_mask & ((1 << NF_INET_PRE_ROUTING) |
.hooks = (1 << NF_INET_PRE_ROUTING) |
.hooks = (1 << NF_INET_PRE_ROUTING) |
.hooks = (1 << NF_INET_PRE_ROUTING) |
.hooks = (1 << NF_INET_PRE_ROUTING) |
.hooks = (1 << NF_INET_PRE_ROUTING) |
.hooks = (1 << NF_INET_PRE_ROUTING) |
.hooks = (1 << NF_INET_PRE_ROUTING) |
.hook = NF_INET_PRE_ROUTING,
state.hook = NF_INET_PRE_ROUTING;
if (nla_get_u32(tb[TCA_EM_IPT_HOOK]) != NF_INET_PRE_ROUTING) {
[NF_INET_PRE_ROUTING] = "prerouting",