NFPROTO_BRIDGE
case NFPROTO_BRIDGE:
case NFPROTO_BRIDGE:
if (nfproto == NFPROTO_BRIDGE) {
NF_HOOK(NFPROTO_BRIDGE, br_hook,
return NF_HOOK(NFPROTO_BRIDGE, NF_BR_POST_ROUTING,
if (!static_key_false(&nf_hooks_needed[NFPROTO_BRIDGE][NF_BR_PRE_ROUTING]))
NFPROTO_BRIDGE, skb->dev, NULL, NULL,
if (NF_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_IN,
return NF_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_IN,
NF_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_OUT,
.pf = NFPROTO_BRIDGE,
.pf = NFPROTO_BRIDGE,
.pf = NFPROTO_BRIDGE,
.pf = NFPROTO_BRIDGE,
nf_hook_state_init(&state, hook, NFPROTO_BRIDGE, indev, outdev,
NF_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_OUT,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
nf_log_packet(net, NFPROTO_BRIDGE, xt_hooknum(par), skb,
ebt_log_packet(net, NFPROTO_BRIDGE, xt_hooknum(par), skb,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
NFPROTO_BRIDGE, s->in, NULL, NULL,
.pf = NFPROTO_BRIDGE,
.pf = NFPROTO_BRIDGE,
.pf = NFPROTO_BRIDGE,
.pf = NFPROTO_BRIDGE,
.pf = NFPROTO_BRIDGE,
.pf = NFPROTO_BRIDGE,
.pf = NFPROTO_BRIDGE,
ret = xt_compat_add_offset(NFPROTO_BRIDGE, entry_offset, off);
return xt_compat_init_offsets(NFPROTO_BRIDGE, number);
match = xt_request_find_match(NFPROTO_BRIDGE, name,
wt = xt_request_find_target(NFPROTO_BRIDGE, name,
ret = xt_compat_add_offset(NFPROTO_BRIDGE, offset, new_offset);
xt_compat_lock(NFPROTO_BRIDGE);
xt_compat_calc_jump(NFPROTO_BRIDGE, tmp.entries_size));
usrptr += xt_compat_calc_jump(NFPROTO_BRIDGE, delta);
xt_compat_flush_offsets(NFPROTO_BRIDGE);
xt_compat_unlock(NFPROTO_BRIDGE);
xt_compat_flush_offsets(NFPROTO_BRIDGE);
xt_compat_unlock(NFPROTO_BRIDGE);
xt_compat_lock(NFPROTO_BRIDGE);
xt_compat_flush_offsets(NFPROTO_BRIDGE);
xt_compat_unlock(NFPROTO_BRIDGE);
match = xt_find_match(NFPROTO_BRIDGE, m->u.name, m->u.revision);
if (IS_ERR(match) || match->family != NFPROTO_BRIDGE) {
match = xt_find_match(NFPROTO_BRIDGE, m->u.name, m->u.revision);
watcher = xt_request_find_target(NFPROTO_BRIDGE, w->u.name, 0);
if (watcher->family != NFPROTO_BRIDGE) {
par.family = NFPROTO_BRIDGE;
par.family = NFPROTO_BRIDGE;
v += xt_compat_calc_jump(NFPROTO_BRIDGE, v);
par.family = NFPROTO_BRIDGE;
mtpar.family = tgpar.family = NFPROTO_BRIDGE;
cv -= xt_compat_calc_jump(NFPROTO_BRIDGE, cv);
target = xt_request_find_target(NFPROTO_BRIDGE, t->u.name, 0);
if (target->family != NFPROTO_BRIDGE) {
.family = NFPROTO_BRIDGE,
.pf = NFPROTO_BRIDGE,
.pf = NFPROTO_BRIDGE,
.pf = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
.family = NFPROTO_BRIDGE,
case NFPROTO_BRIDGE:
case NFPROTO_BRIDGE:
case NFPROTO_BRIDGE:
case NFPROTO_BRIDGE:
err = nf_ct_netns_do_get(net, NFPROTO_BRIDGE);
nf_ct_netns_put(net, NFPROTO_BRIDGE);
case NFPROTO_BRIDGE:
nf_ct_netns_do_put(net, NFPROTO_BRIDGE);
ret = nf_log_register(NFPROTO_BRIDGE, &nf_bridge_logger);
ret = nf_log_set(net, NFPROTO_BRIDGE, &nf_bridge_logger);
|| family == NFPROTO_BRIDGE
case NFPROTO_BRIDGE:
if ((pf == NFPROTO_NETDEV || pf == NFPROTO_BRIDGE) &&
if (pf == NFPROTO_NETDEV || pf == NFPROTO_BRIDGE)
case NFPROTO_BRIDGE:
.family = NFPROTO_BRIDGE,
case NFPROTO_BRIDGE:
ctx->family != NFPROTO_BRIDGE &&
if (ctx->family != NFPROTO_BRIDGE)
case NFPROTO_BRIDGE:
ctx->family != NFPROTO_BRIDGE &&
case NFPROTO_BRIDGE:
if (family == NFPROTO_BRIDGE)
case NFPROTO_BRIDGE:
case NFPROTO_BRIDGE:
if (ctx->family == NFPROTO_BRIDGE)
case NFPROTO_BRIDGE:
[NFPROTO_BRIDGE] = "eb",
.family = NFPROTO_BRIDGE,
[NFPROTO_BRIDGE] = "bridge",
case NFPROTO_BRIDGE: /* bridge shares numbers with enum nf_inet_hooks */