/net/netfilter/ |
D | xt_set.c | 32 const struct xt_action_param *par, in match_set() argument 35 if (ip_set_test(index, skb, par, opt)) in match_set() 52 set_match_v0(const struct sk_buff *skb, struct xt_action_param *par) in set_match_v0() argument 54 const struct xt_set_info_match_v0 *info = par->matchinfo; in set_match_v0() 55 ADT_OPT(opt, par->family, info->match_set.u.compat.dim, in set_match_v0() 58 return match_set(info->match_set.index, skb, par, &opt, in set_match_v0() 79 set_match_v0_checkentry(const struct xt_mtchk_param *par) in set_match_v0_checkentry() argument 81 struct xt_set_info_match_v0 *info = par->matchinfo; in set_match_v0_checkentry() 84 index = ip_set_nfnl_get_byindex(par->net, info->match_set.index); in set_match_v0_checkentry() 93 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 = dev_net(par->in ? par->in : par->out); 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_connlabel.c | 22 connlabel_mt(const struct sk_buff *skb, struct xt_action_param *par) in connlabel_mt() argument 24 const struct xt_connlabel_mtinfo *info = par->matchinfo; in connlabel_mt() 39 static int connlabel_mt_check(const struct xt_mtchk_param *par) in connlabel_mt_check() argument 43 struct xt_connlabel_mtinfo *info = par->matchinfo; in connlabel_mt_check() 55 ret = nf_ct_l3proto_try_module_get(par->family); in connlabel_mt_check() 58 par->family); in connlabel_mt_check() 62 par->net->ct.labels_used++; in connlabel_mt_check() 64 if (words > par->net->ct.label_words) in connlabel_mt_check() 65 par->net->ct.label_words = words; in connlabel_mt_check() 70 static void connlabel_mt_destroy(const struct xt_mtdtor_param *par) in connlabel_mt_destroy() argument [all …]
|
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() 88 th = skb_header_pointer(skb, par->thoff, sizeof(_tcph), &_tcph); in tcp_mt() 93 par->hotdrop = true; in tcp_mt() 111 par->hotdrop = true; in tcp_mt() 114 if (!tcp_find_option(tcpinfo->option, skb, par->thoff, in tcp_mt() 117 &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_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 = dev_net(par->in ? par->in : par->out); in nflog_tg() 36 nfulnl_log_packet(net, par->family, par->hooknum, skb, par->in, in nflog_tg() 37 par->out, &li, info->prefix); in nflog_tg() 41 static int nflog_tg_check(const struct xt_tgchk_param *par) in nflog_tg_check() argument 43 const struct xt_nflog_info *info = par->targinfo; in nflog_tg_check()
|
D | nft_compat.c | 46 nft_compat_set_par(struct xt_action_param *par, void *xt, const void *xt_info) in nft_compat_set_par() argument 48 par->target = xt; in nft_compat_set_par() 49 par->targinfo = xt_info; in nft_compat_set_par() 50 par->hotdrop = false; in nft_compat_set_par() 87 nft_target_set_tgchk_param(struct xt_tgchk_param *par, in nft_target_set_tgchk_param() argument 92 par->net = ctx->net; in nft_target_set_tgchk_param() 93 par->table = ctx->table->name; in nft_target_set_tgchk_param() 107 par->entryinfo = entry; in nft_target_set_tgchk_param() 108 par->target = target; in nft_target_set_tgchk_param() 109 par->targinfo = info; in nft_target_set_tgchk_param() [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() 249 conntrack_mt_v1(const struct sk_buff *skb, struct xt_action_param *par) in conntrack_mt_v1() argument 251 const struct xt_conntrack_mtinfo1 *info = par->matchinfo; in conntrack_mt_v1() [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_addrtype.c | 126 addrtype_mt_v0(const struct sk_buff *skb, struct xt_action_param *par) in addrtype_mt_v0() argument 128 struct net *net = dev_net(par->in ? par->in : par->out); in addrtype_mt_v0() 129 const struct xt_addrtype_info *info = par->matchinfo; in addrtype_mt_v0() 144 addrtype_mt_v1(const struct sk_buff *skb, struct xt_action_param *par) in addrtype_mt_v1() argument 146 struct net *net = dev_net(par->in ? par->in : par->out); in addrtype_mt_v1() 147 const struct xt_addrtype_info_v1 *info = par->matchinfo; in addrtype_mt_v1() 153 dev = par->in; in addrtype_mt_v1() 155 dev = par->out; in addrtype_mt_v1() 158 if (par->family == NFPROTO_IPV6) in addrtype_mt_v1() 171 static int addrtype_mt_checkentry_v1(const struct xt_mtchk_param *par) in addrtype_mt_checkentry_v1() argument [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 = dev_net(par->in ? par->in : par->out); in tcpmss_mangle_packet() 183 if (par->family == NFPROTO_IPV4) in tcpmss_mangle_packet() 208 tcpmss_tg4(struct sk_buff *skb, const struct xt_action_param *par) in tcpmss_tg4() argument 214 ret = tcpmss_mangle_packet(skb, par, in tcpmss_tg4() 231 tcpmss_tg6(struct sk_buff *skb, const struct xt_action_param *par) in tcpmss_tg6() argument 243 ret = tcpmss_mangle_packet(skb, par, in tcpmss_tg6() 270 static int tcpmss_tg4_check(const struct xt_tgchk_param *par) in tcpmss_tg4_check() argument [all …]
|
D | xt_REDIRECT.c | 33 redirect_tg6(struct sk_buff *skb, const struct xt_action_param *par) in redirect_tg6() argument 35 const struct nf_nat_range *range = par->targinfo; in redirect_tg6() 42 if (par->hooknum == NF_INET_LOCAL_OUT) in redirect_tg6() 73 static int redirect_tg6_checkentry(const struct xt_tgchk_param *par) in redirect_tg6_checkentry() argument 75 const struct nf_nat_range *range = par->targinfo; in redirect_tg6_checkentry() 83 static int redirect_tg4_check(const struct xt_tgchk_param *par) in redirect_tg4_check() argument 85 const struct nf_nat_ipv4_multi_range_compat *mr = par->targinfo; in redirect_tg4_check() 99 redirect_tg4(struct sk_buff *skb, const struct xt_action_param *par) in redirect_tg4() argument 104 const struct nf_nat_ipv4_multi_range_compat *mr = par->targinfo; in redirect_tg4() 107 NF_CT_ASSERT(par->hooknum == NF_INET_PRE_ROUTING || in redirect_tg4() [all …]
|
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 | x_tables.c | 366 int xt_check_match(struct xt_mtchk_param *par, in xt_check_match() argument 371 if (XT_ALIGN(par->match->matchsize) != size && in xt_check_match() 372 par->match->matchsize != -1) { in xt_check_match() 379 xt_prefix[par->family], par->match->name, in xt_check_match() 380 par->match->revision, in xt_check_match() 381 XT_ALIGN(par->match->matchsize), size); in xt_check_match() 384 if (par->match->table != NULL && in xt_check_match() 385 strcmp(par->match->table, par->table) != 0) { in xt_check_match() 387 xt_prefix[par->family], par->match->name, in xt_check_match() 388 par->match->table, par->table); in xt_check_match() [all …]
|
D | xt_multiport.c | 75 multiport_mt(const struct sk_buff *skb, struct xt_action_param *par) in multiport_mt() argument 79 const struct xt_multiport_v1 *multiinfo = par->matchinfo; in multiport_mt() 81 if (par->fragoff != 0) in multiport_mt() 84 pptr = skb_header_pointer(skb, par->thoff, sizeof(_ports), _ports); in multiport_mt() 90 par->hotdrop = true; in multiport_mt() 114 static int multiport_mt_check(const struct xt_mtchk_param *par) in multiport_mt_check() argument 116 const struct ipt_ip *ip = par->entryinfo; in multiport_mt_check() 117 const struct xt_multiport_v1 *multiinfo = par->matchinfo; in multiport_mt_check() 123 static int multiport_mt6_check(const struct xt_mtchk_param *par) in multiport_mt6_check() argument 125 const struct ip6t_ip6 *ip = par->entryinfo; in multiport_mt6_check() [all …]
|
/net/ipv6/netfilter/ |
D | ip6t_REJECT.c | 40 reject_tg6(struct sk_buff *skb, const struct xt_action_param *par) in reject_tg6() argument 42 const struct ip6t_reject_info *reject = par->targinfo; in reject_tg6() 43 struct net *net = dev_net((par->in != NULL) ? par->in : par->out); in reject_tg6() 48 nf_send_unreach6(net, skb, ICMPV6_NOROUTE, par->hooknum); in reject_tg6() 51 nf_send_unreach6(net, skb, ICMPV6_ADM_PROHIBITED, par->hooknum); in reject_tg6() 54 nf_send_unreach6(net, skb, ICMPV6_NOT_NEIGHBOUR, par->hooknum); in reject_tg6() 57 nf_send_unreach6(net, skb, ICMPV6_ADDR_UNREACH, par->hooknum); in reject_tg6() 60 nf_send_unreach6(net, skb, ICMPV6_PORT_UNREACH, par->hooknum); in reject_tg6() 66 nf_send_reset6(net, skb, par->hooknum); in reject_tg6() 76 static int reject_tg6_check(const struct xt_tgchk_param *par) in reject_tg6_check() argument [all …]
|
D | ip6t_mh.c | 35 static bool mh_mt6(const struct sk_buff *skb, struct xt_action_param *par) in mh_mt6() argument 39 const struct ip6t_mh *mhinfo = par->matchinfo; in mh_mt6() 42 if (par->fragoff != 0) in mh_mt6() 45 mh = skb_header_pointer(skb, par->thoff, sizeof(_mh), &_mh); in mh_mt6() 50 par->hotdrop = true; in mh_mt6() 57 par->hotdrop = true; in mh_mt6() 65 static int mh_mt6_check(const struct xt_mtchk_param *par) in mh_mt6_check() argument 67 const struct ip6t_mh *mhinfo = par->matchinfo; in mh_mt6_check()
|
/net/sched/ |
D | act_ipt.c | 35 struct xt_tgchk_param par; in ipt_init_target() local 46 memset(&par, 0, sizeof(par)); in ipt_init_target() 47 par.table = table; in ipt_init_target() 48 par.entryinfo = &e; in ipt_init_target() 49 par.target = target; in ipt_init_target() 50 par.targinfo = t->data; in ipt_init_target() 51 par.hook_mask = hook; in ipt_init_target() 52 par.family = NFPROTO_IPV4; in ipt_init_target() 54 ret = xt_check_target(&par, t->u.target_size - sizeof(*t), 0, false); in ipt_init_target() 64 struct xt_tgdtor_param par = { in ipt_destroy_target() local [all …]
|
/net/bridge/netfilter/ |
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 = dev_net(par->in ? par->in : par->out); 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()
|
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()
|