NFPROTO_NETDEV
NFPROTO_NETDEV, NULL, dev, NULL,
if (!static_key_false(&nf_hooks_needed[NFPROTO_NETDEV][NF_NETDEV_INGRESS]))
NFPROTO_NETDEV, skb->dev, NULL, NULL,
if (!static_key_false(&nf_hooks_needed[NFPROTO_NETDEV][NF_NETDEV_EGRESS]))
return family == NFPROTO_NETDEV ||
case NFPROTO_NETDEV:
if ((pf == NFPROTO_NETDEV && reg->hooknum == NF_NETDEV_INGRESS) ||
return pf == NFPROTO_NETDEV && reg->hooknum == NF_NETDEV_EGRESS;
pf = NFPROTO_NETDEV;
pf = NFPROTO_NETDEV;
case NFPROTO_NETDEV:
ret = nf_log_register(NFPROTO_NETDEV, &nf_netdev_logger);
ret = nf_log_set(net, NFPROTO_NETDEV, &nf_netdev_logger);
.family = NFPROTO_NETDEV,
|| family == NFPROTO_NETDEV
ops->pf = NFPROTO_NETDEV;
ops->pf = NFPROTO_NETDEV;
if (ops->pf != NFPROTO_NETDEV ||
if (trans->table->family != NFPROTO_NETDEV)
if (trans->table->family != NFPROTO_NETDEV)
if (table->family != NFPROTO_NETDEV)
case NFPROTO_NETDEV:
if (family == NFPROTO_NETDEV) {
if ((pf == NFPROTO_NETDEV || pf == NFPROTO_BRIDGE) &&
if (pf == NFPROTO_NETDEV || pf == NFPROTO_BRIDGE)
.family = NFPROTO_NETDEV,
if (table->family != NFPROTO_NETDEV &&
case NFPROTO_NETDEV:
.family = NFPROTO_NETDEV,
.family = NFPROTO_NETDEV,
.family = NFPROTO_NETDEV,
case NFPROTO_NETDEV:
case NFPROTO_NETDEV:
case NFPROTO_NETDEV:
case NFPROTO_NETDEV: /* lacks okfn */
.family = NFPROTO_NETDEV,
.family = NFPROTO_NETDEV,
.family = NFPROTO_NETDEV,
[NFPROTO_NETDEV] = "netdev",