/net/netfilter/ |
D | xt_set.c | 34 const struct xt_action_param *par, in match_set() argument 37 if (ip_set_test(index, skb, par, opt)) in match_set() 54 set_match_v0(const struct sk_buff *skb, struct xt_action_param *par) in set_match_v0() argument 56 const struct xt_set_info_match_v0 *info = par->matchinfo; in set_match_v0() 58 ADT_OPT(opt, par->family, info->match_set.u.compat.dim, in set_match_v0() 61 return match_set(info->match_set.index, skb, par, &opt, in set_match_v0() 82 set_match_v0_checkentry(const struct xt_mtchk_param *par) in set_match_v0_checkentry() argument 84 struct xt_set_info_match_v0 *info = par->matchinfo; in set_match_v0_checkentry() 87 index = ip_set_nfnl_get_byindex(par->net, info->match_set.index); in set_match_v0_checkentry() 96 ip_set_nfnl_put(par->net, info->match_set.index); in set_match_v0_checkentry() [all …]
|
D | xt_CT.c | 40 const struct xt_action_param *par) in xt_ct_target_v0() argument 42 const struct xt_ct_target_info *info = par->targinfo; in xt_ct_target_v0() 49 const struct xt_action_param *par) in xt_ct_target_v1() argument 51 const struct xt_ct_target_info_v1 *info = par->targinfo; in xt_ct_target_v1() 57 static u8 xt_ct_find_proto(const struct xt_tgchk_param *par) in xt_ct_find_proto() argument 59 if (par->family == NFPROTO_IPV4) { in xt_ct_find_proto() 60 const struct ipt_entry *e = par->entryinfo; in xt_ct_find_proto() 65 } else if (par->family == NFPROTO_IPV6) { in xt_ct_find_proto() 66 const struct ip6t_entry *e = par->entryinfo; in xt_ct_find_proto() 77 const struct xt_tgchk_param *par) in xt_ct_set_helper() argument [all …]
|
D | xt_LOG.c | 32 log_tg(struct sk_buff *skb, const struct xt_action_param *par) in log_tg() argument 34 const struct xt_log_info *loginfo = par->targinfo; in log_tg() 36 struct net *net = par->net; in log_tg() 42 nf_log_packet(net, par->family, par->hooknum, skb, par->in, par->out, in log_tg() 47 static int log_tg_check(const struct xt_tgchk_param *par) in log_tg_check() argument 49 const struct xt_log_info *loginfo = par->targinfo; in log_tg_check() 51 if (par->family != NFPROTO_IPV4 && par->family != NFPROTO_IPV6) in log_tg_check() 64 return nf_logger_find_get(par->family, NF_LOG_TYPE_LOG); in log_tg_check() 67 static void log_tg_destroy(const struct xt_tgdtor_param *par) in log_tg_destroy() argument 69 nf_logger_put(par->family, NF_LOG_TYPE_LOG); in log_tg_destroy()
|
D | xt_NETMAP.c | 22 netmap_tg6(struct sk_buff *skb, const struct xt_action_param *par) in netmap_tg6() argument 24 const struct nf_nat_range *range = par->targinfo; in netmap_tg6() 36 if (par->hooknum == NF_INET_PRE_ROUTING || in netmap_tg6() 37 par->hooknum == NF_INET_LOCAL_OUT) in netmap_tg6() 54 return nf_nat_setup_info(ct, &newrange, HOOK2MANIP(par->hooknum)); in netmap_tg6() 57 static int netmap_tg6_checkentry(const struct xt_tgchk_param *par) in netmap_tg6_checkentry() argument 59 const struct nf_nat_range *range = par->targinfo; in netmap_tg6_checkentry() 67 netmap_tg4(struct sk_buff *skb, const struct xt_action_param *par) in netmap_tg4() argument 72 const struct nf_nat_ipv4_multi_range_compat *mr = par->targinfo; in netmap_tg4() 75 NF_CT_ASSERT(par->hooknum == NF_INET_PRE_ROUTING || in netmap_tg4() [all …]
|
D | xt_tcpudp.c | 65 static bool tcp_mt(const struct sk_buff *skb, struct xt_action_param *par) in tcp_mt() argument 69 const struct xt_tcp *tcpinfo = par->matchinfo; in tcp_mt() 71 if (par->fragoff != 0) { in tcp_mt() 78 if (par->fragoff == 1) { in tcp_mt() 80 par->hotdrop = true; in tcp_mt() 86 th = skb_header_pointer(skb, par->thoff, sizeof(_tcph), &_tcph); in tcp_mt() 91 par->hotdrop = true; in tcp_mt() 108 par->hotdrop = true; in tcp_mt() 111 if (!tcp_find_option(tcpinfo->option, skb, par->thoff, in tcp_mt() 114 &par->hotdrop)) in tcp_mt() [all …]
|
D | xt_l2tp.c | 82 static bool l2tp_udp_mt(const struct sk_buff *skb, struct xt_action_param *par, u16 thoff) in l2tp_udp_mt() argument 84 const struct xt_l2tp_info *info = par->matchinfo; in l2tp_udp_mt() 92 if (par->fragoff != 0) in l2tp_udp_mt() 142 static bool l2tp_ip_mt(const struct sk_buff *skb, struct xt_action_param *par, u16 thoff) in l2tp_ip_mt() argument 144 const struct xt_l2tp_info *info = par->matchinfo; in l2tp_ip_mt() 173 static bool l2tp_mt4(const struct sk_buff *skb, struct xt_action_param *par) in l2tp_mt4() argument 181 return l2tp_udp_mt(skb, par, par->thoff); in l2tp_mt4() 183 return l2tp_ip_mt(skb, par, par->thoff); in l2tp_mt4() 190 static bool l2tp_mt6(const struct sk_buff *skb, struct xt_action_param *par) in l2tp_mt6() argument 203 return l2tp_udp_mt(skb, par, thoff); in l2tp_mt6() [all …]
|
D | xt_NFQUEUE.c | 31 nfqueue_tg(struct sk_buff *skb, const struct xt_action_param *par) in nfqueue_tg() argument 33 const struct xt_NFQ_info *tinfo = par->targinfo; in nfqueue_tg() 39 nfqueue_tg_v1(struct sk_buff *skb, const struct xt_action_param *par) in nfqueue_tg_v1() argument 41 const struct xt_NFQ_info_v1 *info = par->targinfo; in nfqueue_tg_v1() 46 par->family, jhash_initval); in nfqueue_tg_v1() 52 nfqueue_tg_v2(struct sk_buff *skb, const struct xt_action_param *par) in nfqueue_tg_v2() argument 54 const struct xt_NFQ_info_v2 *info = par->targinfo; in nfqueue_tg_v2() 55 unsigned int ret = nfqueue_tg_v1(skb, par); in nfqueue_tg_v2() 62 static int nfqueue_tg_check(const struct xt_tgchk_param *par) in nfqueue_tg_check() argument 64 const struct xt_NFQ_info_v3 *info = par->targinfo; in nfqueue_tg_check() [all …]
|
D | xt_ecn.c | 30 static bool match_tcp(const struct sk_buff *skb, struct xt_action_param *par) in match_tcp() argument 32 const struct xt_ecn_info *einfo = par->matchinfo; in match_tcp() 39 th = skb_header_pointer(skb, par->thoff, sizeof(_tcph), &_tcph); in match_tcp() 73 static bool ecn_mt4(const struct sk_buff *skb, struct xt_action_param *par) in ecn_mt4() argument 75 const struct xt_ecn_info *info = par->matchinfo; in ecn_mt4() 81 !match_tcp(skb, par)) in ecn_mt4() 87 static int ecn_mt_check4(const struct xt_mtchk_param *par) in ecn_mt_check4() argument 89 const struct xt_ecn_info *info = par->matchinfo; in ecn_mt_check4() 90 const struct ipt_ip *ip = par->entryinfo; in ecn_mt_check4() 115 static bool ecn_mt6(const struct sk_buff *skb, struct xt_action_param *par) in ecn_mt6() argument [all …]
|
D | xt_connmark.c | 39 connmark_tg(struct sk_buff *skb, const struct xt_action_param *par) in connmark_tg() argument 41 const struct xt_connmark_tginfo1 *info = par->targinfo; in connmark_tg() 76 static int connmark_tg_check(const struct xt_tgchk_param *par) in connmark_tg_check() argument 80 ret = nf_ct_l3proto_try_module_get(par->family); in connmark_tg_check() 83 par->family); in connmark_tg_check() 87 static void connmark_tg_destroy(const struct xt_tgdtor_param *par) in connmark_tg_destroy() argument 89 nf_ct_l3proto_module_put(par->family); in connmark_tg_destroy() 93 connmark_mt(const struct sk_buff *skb, struct xt_action_param *par) in connmark_mt() argument 95 const struct xt_connmark_mtinfo1 *info = par->matchinfo; in connmark_mt() 106 static int connmark_mt_check(const struct xt_mtchk_param *par) in connmark_mt_check() argument [all …]
|
D | xt_conntrack.c | 165 conntrack_mt(const struct sk_buff *skb, struct xt_action_param *par, in conntrack_mt() argument 168 const struct xt_conntrack_mtinfo2 *info = par->matchinfo; in conntrack_mt() 203 if (conntrack_mt_origsrc(ct, info, par->family) ^ in conntrack_mt() 208 if (conntrack_mt_origdst(ct, info, par->family) ^ in conntrack_mt() 213 if (conntrack_mt_replsrc(ct, info, par->family) ^ in conntrack_mt() 218 if (conntrack_mt_repldst(ct, info, par->family) ^ in conntrack_mt() 222 if (par->match->revision != 3) { in conntrack_mt() 226 if (!ct_proto_port_check_v3(par->matchinfo, ct)) in conntrack_mt() 247 conntrack_mt_v1(const struct sk_buff *skb, struct xt_action_param *par) in conntrack_mt_v1() argument 249 const struct xt_conntrack_mtinfo1 *info = par->matchinfo; in conntrack_mt_v1() [all …]
|
D | xt_connlabel.c | 23 connlabel_mt(const struct sk_buff *skb, struct xt_action_param *par) in connlabel_mt() argument 25 const struct xt_connlabel_mtinfo *info = par->matchinfo; in connlabel_mt() 52 static int connlabel_mt_check(const struct xt_mtchk_param *par) in connlabel_mt_check() argument 56 struct xt_connlabel_mtinfo *info = par->matchinfo; in connlabel_mt_check() 64 ret = nf_ct_l3proto_try_module_get(par->family); in connlabel_mt_check() 67 par->family); in connlabel_mt_check() 71 ret = nf_connlabels_get(par->net, info->bit); in connlabel_mt_check() 73 nf_ct_l3proto_module_put(par->family); in connlabel_mt_check() 77 static void connlabel_mt_destroy(const struct xt_mtdtor_param *par) in connlabel_mt_destroy() argument 79 nf_connlabels_put(par->net); in connlabel_mt_destroy() [all …]
|
D | xt_CONNSECMARK.c | 67 connsecmark_tg(struct sk_buff *skb, const struct xt_action_param *par) in connsecmark_tg() argument 69 const struct xt_connsecmark_target_info *info = par->targinfo; in connsecmark_tg() 87 static int connsecmark_tg_check(const struct xt_tgchk_param *par) in connsecmark_tg_check() argument 89 const struct xt_connsecmark_target_info *info = par->targinfo; in connsecmark_tg_check() 92 if (strcmp(par->table, "mangle") != 0 && in connsecmark_tg_check() 93 strcmp(par->table, "security") != 0) { in connsecmark_tg_check() 95 "or \'security\' tables, not \'%s\'.\n", par->table); in connsecmark_tg_check() 109 ret = nf_ct_l3proto_try_module_get(par->family); in connsecmark_tg_check() 112 par->family); in connsecmark_tg_check() 116 static void connsecmark_tg_destroy(const struct xt_tgdtor_param *par) in connsecmark_tg_destroy() argument [all …]
|
D | xt_REDIRECT.c | 32 redirect_tg6(struct sk_buff *skb, const struct xt_action_param *par) in redirect_tg6() argument 34 return nf_nat_redirect_ipv6(skb, par->targinfo, par->hooknum); in redirect_tg6() 37 static int redirect_tg6_checkentry(const struct xt_tgchk_param *par) in redirect_tg6_checkentry() argument 39 const struct nf_nat_range *range = par->targinfo; in redirect_tg6_checkentry() 47 static int redirect_tg4_check(const struct xt_tgchk_param *par) in redirect_tg4_check() argument 49 const struct nf_nat_ipv4_multi_range_compat *mr = par->targinfo; in redirect_tg4_check() 63 redirect_tg4(struct sk_buff *skb, const struct xt_action_param *par) in redirect_tg4() argument 65 return nf_nat_redirect_ipv4(skb, par->targinfo, par->hooknum); in redirect_tg4()
|
D | nft_compat.c | 64 nft_compat_set_par(struct xt_action_param *par, void *xt, const void *xt_info) in nft_compat_set_par() argument 66 par->target = xt; in nft_compat_set_par() 67 par->targinfo = xt_info; in nft_compat_set_par() 68 par->hotdrop = false; in nft_compat_set_par() 139 nft_target_set_tgchk_param(struct xt_tgchk_param *par, in nft_target_set_tgchk_param() argument 144 par->net = ctx->net; in nft_target_set_tgchk_param() 145 par->table = ctx->table->name; in nft_target_set_tgchk_param() 165 par->entryinfo = entry; in nft_target_set_tgchk_param() 166 par->target = target; in nft_target_set_tgchk_param() 167 par->targinfo = info; in nft_target_set_tgchk_param() [all …]
|
D | xt_bpf.c | 66 static int bpf_mt_check(const struct xt_mtchk_param *par) in bpf_mt_check() argument 68 struct xt_bpf_info *info = par->matchinfo; in bpf_mt_check() 75 static int bpf_mt_check_v1(const struct xt_mtchk_param *par) in bpf_mt_check_v1() argument 77 struct xt_bpf_info_v1 *info = par->matchinfo; in bpf_mt_check_v1() 91 static bool bpf_mt(const struct sk_buff *skb, struct xt_action_param *par) in bpf_mt() argument 93 const struct xt_bpf_info *info = par->matchinfo; in bpf_mt() 98 static bool bpf_mt_v1(const struct sk_buff *skb, struct xt_action_param *par) in bpf_mt_v1() argument 100 const struct xt_bpf_info_v1 *info = par->matchinfo; in bpf_mt_v1() 105 static void bpf_mt_destroy(const struct xt_mtdtor_param *par) in bpf_mt_destroy() argument 107 const struct xt_bpf_info *info = par->matchinfo; in bpf_mt_destroy() [all …]
|
D | xt_TCPMSS.c | 80 const struct xt_action_param *par, in tcpmss_mangle_packet() argument 85 const struct xt_tcpmss_info *info = par->targinfo; in tcpmss_mangle_packet() 94 if (par->fragoff != 0) in tcpmss_mangle_packet() 111 struct net *net = par->net; in tcpmss_mangle_packet() 179 if (par->family == NFPROTO_IPV4) in tcpmss_mangle_packet() 204 tcpmss_tg4(struct sk_buff *skb, const struct xt_action_param *par) in tcpmss_tg4() argument 210 ret = tcpmss_mangle_packet(skb, par, in tcpmss_tg4() 227 tcpmss_tg6(struct sk_buff *skb, const struct xt_action_param *par) in tcpmss_tg6() argument 239 ret = tcpmss_mangle_packet(skb, par, in tcpmss_tg6() 271 static int tcpmss_tg4_check(const struct xt_tgchk_param *par) in tcpmss_tg4_check() argument [all …]
|
D | xt_TEE.c | 31 tee_tg4(struct sk_buff *skb, const struct xt_action_param *par) in tee_tg4() argument 33 const struct xt_tee_tginfo *info = par->targinfo; in tee_tg4() 36 nf_dup_ipv4(par->net, skb, par->hooknum, &info->gw.in, oif); in tee_tg4() 43 tee_tg6(struct sk_buff *skb, const struct xt_action_param *par) in tee_tg6() argument 45 const struct xt_tee_tginfo *info = par->targinfo; in tee_tg6() 48 nf_dup_ipv6(par->net, skb, par->hooknum, &info->gw.in6, oif); in tee_tg6() 81 static int tee_tg_check(const struct xt_tgchk_param *par) in tee_tg_check() argument 83 struct xt_tee_tginfo *info = par->targinfo; in tee_tg_check() 118 static void tee_tg_destroy(const struct xt_tgdtor_param *par) in tee_tg_destroy() argument 120 struct xt_tee_tginfo *info = par->targinfo; in tee_tg_destroy()
|
D | xt_NFLOG.c | 25 nflog_tg(struct sk_buff *skb, const struct xt_action_param *par) in nflog_tg() argument 27 const struct xt_nflog_info *info = par->targinfo; in nflog_tg() 29 struct net *net = par->net; in nflog_tg() 40 nfulnl_log_packet(net, par->family, par->hooknum, skb, par->in, in nflog_tg() 41 par->out, &li, info->prefix); in nflog_tg() 45 static int nflog_tg_check(const struct xt_tgchk_param *par) in nflog_tg_check() argument 47 const struct xt_nflog_info *info = par->targinfo; in nflog_tg_check()
|
D | xt_cgroup.c | 27 static int cgroup_mt_check_v0(const struct xt_mtchk_param *par) in cgroup_mt_check_v0() argument 29 struct xt_cgroup_info_v0 *info = par->matchinfo; in cgroup_mt_check_v0() 37 static int cgroup_mt_check_v1(const struct xt_mtchk_param *par) in cgroup_mt_check_v1() argument 39 struct xt_cgroup_info_v1 *info = par->matchinfo; in cgroup_mt_check_v1() 70 cgroup_mt_v0(const struct sk_buff *skb, struct xt_action_param *par) in cgroup_mt_v0() argument 72 const struct xt_cgroup_info_v0 *info = par->matchinfo; in cgroup_mt_v0() 81 static bool cgroup_mt_v1(const struct sk_buff *skb, struct xt_action_param *par) in cgroup_mt_v1() argument 83 const struct xt_cgroup_info_v1 *info = par->matchinfo; in cgroup_mt_v1() 98 static void cgroup_mt_destroy_v1(const struct xt_mtdtor_param *par) in cgroup_mt_destroy_v1() argument 100 struct xt_cgroup_info_v1 *info = par->matchinfo; in cgroup_mt_destroy_v1()
|
D | xt_AUDIT.c | 122 audit_tg(struct sk_buff *skb, const struct xt_action_param *par) in audit_tg() argument 124 const struct xt_audit_info *info = par->targinfo; in audit_tg() 135 info->type, par->hooknum, skb->len, in audit_tg() 136 par->in ? par->in->name : "?", in audit_tg() 137 par->out ? par->out->name : "?"); in audit_tg() 147 if (par->family == NFPROTO_BRIDGE) { in audit_tg() 160 switch (par->family) { in audit_tg() 182 audit_tg_ebt(struct sk_buff *skb, const struct xt_action_param *par) in audit_tg_ebt() argument 184 audit_tg(skb, par); in audit_tg_ebt() 188 static int audit_tg_check(const struct xt_tgchk_param *par) in audit_tg_check() argument [all …]
|
D | xt_nfacct.c | 22 static bool nfacct_mt(const struct sk_buff *skb, struct xt_action_param *par) in nfacct_mt() argument 25 const struct xt_nfacct_match_info *info = par->targinfo; in nfacct_mt() 29 overquota = nfnl_acct_overquota(par->net, skb, info->nfacct); in nfacct_mt() 35 nfacct_mt_checkentry(const struct xt_mtchk_param *par) in nfacct_mt_checkentry() argument 37 struct xt_nfacct_match_info *info = par->matchinfo; in nfacct_mt_checkentry() 40 nfacct = nfnl_acct_find_get(par->net, info->name); in nfacct_mt_checkentry() 51 nfacct_mt_destroy(const struct xt_mtdtor_param *par) in nfacct_mt_destroy() argument 53 const struct xt_nfacct_match_info *info = par->matchinfo; in nfacct_mt_destroy()
|
/net/ipv6/netfilter/ |
D | ip6t_REJECT.c | 39 reject_tg6(struct sk_buff *skb, const struct xt_action_param *par) in reject_tg6() argument 41 const struct ip6t_reject_info *reject = par->targinfo; in reject_tg6() 42 struct net *net = par->net; in reject_tg6() 46 nf_send_unreach6(net, skb, ICMPV6_NOROUTE, par->hooknum); in reject_tg6() 49 nf_send_unreach6(net, skb, ICMPV6_ADM_PROHIBITED, par->hooknum); in reject_tg6() 52 nf_send_unreach6(net, skb, ICMPV6_NOT_NEIGHBOUR, par->hooknum); in reject_tg6() 55 nf_send_unreach6(net, skb, ICMPV6_ADDR_UNREACH, par->hooknum); in reject_tg6() 58 nf_send_unreach6(net, skb, ICMPV6_PORT_UNREACH, par->hooknum); in reject_tg6() 64 nf_send_reset6(net, skb, par->hooknum); in reject_tg6() 67 nf_send_unreach6(net, skb, ICMPV6_POLICY_FAIL, par->hooknum); in reject_tg6() [all …]
|
/net/bridge/netfilter/ |
D | ebt_redirect.c | 19 ebt_redirect_tg(struct sk_buff *skb, const struct xt_action_param *par) in ebt_redirect_tg() argument 21 const struct ebt_redirect_info *info = par->targinfo; in ebt_redirect_tg() 26 if (par->hooknum != NF_BR_BROUTING) in ebt_redirect_tg() 29 br_port_get_rcu(par->in)->br->dev->dev_addr); in ebt_redirect_tg() 31 ether_addr_copy(eth_hdr(skb)->h_dest, par->in->dev_addr); in ebt_redirect_tg() 36 static int ebt_redirect_tg_check(const struct xt_tgchk_param *par) in ebt_redirect_tg_check() argument 38 const struct ebt_redirect_info *info = par->targinfo; in ebt_redirect_tg_check() 44 hook_mask = par->hook_mask & ~(1 << NF_BR_NUMHOOKS); in ebt_redirect_tg_check() 45 if ((strcmp(par->table, "nat") != 0 || in ebt_redirect_tg_check() 47 (strcmp(par->table, "broute") != 0 || in ebt_redirect_tg_check()
|
D | ebt_nflog.c | 23 ebt_nflog_tg(struct sk_buff *skb, const struct xt_action_param *par) in ebt_nflog_tg() argument 25 const struct ebt_nflog_info *info = par->targinfo; in ebt_nflog_tg() 27 struct net *net = par->net; in ebt_nflog_tg() 34 nf_log_packet(net, PF_BRIDGE, par->hooknum, skb, par->in, in ebt_nflog_tg() 35 par->out, &li, "%s", info->prefix); in ebt_nflog_tg() 39 static int ebt_nflog_tg_check(const struct xt_tgchk_param *par) in ebt_nflog_tg_check() argument 41 struct ebt_nflog_info *info = par->targinfo; in ebt_nflog_tg_check()
|
/net/sched/ |
D | act_ipt.c | 42 struct xt_tgchk_param par; in ipt_init_target() local 53 memset(&par, 0, sizeof(par)); in ipt_init_target() 54 par.table = table; in ipt_init_target() 55 par.entryinfo = &e; in ipt_init_target() 56 par.target = target; in ipt_init_target() 57 par.targinfo = t->data; in ipt_init_target() 58 par.hook_mask = hook; in ipt_init_target() 59 par.family = NFPROTO_IPV4; in ipt_init_target() 61 ret = xt_check_target(&par, t->u.target_size - sizeof(*t), 0, false); in ipt_init_target() 71 struct xt_tgdtor_param par = { in ipt_destroy_target() local [all …]
|