li.u.log.logflags = info->bitmask;
 
        if (info->bitmask & EBT_LOG_NFLOG)
-               nf_log_packet(PF_BRIDGE, hooknr, skb, in, out, &li,
+               nf_log_packet(NFPROTO_BRIDGE, hooknr, skb, in, out, &li,
                              "%s", info->prefix);
        else
-               ebt_log_packet(PF_BRIDGE, hooknr, skb, in, out, &li,
+               ebt_log_packet(NFPROTO_BRIDGE, hooknr, skb, in, out, &li,
                               info->prefix);
 }
 
        ret = ebt_register_watcher(&log);
        if (ret < 0)
                return ret;
-       nf_log_register(PF_BRIDGE, &ebt_log_logger);
+       nf_log_register(NFPROTO_BRIDGE, &ebt_log_logger);
        return 0;
 }
 
 
                netlink_kernel_release(ebtulognl);
 
        if (ret == 0)
-               nf_log_register(PF_BRIDGE, &ebt_ulog_logger);
+               nf_log_register(NFPROTO_BRIDGE, &ebt_ulog_logger);
 
        return ret;
 }
 
        t = arpt_get_target(e);
        target = t->u.kernel.target;
 
-       ret = xt_check_target(target, NF_ARP, t->u.target_size - sizeof(*t),
+       ret = xt_check_target(target, NFPROTO_ARP,
+                             t->u.target_size - sizeof(*t),
                              name, e->comefrom, 0, 0);
        if (!ret && t->u.kernel.target->checkentry
            && !t->u.kernel.target->checkentry(name, e, target, t->data,
                return ret;
 
        t = arpt_get_target(e);
-       target = try_then_request_module(xt_find_target(NF_ARP, t->u.user.name,
+       target = try_then_request_module(xt_find_target(NFPROTO_ARP,
+                                                       t->u.user.name,
                                                        t->u.user.revision),
                                         "arpt_%s", t->u.user.name);
        if (IS_ERR(target) || !target) {
        int v = *(compat_int_t *)src;
 
        if (v > 0)
-               v += xt_compat_calc_jump(NF_ARP, v);
+               v += xt_compat_calc_jump(NFPROTO_ARP, v);
        memcpy(dst, &v, sizeof(v));
 }
 
        compat_int_t cv = *(int *)src;
 
        if (cv > 0)
-               cv -= xt_compat_calc_jump(NF_ARP, cv);
+               cv -= xt_compat_calc_jump(NFPROTO_ARP, cv);
        return copy_to_user(dst, &cv, sizeof(cv)) ? -EFAULT : 0;
 }
 
        t = arpt_get_target(e);
        off += xt_compat_target_offset(t->u.kernel.target);
        newinfo->size -= off;
-       ret = xt_compat_add_offset(NF_ARP, entry_offset, off);
+       ret = xt_compat_add_offset(NFPROTO_ARP, entry_offset, off);
        if (ret)
                return ret;
 
        name[ARPT_TABLE_MAXNAMELEN-1] = '\0';
 #ifdef CONFIG_COMPAT
        if (compat)
-               xt_compat_lock(NF_ARP);
+               xt_compat_lock(NFPROTO_ARP);
 #endif
-       t = try_then_request_module(xt_find_table_lock(net, NF_ARP, name),
+       t = try_then_request_module(xt_find_table_lock(net, NFPROTO_ARP, name),
                                    "arptable_%s", name);
        if (t && !IS_ERR(t)) {
                struct arpt_getinfo info;
                if (compat) {
                        struct xt_table_info tmp;
                        ret = compat_table_info(private, &tmp);
-                       xt_compat_flush_offsets(NF_ARP);
+                       xt_compat_flush_offsets(NFPROTO_ARP);
                        private = &tmp;
                }
 #endif
                ret = t ? PTR_ERR(t) : -ENOENT;
 #ifdef CONFIG_COMPAT
        if (compat)
-               xt_compat_unlock(NF_ARP);
+               xt_compat_unlock(NFPROTO_ARP);
 #endif
        return ret;
 }
                return -EINVAL;
        }
 
-       t = xt_find_table_lock(net, NF_ARP, get.name);
+       t = xt_find_table_lock(net, NFPROTO_ARP, get.name);
        if (t && !IS_ERR(t)) {
                const struct xt_table_info *private = t->private;
 
                goto out;
        }
 
-       t = try_then_request_module(xt_find_table_lock(net, NF_ARP, name),
+       t = try_then_request_module(xt_find_table_lock(net, NFPROTO_ARP, name),
                                    "arptable_%s", name);
        if (!t || IS_ERR(t)) {
                ret = t ? PTR_ERR(t) : -ENOENT;
                goto free;
        }
 
-       t = xt_find_table_lock(net, NF_ARP, name);
+       t = xt_find_table_lock(net, NFPROTO_ARP, name);
        if (!t || IS_ERR(t)) {
                ret = t ? PTR_ERR(t) : -ENOENT;
                goto free;
        entry_offset = (void *)e - (void *)base;
 
        t = compat_arpt_get_target(e);
-       target = try_then_request_module(xt_find_target(NF_ARP,
+       target = try_then_request_module(xt_find_target(NFPROTO_ARP,
                                                        t->u.user.name,
                                                        t->u.user.revision),
                                         "arpt_%s", t->u.user.name);
 
        off += xt_compat_target_offset(target);
        *size += off;
-       ret = xt_compat_add_offset(NF_ARP, entry_offset, off);
+       ret = xt_compat_add_offset(NFPROTO_ARP, entry_offset, off);
        if (ret)
                goto release_target;
 
 
        duprintf("translate_compat_table: size %u\n", info->size);
        j = 0;
-       xt_compat_lock(NF_ARP);
+       xt_compat_lock(NFPROTO_ARP);
        /* Walk through entries, checking offsets. */
        ret = COMPAT_ARPT_ENTRY_ITERATE(entry0, total_size,
                                        check_compat_entry_size_and_hooks,
        ret = COMPAT_ARPT_ENTRY_ITERATE(entry0, total_size,
                                        compat_copy_entry_from_user,
                                        &pos, &size, name, newinfo, entry1);
-       xt_compat_flush_offsets(NF_ARP);
-       xt_compat_unlock(NF_ARP);
+       xt_compat_flush_offsets(NFPROTO_ARP);
+       xt_compat_unlock(NFPROTO_ARP);
        if (ret)
                goto free_newinfo;
 
        COMPAT_ARPT_ENTRY_ITERATE(entry0, total_size, compat_release_entry, &j);
        return ret;
 out_unlock:
-       xt_compat_flush_offsets(NF_ARP);
-       xt_compat_unlock(NF_ARP);
+       xt_compat_flush_offsets(NFPROTO_ARP);
+       xt_compat_unlock(NFPROTO_ARP);
        goto out;
 }
 
                return -EINVAL;
        }
 
-       xt_compat_lock(NF_ARP);
-       t = xt_find_table_lock(net, NF_ARP, get.name);
+       xt_compat_lock(NFPROTO_ARP);
+       t = xt_find_table_lock(net, NFPROTO_ARP, get.name);
        if (t && !IS_ERR(t)) {
                const struct xt_table_info *private = t->private;
                struct xt_table_info info;
                                 private->size, get.size);
                        ret = -EAGAIN;
                }
-               xt_compat_flush_offsets(NF_ARP);
+               xt_compat_flush_offsets(NFPROTO_ARP);
                module_put(t->me);
                xt_table_unlock(t);
        } else
                ret = t ? PTR_ERR(t) : -ENOENT;
 
-       xt_compat_unlock(NF_ARP);
+       xt_compat_unlock(NFPROTO_ARP);
        return ret;
 }
 
                        break;
                }
 
-               try_then_request_module(xt_find_revision(NF_ARP, rev.name,
+               try_then_request_module(xt_find_revision(NFPROTO_ARP, rev.name,
                                                         rev.revision, 1, &ret),
                                        "arpt_%s", rev.name);
                break;
 static struct xt_target arpt_standard_target __read_mostly = {
        .name           = ARPT_STANDARD_TARGET,
        .targetsize     = sizeof(int),
-       .family         = NF_ARP,
+       .family         = NFPROTO_ARP,
 #ifdef CONFIG_COMPAT
        .compatsize     = sizeof(compat_int_t),
        .compat_from_user = compat_standard_from_user,
        .name           = ARPT_ERROR_TARGET,
        .target         = arpt_error,
        .targetsize     = ARPT_FUNCTION_MAXNAMELEN,
-       .family         = NF_ARP,
+       .family         = NFPROTO_ARP,
 };
 
 static struct nf_sockopt_ops arpt_sockopts = {
 
 static int __net_init arp_tables_net_init(struct net *net)
 {
-       return xt_proto_init(net, NF_ARP);
+       return xt_proto_init(net, NFPROTO_ARP);
 }
 
 static void __net_exit arp_tables_net_exit(struct net *net)
 {
-       xt_proto_fini(net, NF_ARP);
+       xt_proto_fini(net, NFPROTO_ARP);
 }
 
 static struct pernet_operations arp_tables_net_ops = {
 
 
 static struct xt_target arpt_mangle_reg __read_mostly = {
        .name           = "mangle",
-       .family         = NF_ARP,
+       .family         = NFPROTO_ARP,
        .target         = target,
        .targetsize     = sizeof(struct arpt_mangle),
        .checkentry     = checkentry,
 
        .lock           = __RW_LOCK_UNLOCKED(packet_filter.lock),
        .private        = NULL,
        .me             = THIS_MODULE,
-       .af             = NF_ARP,
+       .af             = NFPROTO_ARP,
 };
 
 /* The work comes in here from netfilter.c */
        {
                .hook           = arpt_in_hook,
                .owner          = THIS_MODULE,
-               .pf             = NF_ARP,
+               .pf             = NFPROTO_ARP,
                .hooknum        = NF_ARP_IN,
                .priority       = NF_IP_PRI_FILTER,
        },
        {
                .hook           = arpt_out_hook,
                .owner          = THIS_MODULE,
-               .pf             = NF_ARP,
+               .pf             = NFPROTO_ARP,
                .hooknum        = NF_ARP_OUT,
                .priority       = NF_IP_PRI_FILTER,
        },
        {
                .hook           = arpt_forward_hook,
                .owner          = THIS_MODULE,
-               .pf             = NF_ARP,
+               .pf             = NFPROTO_ARP,
                .hooknum        = NF_ARP_FORWARD,
                .priority       = NF_IP_PRI_FILTER,
        },
 
 
 static struct xt_target clusterip_tg_reg __read_mostly = {
        .name           = "CLUSTERIP",
-       .family         = AF_INET,
+       .family         = NFPROTO_IPV4,
        .target         = clusterip_tg,
        .checkentry     = clusterip_tg_check,
        .destroy        = clusterip_tg_destroy,
 
 static struct nf_hook_ops cip_arp_ops __read_mostly = {
        .hook = arp_mangle,
-       .pf = NF_ARP,
+       .pf = NFPROTO_ARP,
        .hooknum = NF_ARP_OUT,
        .priority = -1
 };
 
 
 static struct xt_target ecn_tg_reg __read_mostly = {
        .name           = "ECN",
-       .family         = AF_INET,
+       .family         = NFPROTO_IPV4,
        .target         = ecn_tg,
        .targetsize     = sizeof(struct ipt_ECN_info),
        .table          = "mangle",
 
        li.u.log.level = loginfo->level;
        li.u.log.logflags = loginfo->logflags;
 
-       ipt_log_packet(PF_INET, hooknum, skb, in, out, &li,
+       ipt_log_packet(NFPROTO_IPV4, hooknum, skb, in, out, &li,
                       loginfo->prefix);
        return XT_CONTINUE;
 }
 
 static struct xt_target log_tg_reg __read_mostly = {
        .name           = "LOG",
-       .family         = AF_INET,
+       .family         = NFPROTO_IPV4,
        .target         = log_tg,
        .targetsize     = sizeof(struct ipt_log_info),
        .checkentry     = log_tg_check,
        ret = xt_register_target(&log_tg_reg);
        if (ret < 0)
                return ret;
-       nf_log_register(PF_INET, &ipt_log_logger);
+       nf_log_register(NFPROTO_IPV4, &ipt_log_logger);
        return 0;
 }
 
 
 
 static struct xt_target masquerade_tg_reg __read_mostly = {
        .name           = "MASQUERADE",
-       .family         = AF_INET,
+       .family         = NFPROTO_IPV4,
        .target         = masquerade_tg,
        .targetsize     = sizeof(struct nf_nat_multi_range_compat),
        .table          = "nat",
 
 
 static struct xt_target netmap_tg_reg __read_mostly = {
        .name           = "NETMAP",
-       .family         = AF_INET,
+       .family         = NFPROTO_IPV4,
        .target         = netmap_tg,
        .targetsize     = sizeof(struct nf_nat_multi_range_compat),
        .table          = "nat",
 
 
 static struct xt_target redirect_tg_reg __read_mostly = {
        .name           = "REDIRECT",
-       .family         = AF_INET,
+       .family         = NFPROTO_IPV4,
        .target         = redirect_tg,
        .targetsize     = sizeof(struct nf_nat_multi_range_compat),
        .table          = "nat",
 
 
 static struct xt_target reject_tg_reg __read_mostly = {
        .name           = "REJECT",
-       .family         = AF_INET,
+       .family         = NFPROTO_IPV4,
        .target         = reject_tg,
        .targetsize     = sizeof(struct ipt_reject_info),
        .table          = "filter",
 
 
 static struct xt_target ttl_tg_reg __read_mostly = {
        .name           = "TTL",
-       .family         = AF_INET,
+       .family         = NFPROTO_IPV4,
        .target         = ttl_tg,
        .targetsize     = sizeof(struct ipt_TTL_info),
        .table          = "mangle",
 
 
 static struct xt_target ulog_tg_reg __read_mostly = {
        .name           = "ULOG",
-       .family         = AF_INET,
+       .family         = NFPROTO_IPV4,
        .target         = ulog_tg,
        .targetsize     = sizeof(struct ipt_ulog_info),
        .checkentry     = ulog_tg_check,
                return ret;
        }
        if (nflog)
-               nf_log_register(PF_INET, &ipt_ulog_logger);
+               nf_log_register(NFPROTO_IPV4, &ipt_ulog_logger);
 
        return 0;
 }
 
 static struct xt_match addrtype_mt_reg[] __read_mostly = {
        {
                .name           = "addrtype",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .match          = addrtype_mt_v0,
                .matchsize      = sizeof(struct ipt_addrtype_info),
                .me             = THIS_MODULE
        },
        {
                .name           = "addrtype",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .revision       = 1,
                .match          = addrtype_mt_v1,
                .checkentry     = addrtype_mt_checkentry_v1,
 
 
 static struct xt_match ah_mt_reg __read_mostly = {
        .name           = "ah",
-       .family         = AF_INET,
+       .family         = NFPROTO_IPV4,
        .match          = ah_mt,
        .matchsize      = sizeof(struct ipt_ah),
        .proto          = IPPROTO_AH,
 
 
 static struct xt_match ecn_mt_reg __read_mostly = {
        .name           = "ecn",
-       .family         = AF_INET,
+       .family         = NFPROTO_IPV4,
        .match          = ecn_mt,
        .matchsize      = sizeof(struct ipt_ecn_info),
        .checkentry     = ecn_mt_check,
 
 
 static struct xt_match ttl_mt_reg __read_mostly = {
        .name           = "ttl",
-       .family         = AF_INET,
+       .family         = NFPROTO_IPV4,
        .match          = ttl_mt,
        .matchsize      = sizeof(struct ipt_ttl_info),
        .me             = THIS_MODULE,
 
 
 static struct xt_target hl_tg6_reg __read_mostly = {
        .name           = "HL",
-       .family         = AF_INET6,
+       .family         = NFPROTO_IPV6,
        .target         = hl_tg6,
        .targetsize     = sizeof(struct ip6t_HL_info),
        .table          = "mangle",
 
        li.u.log.level = loginfo->level;
        li.u.log.logflags = loginfo->logflags;
 
-       ip6t_log_packet(PF_INET6, hooknum, skb, in, out, &li, loginfo->prefix);
+       ip6t_log_packet(NFPROTO_IPV6, hooknum, skb, in, out,
+                       &li, loginfo->prefix);
        return XT_CONTINUE;
 }
 
 
 static struct xt_target log_tg6_reg __read_mostly = {
        .name           = "LOG",
-       .family         = AF_INET6,
+       .family         = NFPROTO_IPV6,
        .target         = log_tg6,
        .targetsize     = sizeof(struct ip6t_log_info),
        .checkentry     = log_tg6_check,
        ret = xt_register_target(&log_tg6_reg);
        if (ret < 0)
                return ret;
-       nf_log_register(PF_INET6, &ip6t_logger);
+       nf_log_register(NFPROTO_IPV6, &ip6t_logger);
        return 0;
 }
 
 
 
 static struct xt_target reject_tg6_reg __read_mostly = {
        .name           = "REJECT",
-       .family         = AF_INET6,
+       .family         = NFPROTO_IPV6,
        .target         = reject_tg6,
        .targetsize     = sizeof(struct ip6t_reject_info),
        .table          = "filter",
 
 
 static struct xt_match ah_mt6_reg __read_mostly = {
        .name           = "ah",
-       .family         = AF_INET6,
+       .family         = NFPROTO_IPV6,
        .match          = ah_mt6,
        .matchsize      = sizeof(struct ip6t_ah),
        .checkentry     = ah_mt6_check,
 
 
 static struct xt_match eui64_mt6_reg __read_mostly = {
        .name           = "eui64",
-       .family         = AF_INET6,
+       .family         = NFPROTO_IPV6,
        .match          = eui64_mt6,
        .matchsize      = sizeof(int),
        .hooks          = (1 << NF_INET_PRE_ROUTING) | (1 << NF_INET_LOCAL_IN) |
 
 
 static struct xt_match frag_mt6_reg __read_mostly = {
        .name           = "frag",
-       .family         = AF_INET6,
+       .family         = NFPROTO_IPV6,
        .match          = frag_mt6,
        .matchsize      = sizeof(struct ip6t_frag),
        .checkentry     = frag_mt6_check,
 
 static struct xt_match hbh_mt6_reg[] __read_mostly = {
        {
                .name           = "hbh",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .match          = hbh_mt6,
                .matchsize      = sizeof(struct ip6t_opts),
                .checkentry     = hbh_mt6_check,
        },
        {
                .name           = "dst",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .match          = hbh_mt6,
                .matchsize      = sizeof(struct ip6t_opts),
                .checkentry     = hbh_mt6_check,
 
 
 static struct xt_match hl_mt6_reg __read_mostly = {
        .name           = "hl",
-       .family         = AF_INET6,
+       .family         = NFPROTO_IPV6,
        .match          = hl_mt6,
        .matchsize      = sizeof(struct ip6t_hl_info),
        .me             = THIS_MODULE,
 
 
 static struct xt_match ipv6header_mt6_reg __read_mostly = {
        .name           = "ipv6header",
-       .family         = AF_INET6,
+       .family         = NFPROTO_IPV6,
        .match          = ipv6header_mt6,
        .matchsize      = sizeof(struct ip6t_ipv6header_info),
        .checkentry     = ipv6header_mt6_check,
 
 
 static struct xt_match mh_mt6_reg __read_mostly = {
        .name           = "mh",
-       .family         = AF_INET6,
+       .family         = NFPROTO_IPV6,
        .checkentry     = mh_mt6_check,
        .match          = mh_mt6,
        .matchsize      = sizeof(struct ip6t_mh),
 
 
 static struct xt_match rt_mt6_reg __read_mostly = {
        .name           = "rt",
-       .family         = AF_INET6,
+       .family         = NFPROTO_IPV6,
        .match          = rt_mt6,
        .matchsize      = sizeof(struct ip6t_rt),
        .checkentry     = rt_mt6_check,
 
 
 static struct xt_target classify_tg_reg[] __read_mostly = {
        {
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .name           = "CLASSIFY",
                .target         = classify_tg,
                .targetsize     = sizeof(struct xt_classify_target_info),
        },
        {
                .name           = "CLASSIFY",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .target         = classify_tg,
                .targetsize     = sizeof(struct xt_classify_target_info),
                .table          = "mangle",
 
        {
                .name           = "CONNMARK",
                .revision       = 0,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = connmark_tg_check_v0,
                .destroy        = connmark_tg_destroy,
                .target         = connmark_tg_v0,
        {
                .name           = "CONNMARK",
                .revision       = 0,
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = connmark_tg_check_v0,
                .destroy        = connmark_tg_destroy,
                .target         = connmark_tg_v0,
        {
                .name           = "CONNMARK",
                .revision       = 1,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = connmark_tg_check,
                .target         = connmark_tg,
                .targetsize     = sizeof(struct xt_connmark_tginfo1),
        {
                .name           = "CONNMARK",
                .revision       = 1,
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = connmark_tg_check,
                .target         = connmark_tg,
                .targetsize     = sizeof(struct xt_connmark_tginfo1),
 
 static struct xt_target connsecmark_tg_reg[] __read_mostly = {
        {
                .name           = "CONNSECMARK",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = connsecmark_tg_check,
                .destroy        = connsecmark_tg_destroy,
                .target         = connsecmark_tg,
        },
        {
                .name           = "CONNSECMARK",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = connsecmark_tg_check,
                .destroy        = connsecmark_tg_destroy,
                .target         = connsecmark_tg,
 
 static struct xt_target dscp_tg_reg[] __read_mostly = {
        {
                .name           = "DSCP",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = dscp_tg_check,
                .target         = dscp_tg,
                .targetsize     = sizeof(struct xt_DSCP_info),
        },
        {
                .name           = "DSCP",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = dscp_tg_check,
                .target         = dscp_tg6,
                .targetsize     = sizeof(struct xt_DSCP_info),
        {
                .name           = "TOS",
                .revision       = 0,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .table          = "mangle",
                .target         = tos_tg_v0,
                .targetsize     = sizeof(struct ipt_tos_target_info),
        {
                .name           = "TOS",
                .revision       = 1,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .table          = "mangle",
                .target         = tos_tg,
                .targetsize     = sizeof(struct xt_tos_target_info),
        {
                .name           = "TOS",
                .revision       = 1,
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .table          = "mangle",
                .target         = tos_tg6,
                .targetsize     = sizeof(struct xt_tos_target_info),
 
 static struct xt_target mark_tg_reg[] __read_mostly = {
        {
                .name           = "MARK",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .revision       = 0,
                .checkentry     = mark_tg_check_v0,
                .target         = mark_tg_v0,
        },
        {
                .name           = "MARK",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .revision       = 1,
                .checkentry     = mark_tg_check_v1,
                .target         = mark_tg_v1,
        },
        {
                .name           = "MARK",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .revision       = 0,
                .checkentry     = mark_tg_check_v0,
                .target         = mark_tg_v0,
        },
        {
                .name           = "MARK",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .revision       = 1,
                .checkentry     = mark_tg_check_v1,
                .target         = mark_tg_v1,
        {
                .name           = "MARK",
                .revision       = 2,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .target         = mark_tg,
                .targetsize     = sizeof(struct xt_mark_tginfo2),
                .me             = THIS_MODULE,
        {
                .name           = "MARK",
                .revision       = 2,
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .target         = mark_tg,
                .targetsize     = sizeof(struct xt_mark_tginfo2),
                .me             = THIS_MODULE,
 
 static struct xt_target nflog_tg_reg[] __read_mostly = {
        {
                .name           = "NFLOG",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = nflog_tg_check,
                .target         = nflog_tg,
                .targetsize     = sizeof(struct xt_nflog_info),
        },
        {
                .name           = "NFLOG",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = nflog_tg_check,
                .target         = nflog_tg,
                .targetsize     = sizeof(struct xt_nflog_info),
 
 static struct xt_target nfqueue_tg_reg[] __read_mostly = {
        {
                .name           = "NFQUEUE",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .target         = nfqueue_tg,
                .targetsize     = sizeof(struct xt_NFQ_info),
                .me             = THIS_MODULE,
        },
        {
                .name           = "NFQUEUE",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .target         = nfqueue_tg,
                .targetsize     = sizeof(struct xt_NFQ_info),
                .me             = THIS_MODULE,
 
 static struct xt_target notrack_tg_reg[] __read_mostly = {
        {
                .name           = "NOTRACK",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .target         = notrack_tg,
                .table          = "raw",
                .me             = THIS_MODULE,
        },
        {
                .name           = "NOTRACK",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .target         = notrack_tg,
                .table          = "raw",
                .me             = THIS_MODULE,
 
 
 static struct xt_target xt_rateest_target[] __read_mostly = {
        {
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .name           = "RATEEST",
                .target         = xt_rateest_tg,
                .checkentry     = xt_rateest_tg_checkentry,
                .me             = THIS_MODULE,
        },
        {
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .name           = "RATEEST",
                .target         = xt_rateest_tg,
                .checkentry     = xt_rateest_tg_checkentry,
 
 static struct xt_target secmark_tg_reg[] __read_mostly = {
        {
                .name           = "SECMARK",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = secmark_tg_check,
                .destroy        = secmark_tg_destroy,
                .target         = secmark_tg,
        },
        {
                .name           = "SECMARK",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = secmark_tg_check,
                .destroy        = secmark_tg_destroy,
                .target         = secmark_tg,
 
 
 static struct xt_target tcpmss_tg_reg[] __read_mostly = {
        {
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .name           = "TCPMSS",
                .checkentry     = tcpmss_tg4_check,
                .target         = tcpmss_tg4,
        },
 #if defined(CONFIG_IP6_NF_IPTABLES) || defined(CONFIG_IP6_NF_IPTABLES_MODULE)
        {
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .name           = "TCPMSS",
                .checkentry     = tcpmss_tg6_check,
                .target         = tcpmss_tg6,
 
 static struct xt_target tcpoptstrip_tg_reg[] __read_mostly = {
        {
                .name       = "TCPOPTSTRIP",
-               .family     = AF_INET,
+               .family     = NFPROTO_IPV4,
                .table      = "mangle",
                .proto      = IPPROTO_TCP,
                .target     = tcpoptstrip_tg4,
 #if defined(CONFIG_IP6_NF_MANGLE) || defined(CONFIG_IP6_NF_MANGLE_MODULE)
        {
                .name       = "TCPOPTSTRIP",
-               .family     = AF_INET6,
+               .family     = NFPROTO_IPV6,
                .table      = "mangle",
                .proto      = IPPROTO_TCP,
                .target     = tcpoptstrip_tg6,
 
 static struct xt_target trace_tg_reg[] __read_mostly = {
        {
                .name           = "TRACE",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .target         = trace_tg,
                .table          = "raw",
                .me             = THIS_MODULE,
        },
        {
                .name           = "TRACE",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .target         = trace_tg,
                .table          = "raw",
                .me             = THIS_MODULE,
 
 static struct xt_match comment_mt_reg[] __read_mostly = {
        {
                .name           = "comment",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .match          = comment_mt,
                .matchsize      = sizeof(struct xt_comment_info),
                .me             = THIS_MODULE
        },
        {
                .name           = "comment",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .match          = comment_mt,
                .matchsize      = sizeof(struct xt_comment_info),
                .me             = THIS_MODULE
 
 static struct xt_match connbytes_mt_reg[] __read_mostly = {
        {
                .name           = "connbytes",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = connbytes_mt_check,
                .match          = connbytes_mt,
                .destroy        = connbytes_mt_destroy,
        },
        {
                .name           = "connbytes",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = connbytes_mt_check,
                .match          = connbytes_mt,
                .destroy        = connbytes_mt_destroy,
 
                const union nf_inet_addr *mask,
                const union nf_inet_addr *u3, u_int8_t family)
 {
-       if (family == AF_INET) {
+       if (family == NFPROTO_IPV4) {
                return (addr->ip & mask->ip) == (u3->ip & mask->ip);
        } else {
                union nf_inet_addr lh, rh;
        int matches = 0;
 
 
-       if (match->family == AF_INET6)
+       if (match->family == NFPROTO_IPV6)
                hash = &data->iphash[connlimit_iphash6(addr, mask)];
        else
                hash = &data->iphash[connlimit_iphash(addr->ip & mask->ip)];
                                    match->family, &tuple))
                goto hotdrop;
 
-       if (match->family == AF_INET6) {
+       if (match->family == NFPROTO_IPV6) {
                const struct ipv6hdr *iph = ipv6_hdr(skb);
                memcpy(&addr.ip6, &iph->saddr, sizeof(iph->saddr));
        } else {
 static struct xt_match connlimit_mt_reg[] __read_mostly = {
        {
                .name       = "connlimit",
-               .family     = AF_INET,
+               .family     = NFPROTO_IPV4,
                .checkentry = connlimit_mt_check,
                .match      = connlimit_mt,
                .matchsize  = sizeof(struct xt_connlimit_info),
        },
        {
                .name       = "connlimit",
-               .family     = AF_INET6,
+               .family     = NFPROTO_IPV6,
                .checkentry = connlimit_mt_check,
                .match      = connlimit_mt,
                .matchsize  = sizeof(struct xt_connlimit_info),
 
        {
                .name           = "connmark",
                .revision       = 0,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = connmark_mt_check_v0,
                .match          = connmark_mt_v0,
                .destroy        = connmark_mt_destroy,
        {
                .name           = "connmark",
                .revision       = 0,
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = connmark_mt_check_v0,
                .match          = connmark_mt_v0,
                .destroy        = connmark_mt_destroy,
        {
                .name           = "connmark",
                .revision       = 1,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = connmark_mt_check,
                .match          = connmark_mt,
                .matchsize      = sizeof(struct xt_connmark_mtinfo1),
        {
                .name           = "connmark",
                .revision       = 1,
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = connmark_mt_check,
                .match          = connmark_mt,
                .matchsize      = sizeof(struct xt_connmark_mtinfo1),
 
                   const union nf_inet_addr *uaddr,
                   const union nf_inet_addr *umask, unsigned int l3proto)
 {
-       if (l3proto == AF_INET)
+       if (l3proto == NFPROTO_IPV4)
                return ((kaddr->ip ^ uaddr->ip) & umask->ip) == 0;
-       else if (l3proto == AF_INET6)
+       else if (l3proto == NFPROTO_IPV6)
                return ipv6_masked_addr_cmp(&kaddr->in6, &umask->in6,
                       &uaddr->in6) == 0;
        else
        {
                .name       = "conntrack",
                .revision   = 0,
-               .family     = AF_INET,
+               .family     = NFPROTO_IPV4,
                .match      = conntrack_mt_v0,
                .checkentry = conntrack_mt_check,
                .destroy    = conntrack_mt_destroy,
        {
                .name       = "conntrack",
                .revision   = 1,
-               .family     = AF_INET,
+               .family     = NFPROTO_IPV4,
                .matchsize  = sizeof(struct xt_conntrack_mtinfo1),
                .match      = conntrack_mt,
                .checkentry = conntrack_mt_check,
        {
                .name       = "conntrack",
                .revision   = 1,
-               .family     = AF_INET6,
+               .family     = NFPROTO_IPV6,
                .matchsize  = sizeof(struct xt_conntrack_mtinfo1),
                .match      = conntrack_mt,
                .checkentry = conntrack_mt_check,
 
 static struct xt_match dccp_mt_reg[] __read_mostly = {
        {
                .name           = "dccp",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = dccp_mt_check,
                .match          = dccp_mt,
                .matchsize      = sizeof(struct xt_dccp_info),
        },
        {
                .name           = "dccp",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = dccp_mt_check,
                .match          = dccp_mt,
                .matchsize      = sizeof(struct xt_dccp_info),
 
 {
        const struct xt_tos_match_info *info = matchinfo;
 
-       if (match->family == AF_INET)
+       if (match->family == NFPROTO_IPV4)
                return ((ip_hdr(skb)->tos & info->tos_mask) ==
                       info->tos_value) ^ !!info->invert;
        else
 static struct xt_match dscp_mt_reg[] __read_mostly = {
        {
                .name           = "dscp",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = dscp_mt_check,
                .match          = dscp_mt,
                .matchsize      = sizeof(struct xt_dscp_info),
        },
        {
                .name           = "dscp",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = dscp_mt_check,
                .match          = dscp_mt6,
                .matchsize      = sizeof(struct xt_dscp_info),
        {
                .name           = "tos",
                .revision       = 0,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .match          = tos_mt_v0,
                .matchsize      = sizeof(struct ipt_tos_info),
                .me             = THIS_MODULE,
        {
                .name           = "tos",
                .revision       = 1,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .match          = tos_mt,
                .matchsize      = sizeof(struct xt_tos_match_info),
                .me             = THIS_MODULE,
        {
                .name           = "tos",
                .revision       = 1,
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .match          = tos_mt,
                .matchsize      = sizeof(struct xt_tos_match_info),
                .me             = THIS_MODULE,
 
 static struct xt_match esp_mt_reg[] __read_mostly = {
        {
                .name           = "esp",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = esp_mt_check,
                .match          = esp_mt,
                .matchsize      = sizeof(struct xt_esp),
        },
        {
                .name           = "esp",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = esp_mt_check,
                .match          = esp_mt,
                .matchsize      = sizeof(struct xt_esp),
 
        hinfo->cfg.gc_interval = minfo->cfg.gc_interval;
        hinfo->cfg.expire      = minfo->cfg.expire;
 
-       if (family == AF_INET)
+       if (family == NFPROTO_IPV4)
                hinfo->cfg.srcmask = hinfo->cfg.dstmask = 32;
        else
                hinfo->cfg.srcmask = hinfo->cfg.dstmask = 128;
        hinfo->family = family;
        hinfo->rnd_initialized = 0;
        spin_lock_init(&hinfo->lock);
-       hinfo->pde =
-               proc_create_data(minfo->name, 0,
-                                family == AF_INET ? hashlimit_procdir4 :
-                                                    hashlimit_procdir6,
-                                &dl_file_ops, hinfo);
+       hinfo->pde = proc_create_data(minfo->name, 0,
+               (family == NFPROTO_IPV4) ?
+               hashlimit_procdir4 : hashlimit_procdir6,
+               &dl_file_ops, hinfo);
        if (!hinfo->pde) {
                vfree(hinfo);
                return -1;
        hinfo->rnd_initialized = 0;
        spin_lock_init(&hinfo->lock);
 
-       hinfo->pde =
-               proc_create_data(minfo->name, 0,
-                                family == AF_INET ? hashlimit_procdir4 :
-                                                    hashlimit_procdir6,
-                                &dl_file_ops, hinfo);
+       hinfo->pde = proc_create_data(minfo->name, 0,
+               (family == NFPROTO_IPV4) ?
+               hashlimit_procdir4 : hashlimit_procdir6,
+               &dl_file_ops, hinfo);
        if (hinfo->pde == NULL) {
                vfree(hinfo);
                return -1;
 
        /* remove proc entry */
        remove_proc_entry(hinfo->pde->name,
-                         hinfo->family == AF_INET ? hashlimit_procdir4 :
+                         hinfo->family == NFPROTO_IPV4 ? hashlimit_procdir4 :
                                                     hashlimit_procdir6);
        htable_selective_cleanup(hinfo, select_all);
        vfree(hinfo);
        memset(dst, 0, sizeof(*dst));
 
        switch (hinfo->family) {
-       case AF_INET:
+       case NFPROTO_IPV4:
                if (hinfo->cfg.mode & XT_HASHLIMIT_HASH_DIP)
                        dst->ip.dst = maskl(ip_hdr(skb)->daddr,
                                      hinfo->cfg.dstmask);
                nexthdr = ip_hdr(skb)->protocol;
                break;
 #if defined(CONFIG_IP6_NF_IPTABLES) || defined(CONFIG_IP6_NF_IPTABLES_MODULE)
-       case AF_INET6:
+       case NFPROTO_IPV6:
                if (hinfo->cfg.mode & XT_HASHLIMIT_HASH_DIP) {
                        memcpy(&dst->ip6.dst, &ipv6_hdr(skb)->daddr,
                               sizeof(dst->ip6.dst));
                return false;
        if (info->name[sizeof(info->name)-1] != '\0')
                return false;
-       if (match->family == AF_INET) {
+       if (match->family == NFPROTO_IPV4) {
                if (info->cfg.srcmask > 32 || info->cfg.dstmask > 32)
                        return false;
        } else {
        {
                .name           = "hashlimit",
                .revision       = 0,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .match          = hashlimit_mt_v0,
                .matchsize      = sizeof(struct xt_hashlimit_info),
 #ifdef CONFIG_COMPAT
        {
                .name           = "hashlimit",
                .revision       = 1,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .match          = hashlimit_mt,
                .matchsize      = sizeof(struct xt_hashlimit_mtinfo1),
                .checkentry     = hashlimit_mt_check,
 #if defined(CONFIG_IP6_NF_IPTABLES) || defined(CONFIG_IP6_NF_IPTABLES_MODULE)
        {
                .name           = "hashlimit",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .match          = hashlimit_mt_v0,
                .matchsize      = sizeof(struct xt_hashlimit_info),
 #ifdef CONFIG_COMPAT
        {
                .name           = "hashlimit",
                .revision       = 1,
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .match          = hashlimit_mt,
                .matchsize      = sizeof(struct xt_hashlimit_mtinfo1),
                .checkentry     = hashlimit_mt_check,
        rateinfo_recalc(ent, jiffies);
 
        switch (family) {
-       case AF_INET:
+       case NFPROTO_IPV4:
                return seq_printf(s, "%ld %u.%u.%u.%u:%u->"
                                     "%u.%u.%u.%u:%u %u %u %u\n",
                                 (long)(ent->expires - jiffies)/HZ,
                                 ent->rateinfo.credit, ent->rateinfo.credit_cap,
                                 ent->rateinfo.cost);
 #if defined(CONFIG_IP6_NF_IPTABLES) || defined(CONFIG_IP6_NF_IPTABLES_MODULE)
-       case AF_INET6:
+       case NFPROTO_IPV6:
                return seq_printf(s, "%ld " NIP6_FMT ":%u->"
                                     NIP6_FMT ":%u %u %u %u\n",
                                 (long)(ent->expires - jiffies)/HZ,
 
 static struct xt_match helper_mt_reg[] __read_mostly = {
        {
                .name           = "helper",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = helper_mt_check,
                .match          = helper_mt,
                .destroy        = helper_mt_destroy,
        },
        {
                .name           = "helper",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = helper_mt_check,
                .match          = helper_mt,
                .destroy        = helper_mt_destroy,
 
        {
                .name      = "iprange",
                .revision  = 0,
-               .family    = AF_INET,
+               .family    = NFPROTO_IPV4,
                .match     = iprange_mt_v0,
                .matchsize = sizeof(struct ipt_iprange_info),
                .me        = THIS_MODULE,
        {
                .name      = "iprange",
                .revision  = 1,
-               .family    = AF_INET,
+               .family    = NFPROTO_IPV4,
                .match     = iprange_mt4,
                .matchsize = sizeof(struct xt_iprange_mtinfo),
                .me        = THIS_MODULE,
        {
                .name      = "iprange",
                .revision  = 1,
-               .family    = AF_INET6,
+               .family    = NFPROTO_IPV6,
                .match     = iprange_mt6,
                .matchsize = sizeof(struct xt_iprange_mtinfo),
                .me        = THIS_MODULE,
 
 static struct xt_match length_mt_reg[] __read_mostly = {
        {
                .name           = "length",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .match          = length_mt,
                .matchsize      = sizeof(struct xt_length_info),
                .me             = THIS_MODULE,
        },
        {
                .name           = "length",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .match          = length_mt6,
                .matchsize      = sizeof(struct xt_length_info),
                .me             = THIS_MODULE,
 
 static struct xt_match limit_mt_reg[] __read_mostly = {
        {
                .name           = "limit",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = limit_mt_check,
                .match          = limit_mt,
                .matchsize      = sizeof(struct xt_rateinfo),
        },
        {
                .name           = "limit",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = limit_mt_check,
                .match          = limit_mt,
                .matchsize      = sizeof(struct xt_rateinfo),
 
 static struct xt_match mac_mt_reg[] __read_mostly = {
        {
                .name           = "mac",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .match          = mac_mt,
                .matchsize      = sizeof(struct xt_mac_info),
                .hooks          = (1 << NF_INET_PRE_ROUTING) |
        },
        {
                .name           = "mac",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .match          = mac_mt,
                .matchsize      = sizeof(struct xt_mac_info),
                .hooks          = (1 << NF_INET_PRE_ROUTING) |
 
        {
                .name           = "mark",
                .revision       = 0,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = mark_mt_check_v0,
                .match          = mark_mt_v0,
                .matchsize      = sizeof(struct xt_mark_info),
        {
                .name           = "mark",
                .revision       = 0,
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = mark_mt_check_v0,
                .match          = mark_mt_v0,
                .matchsize      = sizeof(struct xt_mark_info),
        {
                .name           = "mark",
                .revision       = 1,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .match          = mark_mt,
                .matchsize      = sizeof(struct xt_mark_mtinfo1),
                .me             = THIS_MODULE,
        {
                .name           = "mark",
                .revision       = 1,
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .match          = mark_mt,
                .matchsize      = sizeof(struct xt_mark_mtinfo1),
                .me             = THIS_MODULE,
 
 static struct xt_match multiport_mt_reg[] __read_mostly = {
        {
                .name           = "multiport",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .revision       = 0,
                .checkentry     = multiport_mt_check_v0,
                .match          = multiport_mt_v0,
        },
        {
                .name           = "multiport",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .revision       = 1,
                .checkentry     = multiport_mt_check,
                .match          = multiport_mt,
        },
        {
                .name           = "multiport",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .revision       = 0,
                .checkentry     = multiport_mt6_check_v0,
                .match          = multiport_mt_v0,
        },
        {
                .name           = "multiport",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .revision       = 1,
                .checkentry     = multiport_mt6_check,
                .match          = multiport_mt,
 
        {
                .name       = "owner",
                .revision   = 0,
-               .family     = AF_INET,
+               .family     = NFPROTO_IPV4,
                .match      = owner_mt_v0,
                .matchsize  = sizeof(struct ipt_owner_info),
                .checkentry = owner_mt_check_v0,
        {
                .name       = "owner",
                .revision   = 0,
-               .family     = AF_INET6,
+               .family     = NFPROTO_IPV6,
                .match      = owner_mt6_v0,
                .matchsize  = sizeof(struct ip6t_owner_info),
                .checkentry = owner_mt6_check_v0,
        {
                .name       = "owner",
                .revision   = 1,
-               .family     = AF_INET,
+               .family     = NFPROTO_IPV4,
                .match      = owner_mt,
                .matchsize  = sizeof(struct xt_owner_match_info),
                .hooks      = (1 << NF_INET_LOCAL_OUT) |
        {
                .name       = "owner",
                .revision   = 1,
-               .family     = AF_INET6,
+               .family     = NFPROTO_IPV6,
                .match      = owner_mt,
                .matchsize  = sizeof(struct xt_owner_match_info),
                .hooks      = (1 << NF_INET_LOCAL_OUT) |
 
 static struct xt_match physdev_mt_reg[] __read_mostly = {
        {
                .name           = "physdev",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = physdev_mt_check,
                .match          = physdev_mt,
                .matchsize      = sizeof(struct xt_physdev_info),
        },
        {
                .name           = "physdev",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = physdev_mt_check,
                .match          = physdev_mt,
                .matchsize      = sizeof(struct xt_physdev_info),
 
 
        if (skb->pkt_type != PACKET_LOOPBACK)
                type = skb->pkt_type;
-       else if (match->family == AF_INET &&
+       else if (match->family == NFPROTO_IPV4 &&
            ipv4_is_multicast(ip_hdr(skb)->daddr))
                type = PACKET_MULTICAST;
-       else if (match->family == AF_INET6 &&
+       else if (match->family == NFPROTO_IPV6 &&
            ipv6_hdr(skb)->daddr.s6_addr[0] == 0xFF)
                type = PACKET_MULTICAST;
        else
 static struct xt_match pkttype_mt_reg[] __read_mostly = {
        {
                .name           = "pkttype",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .match          = pkttype_mt,
                .matchsize      = sizeof(struct xt_pkttype_info),
                .me             = THIS_MODULE,
        },
        {
                .name           = "pkttype",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .match          = pkttype_mt,
                .matchsize      = sizeof(struct xt_pkttype_info),
                .me             = THIS_MODULE,
 
            const union nf_inet_addr *a2, unsigned short family)
 {
        switch (family) {
-       case AF_INET:
+       case NFPROTO_IPV4:
                return ((a1->ip ^ a2->ip) & m->ip) == 0;
-       case AF_INET6:
+       case NFPROTO_IPV6:
                return ipv6_masked_addr_cmp(&a1->in6, &m->in6, &a2->in6) == 0;
        }
        return false;
 static struct xt_match policy_mt_reg[] __read_mostly = {
        {
                .name           = "policy",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = policy_mt_check,
                .match          = policy_mt,
                .matchsize      = sizeof(struct xt_policy_info),
        },
        {
                .name           = "policy",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = policy_mt_check,
                .match          = policy_mt,
                .matchsize      = sizeof(struct xt_policy_info),
 
 static struct xt_match quota_mt_reg[] __read_mostly = {
        {
                .name           = "quota",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = quota_mt_check,
                .match          = quota_mt,
                .matchsize      = sizeof(struct xt_quota_info),
        },
        {
                .name           = "quota",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = quota_mt_check,
                .match          = quota_mt,
                .matchsize      = sizeof(struct xt_quota_info),
 
 
 static struct xt_match xt_rateest_match[] __read_mostly = {
        {
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .name           = "rateest",
                .match          = xt_rateest_mt,
                .checkentry     = xt_rateest_mt_checkentry,
                .me             = THIS_MODULE,
        },
        {
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .name           = "rateest",
                .match          = xt_rateest_mt,
                .checkentry     = xt_rateest_mt_checkentry,
 
        .matchsize      = sizeof(struct xt_realm_info),
        .hooks          = (1 << NF_INET_POST_ROUTING) | (1 << NF_INET_FORWARD) |
                          (1 << NF_INET_LOCAL_OUT) | (1 << NF_INET_LOCAL_IN),
-       .family         = AF_INET,
+       .family         = NFPROTO_IPV4,
        .me             = THIS_MODULE
 };
 
 
        struct recent_entry *e;
        unsigned int h;
 
-       if (family == AF_INET)
+       if (family == NFPROTO_IPV4)
                h = recent_entry_hash4(addrp);
        else
                h = recent_entry_hash6(addrp);
        e->nstamps   = 1;
        e->index     = 1;
        e->family    = family;
-       if (family == AF_INET)
+       if (family == NFPROTO_IPV4)
                list_add_tail(&e->list, &t->iphash[recent_entry_hash4(addr)]);
        else
                list_add_tail(&e->list, &t->iphash[recent_entry_hash6(addr)]);
        u_int8_t ttl;
        bool ret = info->invert;
 
-       if (match->family == AF_INET) {
+       if (match->family == NFPROTO_IPV4) {
                const struct iphdr *iph = ip_hdr(skb);
 
                if (info->side == XT_RECENT_DEST)
        unsigned int i;
 
        i = (e->index - 1) % ip_pkt_list_tot;
-       if (e->family == AF_INET)
+       if (e->family == NFPROTO_IPV4)
                seq_printf(seq, "src=" NIPQUAD_FMT " ttl: %u last_seen: %lu "
                           "oldest_pkt: %u", NIPQUAD(e->addr.ip), e->ttl,
                           e->stamps[i], e->index);
        addr = in_aton(c);
 
        spin_lock_bh(&recent_lock);
-       e = recent_entry_lookup(t, (const void *)&addr, PF_INET, 0);
+       e = recent_entry_lookup(t, (const void *)&addr, NFPROTO_IPV4, 0);
        if (e == NULL) {
                if (add)
-                       recent_entry_init(t, (const void *)&addr, PF_INET, 0);
+                       recent_entry_init(t, (const void *)&addr,
+                                         NFPROTO_IPV4, 0);
        } else {
                if (add)
                        recent_entry_update(t, e);
        ++c;
        --size;
        if (strnchr(c, size, ':') != NULL) {
-               family = AF_INET6;
+               family = NFPROTO_IPV6;
                succ   = in6_pton(c, size, (void *)&addr, '\n', NULL);
        } else {
-               family = AF_INET;
+               family = NFPROTO_IPV4;
                succ   = in4_pton(c, size, (void *)&addr, '\n', NULL);
        }
 
        {
                .name       = "recent",
                .revision   = 0,
-               .family     = AF_INET,
+               .family     = NFPROTO_IPV4,
                .match      = recent_mt,
                .matchsize  = sizeof(struct xt_recent_mtinfo),
                .checkentry = recent_mt_check,
        {
                .name       = "recent",
                .revision   = 0,
-               .family     = AF_INET6,
+               .family     = NFPROTO_IPV6,
                .match      = recent_mt,
                .matchsize  = sizeof(struct xt_recent_mtinfo),
                .checkentry = recent_mt_check,
 
 static struct xt_match sctp_mt_reg[] __read_mostly = {
        {
                .name           = "sctp",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = sctp_mt_check,
                .match          = sctp_mt,
                .matchsize      = sizeof(struct xt_sctp_info),
        },
        {
                .name           = "sctp",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = sctp_mt_check,
                .match          = sctp_mt,
                .matchsize      = sizeof(struct xt_sctp_info),
 
 static struct xt_match state_mt_reg[] __read_mostly = {
        {
                .name           = "state",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = state_mt_check,
                .match          = state_mt,
                .destroy        = state_mt_destroy,
        },
        {
                .name           = "state",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = state_mt_check,
                .match          = state_mt,
                .destroy        = state_mt_destroy,
 
 static struct xt_match statistic_mt_reg[] __read_mostly = {
        {
                .name           = "statistic",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = statistic_mt_check,
                .match          = statistic_mt,
                .matchsize      = sizeof(struct xt_statistic_info),
        },
        {
                .name           = "statistic",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = statistic_mt_check,
                .match          = statistic_mt,
                .matchsize      = sizeof(struct xt_statistic_info),
 
        {
                .name           = "string",
                .revision       = 0,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = string_mt_check,
                .match          = string_mt,
                .destroy        = string_mt_destroy,
        {
                .name           = "string",
                .revision       = 1,
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = string_mt_check,
                .match          = string_mt,
                .destroy        = string_mt_destroy,
        {
                .name           = "string",
                .revision       = 0,
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = string_mt_check,
                .match          = string_mt,
                .destroy        = string_mt_destroy,
        {
                .name           = "string",
                .revision       = 1,
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = string_mt_check,
                .match          = string_mt,
                .destroy        = string_mt_destroy,
 
 static struct xt_match tcpmss_mt_reg[] __read_mostly = {
        {
                .name           = "tcpmss",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .match          = tcpmss_mt,
                .matchsize      = sizeof(struct xt_tcpmss_match_info),
                .proto          = IPPROTO_TCP,
        },
        {
                .name           = "tcpmss",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .match          = tcpmss_mt,
                .matchsize      = sizeof(struct xt_tcpmss_match_info),
                .proto          = IPPROTO_TCP,
 
 static struct xt_match tcpudp_mt_reg[] __read_mostly = {
        {
                .name           = "tcp",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = tcp_mt_check,
                .match          = tcp_mt,
                .matchsize      = sizeof(struct xt_tcp),
        },
        {
                .name           = "tcp",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = tcp_mt_check,
                .match          = tcp_mt,
                .matchsize      = sizeof(struct xt_tcp),
        },
        {
                .name           = "udp",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = udp_mt_check,
                .match          = udp_mt,
                .matchsize      = sizeof(struct xt_udp),
        },
        {
                .name           = "udp",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = udp_mt_check,
                .match          = udp_mt,
                .matchsize      = sizeof(struct xt_udp),
        },
        {
                .name           = "udplite",
-               .family         = AF_INET,
+               .family         = NFPROTO_IPV4,
                .checkentry     = udp_mt_check,
                .match          = udp_mt,
                .matchsize      = sizeof(struct xt_udp),
        },
        {
                .name           = "udplite",
-               .family         = AF_INET6,
+               .family         = NFPROTO_IPV6,
                .checkentry     = udp_mt_check,
                .match          = udp_mt,
                .matchsize      = sizeof(struct xt_udp),
 
 static struct xt_match time_mt_reg[] __read_mostly = {
        {
                .name       = "time",
-               .family     = AF_INET,
+               .family     = NFPROTO_IPV4,
                .match      = time_mt,
                .matchsize  = sizeof(struct xt_time_info),
                .checkentry = time_mt_check,
        },
        {
                .name       = "time",
-               .family     = AF_INET6,
+               .family     = NFPROTO_IPV6,
                .match      = time_mt,
                .matchsize  = sizeof(struct xt_time_info),
                .checkentry = time_mt_check,
 
 static struct xt_match u32_mt_reg[] __read_mostly = {
        {
                .name       = "u32",
-               .family     = AF_INET,
+               .family     = NFPROTO_IPV4,
                .match      = u32_mt,
                .matchsize  = sizeof(struct xt_u32),
                .me         = THIS_MODULE,
        },
        {
                .name       = "u32",
-               .family     = AF_INET6,
+               .family     = NFPROTO_IPV6,
                .match      = u32_mt,
                .matchsize  = sizeof(struct xt_u32),
                .me         = THIS_MODULE,