/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, xt_family(par), 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_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 (xt_hooknum(par) == NF_INET_PRE_ROUTING || in netmap_tg6() 37 xt_hooknum(par) == NF_INET_LOCAL_OUT) in netmap_tg6() 54 return nf_nat_setup_info(ct, &newrange, HOOK2MANIP(xt_hooknum(par))); 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() 63 return nf_ct_netns_get(par->net, par->family); in netmap_tg6_checkentry() 66 static void netmap_tg_destroy(const struct xt_tgdtor_param *par) in netmap_tg_destroy() argument 68 nf_ct_netns_put(par->net, par->family); in netmap_tg_destroy() [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, xt_hooknum(par)); 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() 44 return nf_ct_netns_get(par->net, par->family); in redirect_tg6_checkentry() 47 static void redirect_tg_destroy(const struct xt_tgdtor_param *par) in redirect_tg_destroy() argument 49 nf_ct_netns_put(par->net, par->family); in redirect_tg_destroy() 53 static int redirect_tg4_check(const struct xt_tgchk_param *par) in redirect_tg4_check() argument 55 const struct nf_nat_ipv4_multi_range_compat *mr = par->targinfo; in redirect_tg4_check() 65 return nf_ct_netns_get(par->net, par->family); in redirect_tg4_check() [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_netns_get(par->net, 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_netns_put(par->net, 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_socket.c | 53 socket_match(const struct sk_buff *skb, struct xt_action_param *par, in socket_match() argument 60 sk = nf_sk_lookup_slow_v4(xt_net(par), skb, xt_in(par)); in socket_match() 92 socket_mt4_v0(const struct sk_buff *skb, struct xt_action_param *par) in socket_mt4_v0() argument 98 return socket_match(skb, par, &xt_info_v0); in socket_mt4_v0() 102 socket_mt4_v1_v2_v3(const struct sk_buff *skb, struct xt_action_param *par) in socket_mt4_v1_v2_v3() argument 104 return socket_match(skb, par, par->matchinfo); in socket_mt4_v1_v2_v3() 109 socket_mt6_v1_v2_v3(const struct sk_buff *skb, struct xt_action_param *par) in socket_mt6_v1_v2_v3() argument 111 const struct xt_socket_mtinfo1 *info = (struct xt_socket_mtinfo1 *) par->matchinfo; in socket_mt6_v1_v2_v3() 116 sk = nf_sk_lookup_slow_v6(xt_net(par), skb, xt_in(par)); in socket_mt6_v1_v2_v3() 163 static int socket_mt_v1_check(const struct xt_mtchk_param *par) in socket_mt_v1_check() argument [all …]
|
D | xt_nat.c | 17 static int xt_nat_checkentry_v0(const struct xt_tgchk_param *par) in xt_nat_checkentry_v0() argument 19 const struct nf_nat_ipv4_multi_range_compat *mr = par->targinfo; in xt_nat_checkentry_v0() 23 par->target->name); in xt_nat_checkentry_v0() 26 return nf_ct_netns_get(par->net, par->family); in xt_nat_checkentry_v0() 29 static int xt_nat_checkentry(const struct xt_tgchk_param *par) in xt_nat_checkentry() argument 31 return nf_ct_netns_get(par->net, par->family); in xt_nat_checkentry() 34 static void xt_nat_destroy(const struct xt_tgdtor_param *par) in xt_nat_destroy() argument 36 nf_ct_netns_put(par->net, par->family); in xt_nat_destroy() 53 xt_snat_target_v0(struct sk_buff *skb, const struct xt_action_param *par) in xt_snat_target_v0() argument 55 const struct nf_nat_ipv4_multi_range_compat *mr = par->targinfo; in xt_snat_target_v0() [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() 35 struct net *net = xt_net(par); in log_tg() 42 nf_log_packet(net, xt_family(par), xt_hooknum(par), skb, xt_in(par), in log_tg() 43 xt_out(par), &li, "%s", loginfo->prefix); 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 [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_netns_get(par->net, 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_netns_put(par->net, 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_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_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_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 xt_family(par), 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_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() 69 static int cgroup_mt_check_v2(const struct xt_mtchk_param *par) in cgroup_mt_check_v2() argument 71 struct xt_cgroup_info_v2 *info = par->matchinfo; in cgroup_mt_check_v2() 102 cgroup_mt_v0(const struct sk_buff *skb, struct xt_action_param *par) in cgroup_mt_v0() argument 104 const struct xt_cgroup_info_v0 *info = par->matchinfo; in cgroup_mt_v0() 113 static bool cgroup_mt_v1(const struct sk_buff *skb, struct xt_action_param *par) in cgroup_mt_v1() argument 115 const struct xt_cgroup_info_v1 *info = par->matchinfo; in cgroup_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_netns_get(par->net, 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_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_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() 202 if (conntrack_mt_origsrc(ct, info, xt_family(par)) ^ in conntrack_mt() 207 if (conntrack_mt_origdst(ct, info, xt_family(par)) ^ in conntrack_mt() 212 if (conntrack_mt_replsrc(ct, info, xt_family(par)) ^ in conntrack_mt() 217 if (conntrack_mt_repldst(ct, info, xt_family(par)) ^ in conntrack_mt() 221 if (par->match->revision != 3) { in conntrack_mt() 225 if (!ct_proto_port_check_v3(par->matchinfo, ct)) in conntrack_mt() 246 conntrack_mt_v1(const struct sk_buff *skb, struct xt_action_param *par) in conntrack_mt_v1() argument 248 const struct xt_conntrack_mtinfo1 *info = par->matchinfo; in conntrack_mt_v1() [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_helper.c | 27 helper_mt(const struct sk_buff *skb, struct xt_action_param *par) in helper_mt() argument 29 const struct xt_helper_info *info = par->matchinfo; in helper_mt() 57 static int helper_mt_check(const struct xt_mtchk_param *par) in helper_mt_check() argument 59 struct xt_helper_info *info = par->matchinfo; in helper_mt_check() 62 ret = nf_ct_netns_get(par->net, par->family); in helper_mt_check() 65 par->family); in helper_mt_check() 72 static void helper_mt_destroy(const struct xt_mtdtor_param *par) in helper_mt_destroy() argument 74 nf_ct_netns_put(par->net, par->family); in helper_mt_destroy()
|
D | xt_TCPMSS.c | 78 const struct xt_action_param *par, in tcpmss_mangle_packet() argument 83 const struct xt_tcpmss_info *info = par->targinfo; in tcpmss_mangle_packet() 92 if (par->fragoff != 0) in tcpmss_mangle_packet() 109 struct net *net = xt_net(par); in tcpmss_mangle_packet() 177 if (xt_family(par) == NFPROTO_IPV4) in tcpmss_mangle_packet() 202 tcpmss_tg4(struct sk_buff *skb, const struct xt_action_param *par) in tcpmss_tg4() argument 208 ret = tcpmss_mangle_packet(skb, par, in tcpmss_tg4() 225 tcpmss_tg6(struct sk_buff *skb, const struct xt_action_param *par) in tcpmss_tg6() argument 237 ret = tcpmss_mangle_packet(skb, par, in tcpmss_tg6() 269 static int tcpmss_tg4_check(const struct xt_tgchk_param *par) in tcpmss_tg4_check() argument [all …]
|
D | xt_state.c | 24 state_mt(const struct sk_buff *skb, struct xt_action_param *par) in state_mt() argument 26 const struct xt_state_info *sinfo = par->matchinfo; in state_mt() 41 static int state_mt_check(const struct xt_mtchk_param *par) in state_mt_check() argument 45 ret = nf_ct_netns_get(par->net, par->family); in state_mt_check() 48 par->family); in state_mt_check() 52 static void state_mt_destroy(const struct xt_mtdtor_param *par) in state_mt_destroy() argument 54 nf_ct_netns_put(par->net, par->family); in state_mt_destroy()
|
D | nft_compat.c | 82 nft_compat_set_par(struct xt_action_param *par, void *xt, const void *xt_info) in nft_compat_set_par() argument 84 par->target = xt; in nft_compat_set_par() 85 par->targinfo = xt_info; in nft_compat_set_par() 86 par->hotdrop = false; in nft_compat_set_par() 157 nft_target_set_tgchk_param(struct xt_tgchk_param *par, in nft_target_set_tgchk_param() argument 162 par->net = ctx->net; in nft_target_set_tgchk_param() 163 par->table = ctx->table->name; in nft_target_set_tgchk_param() 183 par->entryinfo = entry; in nft_target_set_tgchk_param() 184 par->target = target; in nft_target_set_tgchk_param() 185 par->targinfo = info; in nft_target_set_tgchk_param() [all …]
|
/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 = xt_net(par); in reject_tg6() 46 nf_send_unreach6(net, skb, ICMPV6_NOROUTE, xt_hooknum(par)); in reject_tg6() 50 xt_hooknum(par)); in reject_tg6() 54 xt_hooknum(par)); in reject_tg6() 58 xt_hooknum(par)); in reject_tg6() 62 xt_hooknum(par)); in reject_tg6() 68 nf_send_reset6(net, skb, xt_hooknum(par)); in reject_tg6() 71 nf_send_unreach6(net, skb, ICMPV6_POLICY_FAIL, xt_hooknum(par)); in reject_tg6() [all …]
|
/net/ipv4/netfilter/ |
D | ipt_MASQUERADE.c | 32 static int masquerade_tg_check(const struct xt_tgchk_param *par) in masquerade_tg_check() argument 34 const struct nf_nat_ipv4_multi_range_compat *mr = par->targinfo; in masquerade_tg_check() 44 return nf_ct_netns_get(par->net, par->family); in masquerade_tg_check() 48 masquerade_tg(struct sk_buff *skb, const struct xt_action_param *par) in masquerade_tg() argument 53 mr = par->targinfo; in masquerade_tg() 58 return nf_nat_masquerade_ipv4(skb, xt_hooknum(par), &range, in masquerade_tg() 59 xt_out(par)); in masquerade_tg() 62 static void masquerade_tg_destroy(const struct xt_tgdtor_param *par) in masquerade_tg_destroy() argument 64 nf_ct_netns_put(par->net, par->family); in masquerade_tg_destroy()
|
/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 (xt_hooknum(par) != NF_BR_BROUTING) in ebt_redirect_tg() 29 br_port_get_rcu(xt_in(par))->br->dev->dev_addr); in ebt_redirect_tg() 31 ether_addr_copy(eth_hdr(skb)->h_dest, xt_in(par)->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_dnat.c | 19 ebt_dnat_tg(struct sk_buff *skb, const struct xt_action_param *par) in ebt_dnat_tg() argument 21 const struct ebt_nat_info *info = par->targinfo; in ebt_dnat_tg() 36 switch (xt_hooknum(par)) { in ebt_dnat_tg() 38 dev = xt_in(par); in ebt_dnat_tg() 41 dev = br_port_get_rcu(xt_in(par))->br->dev; in ebt_dnat_tg() 60 static int ebt_dnat_tg_check(const struct xt_tgchk_param *par) in ebt_dnat_tg_check() argument 62 const struct ebt_nat_info *info = par->targinfo; in ebt_dnat_tg_check() 68 hook_mask = par->hook_mask & ~(1 << NF_BR_NUMHOOKS); in ebt_dnat_tg_check() 69 if ((strcmp(par->table, "nat") != 0 || in ebt_dnat_tg_check() 72 (strcmp(par->table, "broute") != 0 || in ebt_dnat_tg_check()
|