Home
last modified time | relevance | path

Searched refs:tuplehash (Results 1 – 25 of 51) sorted by relevance

123

/linux-6.14.4/net/netfilter/
Dnf_flow_table_ip.c89 new_addr = flow->tuplehash[FLOW_OFFLOAD_DIR_REPLY].tuple.dst_v4.s_addr; in nf_flow_snat_ip()
94 new_addr = flow->tuplehash[FLOW_OFFLOAD_DIR_ORIGINAL].tuple.src_v4.s_addr; in nf_flow_snat_ip()
112 new_addr = flow->tuplehash[FLOW_OFFLOAD_DIR_REPLY].tuple.src_v4.s_addr; in nf_flow_dnat_ip()
117 new_addr = flow->tuplehash[FLOW_OFFLOAD_DIR_ORIGINAL].tuple.dst_v4.s_addr; in nf_flow_dnat_ip()
310 struct flow_offload_tuple_rhash *tuplehash) in nf_flow_encap_pop() argument
315 for (i = 0; i < tuplehash->tuple.encap_num; i++) { in nf_flow_encap_pop()
337 const struct flow_offload_tuple_rhash *tuplehash, in nf_flow_queue_xmit() argument
342 outdev = dev_get_by_index_rcu(net, tuplehash->tuple.out.ifidx); in nf_flow_queue_xmit()
347 dev_hard_header(skb, skb->dev, type, tuplehash->tuple.out.h_dest, in nf_flow_queue_xmit()
348 tuplehash->tuple.out.h_source, skb->len); in nf_flow_queue_xmit()
[all …]
Dnf_flow_table_bpf.c39 struct flow_offload_tuple_rhash *tuplehash; in bpf_xdp_flow_tuple_lookup() local
47 tuplehash = flow_offload_lookup(nf_flow_table, tuple); in bpf_xdp_flow_tuple_lookup()
48 if (!tuplehash) in bpf_xdp_flow_tuple_lookup()
51 nf_flow = container_of(tuplehash, struct flow_offload, in bpf_xdp_flow_tuple_lookup()
52 tuplehash[tuplehash->tuple.dir]); in bpf_xdp_flow_tuple_lookup()
55 return tuplehash; in bpf_xdp_flow_tuple_lookup()
70 struct flow_offload_tuple_rhash *tuplehash; in bpf_xdp_flow_lookup() local
94 tuplehash = bpf_xdp_flow_tuple_lookup(xdp->rxq->dev, &tuple, proto); in bpf_xdp_flow_lookup()
95 if (IS_ERR(tuplehash)) { in bpf_xdp_flow_lookup()
96 opts->error = PTR_ERR(tuplehash); in bpf_xdp_flow_lookup()
[all …]
Dnf_flow_table_core.c24 struct flow_offload_tuple *ft = &flow->tuplehash[dir].tuple; in flow_offload_fill_dir()
25 struct nf_conntrack_tuple *ctt = &flow->ct->tuplehash[dir].tuple; in flow_offload_fill_dir()
100 struct flow_offload_tuple *flow_tuple = &flow->tuplehash[dir].tuple; in flow_offload_fill_route()
150 if (flow->tuplehash[dir].tuple.xmit_type == FLOW_OFFLOAD_XMIT_NEIGH || in nft_flow_dst_release()
151 flow->tuplehash[dir].tuple.xmit_type == FLOW_OFFLOAD_XMIT_XFRM) in nft_flow_dst_release()
152 dst_release(flow->tuplehash[dir].tuple.dst_cache); in nft_flow_dst_release()
275 const struct flow_offload_tuple_rhash *tuplehash = data; in flow_offload_hash_obj() local
277 return jhash(&tuplehash->tuple, offsetof(struct flow_offload_tuple, __hash), seed); in flow_offload_hash_obj()
326 &flow->tuplehash[0].node, in flow_offload_add()
332 &flow->tuplehash[1].node, in flow_offload_add()
[all …]
Dnf_nat_sip.c107 if (nf_inet_addr_cmp(&ct->tuplehash[dir].tuple.src.u3, addr) && in map_addr()
108 ct->tuplehash[dir].tuple.src.u.udp.port == port) { in map_addr()
109 newaddr = ct->tuplehash[!dir].tuple.dst.u3; in map_addr()
110 newport = ct->tuplehash[!dir].tuple.dst.u.udp.port; in map_addr()
111 } else if (nf_inet_addr_cmp(&ct->tuplehash[dir].tuple.dst.u3, addr) && in map_addr()
112 ct->tuplehash[dir].tuple.dst.u.udp.port == port) { in map_addr()
113 newaddr = ct->tuplehash[!dir].tuple.src.u3; in map_addr()
115 ct->tuplehash[!dir].tuple.src.u.udp.port; in map_addr()
189 &ct->tuplehash[dir].tuple.src.u3) || in nf_nat_sip()
190 port != ct->tuplehash[dir].tuple.src.u.udp.port) in nf_nat_sip()
[all …]
Dnf_conntrack_h323_main.c222 memcmp(&addr, &ct->tuplehash[dir].tuple.src.u3, sizeof(addr)) || in expect_rtp_rtcp()
234 &ct->tuplehash[!dir].tuple.src.u3, in expect_rtp_rtcp()
235 &ct->tuplehash[!dir].tuple.dst.u3, in expect_rtp_rtcp()
244 &ct->tuplehash[!dir].tuple.src.u3, in expect_rtp_rtcp()
245 &ct->tuplehash[!dir].tuple.dst.u3, in expect_rtp_rtcp()
249 if (memcmp(&ct->tuplehash[dir].tuple.src.u3, in expect_rtp_rtcp()
250 &ct->tuplehash[!dir].tuple.dst.u3, in expect_rtp_rtcp()
251 sizeof(ct->tuplehash[dir].tuple.src.u3)) && in expect_rtp_rtcp()
295 memcmp(&addr, &ct->tuplehash[dir].tuple.src.u3, sizeof(addr)) || in expect_t120()
303 &ct->tuplehash[!dir].tuple.src.u3, in expect_t120()
[all …]
Dnf_nat_proto.c426 nf_ct_invert_tuple(&target, &ct->tuplehash[!dir].tuple); in nf_nat_manip_pkt()
602 &ct->tuplehash[!dir].tuple, !manip)) in nf_nat_icmp_reply_translation()
615 nf_ct_invert_tuple(&target, &ct->tuplehash[!dir].tuple); in nf_nat_icmp_reply_translation()
722 return ct->tuplehash[!dir].tuple.dst.u.all != sport; in nf_nat_inet_port_was_mangled()
777 if (ct->tuplehash[dir].tuple.src.u3.ip != in nf_nat_ipv4_out()
778 ct->tuplehash[!dir].tuple.dst.u3.ip || in nf_nat_ipv4_out()
779 (ct->tuplehash[dir].tuple.dst.protonum != IPPROTO_ICMP && in nf_nat_ipv4_out()
780 ct->tuplehash[dir].tuple.src.u.all != in nf_nat_ipv4_out()
781 ct->tuplehash[!dir].tuple.dst.u.all)) { in nf_nat_ipv4_out()
808 if (ct->tuplehash[dir].tuple.dst.u3.ip != in nf_nat_ipv4_local_fn()
[all …]
Dnf_flow_table_offload.c236 this_tuple = &flow->tuplehash[dir].tuple; in flow_offload_eth_src()
243 other_tuple = &flow->tuplehash[!dir].tuple; in flow_offload_eth_src()
286 this_tuple = &flow->tuplehash[dir].tuple; in flow_offload_eth_dst()
293 other_tuple = &flow->tuplehash[!dir].tuple; in flow_offload_eth_dst()
339 addr = flow->tuplehash[FLOW_OFFLOAD_DIR_REPLY].tuple.dst_v4.s_addr; in flow_offload_ipv4_snat()
343 addr = flow->tuplehash[FLOW_OFFLOAD_DIR_ORIGINAL].tuple.src_v4.s_addr; in flow_offload_ipv4_snat()
366 addr = flow->tuplehash[FLOW_OFFLOAD_DIR_REPLY].tuple.src_v4.s_addr; in flow_offload_ipv4_dnat()
370 addr = flow->tuplehash[FLOW_OFFLOAD_DIR_ORIGINAL].tuple.dst_v4.s_addr; in flow_offload_ipv4_dnat()
406 addr = flow->tuplehash[FLOW_OFFLOAD_DIR_REPLY].tuple.dst_v6.s6_addr32; in flow_offload_ipv6_snat()
410 addr = flow->tuplehash[FLOW_OFFLOAD_DIR_ORIGINAL].tuple.src_v6.s6_addr32; in flow_offload_ipv6_snat()
[all …]
Dxt_conntrack.c44 return conntrack_addrcmp(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u3, in conntrack_mt_origsrc()
53 return conntrack_addrcmp(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.u3, in conntrack_mt_origdst()
62 return conntrack_addrcmp(&ct->tuplehash[IP_CT_DIR_REPLY].tuple.src.u3, in conntrack_mt_replsrc()
71 return conntrack_addrcmp(&ct->tuplehash[IP_CT_DIR_REPLY].tuple.dst.u3, in conntrack_mt_repldst()
81 tuple = &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple; in ct_proto_port_check()
98 tuple = &ct->tuplehash[IP_CT_DIR_REPLY].tuple; in ct_proto_port_check()
125 tuple = &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple; in ct_proto_port_check_v3()
144 tuple = &ct->tuplehash[IP_CT_DIR_REPLY].tuple; in ct_proto_port_check_v3()
Dnf_conntrack_core.c497 d = (unsigned long)siphash(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple, in nf_ct_get_id()
498 sizeof(ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple), in nf_ct_get_id()
511 hlist_nulls_del_rcu(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnnode); in clean_from_lists()
512 hlist_nulls_del_rcu(&ct->tuplehash[IP_CT_DIR_REPLY].hnnode); in clean_from_lists()
611 &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple, in __nf_ct_delete_from_lists()
614 &ct->tuplehash[IP_CT_DIR_REPLY].tuple, in __nf_ct_delete_from_lists()
638 hlist_nulls_add_head_rcu(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnnode, in nf_ct_add_to_ecache_list()
705 return nf_ct_tuple_equal(&ct1->tuplehash[IP_CT_DIR_ORIGINAL].tuple, in nf_ct_match()
706 &ct2->tuplehash[IP_CT_DIR_ORIGINAL].tuple) && in nf_ct_match()
707 nf_ct_tuple_equal(&ct1->tuplehash[IP_CT_DIR_REPLY].tuple, in nf_ct_match()
[all …]
Dnf_conntrack_tftp.c61 nf_ct_dump_tuple(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple); in tftp_help()
62 nf_ct_dump_tuple(&ct->tuplehash[IP_CT_DIR_REPLY].tuple); in tftp_help()
69 tuple = &ct->tuplehash[IP_CT_DIR_REPLY].tuple; in tftp_help()
Dnf_conntrack_proto_icmp.c89 if (ct->tuplehash[0].tuple.dst.u.icmp.type >= sizeof(valid_new) || in nf_conntrack_icmp_packet()
90 !valid_new[ct->tuplehash[0].tuple.dst.u.icmp.type]) { in nf_conntrack_icmp_packet()
93 ct->tuplehash[0].tuple.dst.u.icmp.type); in nf_conntrack_icmp_packet()
94 nf_ct_dump_tuple_ip(&ct->tuplehash[0].tuple); in nf_conntrack_icmp_packet()
170 ct_daddr = &ct->tuplehash[dir].tuple.dst.u3; in nf_conntrack_inet_error()
Dnf_nat_core.c64 const struct nf_conntrack_tuple *t = &ct->tuplehash[dir].tuple; in nf_nat_ipv4_decode_session()
97 const struct nf_conntrack_tuple *t = &ct->tuplehash[dir].tuple; in nf_nat_ipv6_decode_session()
307 if (nf_ct_tuple_equal(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple, in nf_nat_used_tuple_new()
308 &ignored_ct->tuplehash[IP_CT_DIR_REPLY].tuple) && in nf_nat_used_tuple_new()
309 nf_ct_tuple_equal(&ct->tuplehash[IP_CT_DIR_REPLY].tuple, in nf_nat_used_tuple_new()
310 &ignored_ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple)) { in nf_nat_used_tuple_new()
469 t = &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple; in same_src()
492 &ct->tuplehash[IP_CT_DIR_REPLY].tuple); in find_appropriate_src()
806 &ct->tuplehash[IP_CT_DIR_REPLY].tuple); in nf_nat_setup_info()
833 &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple); in nf_nat_setup_info()
[all …]
Dnf_conntrack_ftp.c442 memcpy(cmd.u3.all, &ct->tuplehash[dir].tuple.src.u3.all, in help()
484 daddr = &ct->tuplehash[!dir].tuple.dst.u3; in help()
488 memcmp(&cmd.u3.all, &ct->tuplehash[dir].tuple.src.u3.all, in help()
497 &ct->tuplehash[dir].tuple.src.u3.ip); in help()
501 ct->tuplehash[dir].tuple.src.u3.ip6); in help()
516 &ct->tuplehash[!dir].tuple.src.u3, daddr, in help()
Dnft_flow_offload.c55 const void *daddr = &ct->tuplehash[!dir].tuple.src.u3; in nft_dev_fill_forward_path()
235 fl.u.ip4.daddr = ct->tuplehash[dir].tuple.src.u3.ip; in nft_flow_route()
236 fl.u.ip4.saddr = ct->tuplehash[!dir].tuple.src.u3.ip; in nft_flow_route()
244 fl.u.ip6.daddr = ct->tuplehash[dir].tuple.src.u3.in6; in nft_flow_route()
245 fl.u.ip6.saddr = ct->tuplehash[!dir].tuple.src.u3.in6; in nft_flow_route()
322 switch (ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.protonum) { in nft_flow_offload_eval()
338 tuple = &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple; in nft_flow_offload_eval()
Dnf_conntrack_pptp.c170 memcpy(&t, &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple, sizeof(t)); in pptp_destroy_siblings()
178 memcpy(&t, &ct->tuplehash[IP_CT_DIR_REPLY].tuple, sizeof(t)); in pptp_destroy_siblings()
206 &ct->tuplehash[dir].tuple.src.u3, in exp_gre()
207 &ct->tuplehash[dir].tuple.dst.u3, in exp_gre()
215 &ct->tuplehash[dir].tuple.src.u3, in exp_gre()
216 &ct->tuplehash[dir].tuple.dst.u3, in exp_gre()
Dnf_conntrack_irc.c218 tuple = &ct->tuplehash[dir].tuple; in help()
220 ct->tuplehash[!dir].tuple.dst.u3.ip != dcc_ip) || in help()
235 tuple = &ct->tuplehash[!dir].tuple; in help()
Dxt_cluster.c18 return (__force u32)ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u3.ip; in nf_ct_orig_ipv4_src()
23 return (__force u32 *)ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u3.ip6; in nf_ct_orig_ipv6_src()
/linux-6.14.4/net/ipv4/netfilter/
Dnf_nat_h323.c105 if (addr.ip == ct->tuplehash[dir].tuple.src.u3.ip && in set_sig_addr()
118 &ct->tuplehash[!dir].tuple.dst.u3.ip, in set_sig_addr()
122 &ct->tuplehash[!dir]. in set_sig_addr()
125 } else if (addr.ip == ct->tuplehash[dir].tuple.dst.u3.ip && in set_sig_addr()
130 &ct->tuplehash[!dir].tuple.src.u3.ip, in set_sig_addr()
134 &ct->tuplehash[!dir]. in set_sig_addr()
157 addr.ip == ct->tuplehash[dir].tuple.src.u3.ip && in set_ras_addr()
158 port == ct->tuplehash[dir].tuple.src.u.udp.port) { in set_ras_addr()
161 &ct->tuplehash[!dir].tuple.dst.u3.ip, in set_ras_addr()
162 ntohs(ct->tuplehash[!dir].tuple.dst.u.udp.port)); in set_ras_addr()
[all …]
Dnf_nat_pptp.c67 t.src.u3.ip = master->tuplehash[!exp->dir].tuple.src.u3.ip; in pptp_nat_expected()
69 t.dst.u3.ip = master->tuplehash[!exp->dir].tuple.dst.u3.ip; in pptp_nat_expected()
76 t.src.u3.ip = master->tuplehash[!exp->dir].tuple.src.u3.ip; in pptp_nat_expected()
78 t.dst.u3.ip = master->tuplehash[!exp->dir].tuple.dst.u3.ip; in pptp_nat_expected()
100 = ct->master->tuplehash[!exp->dir].tuple.dst.u3; in pptp_nat_expected()
110 = ct->master->tuplehash[!exp->dir].tuple.src.u3; in pptp_nat_expected()
156 new_callid = ct->tuplehash[IP_CT_DIR_REPLY].tuple.dst.u.tcp.port; in pptp_outbound_pkt()
Dnf_nat_snmp_basic_main.c136 ctx.from = ct->tuplehash[dir].tuple.src.u3.ip; in snmp_translate()
137 ctx.to = ct->tuplehash[!dir].tuple.dst.u3.ip; in snmp_translate()
139 ctx.from = ct->tuplehash[!dir].tuple.src.u3.ip; in snmp_translate()
140 ctx.to = ct->tuplehash[dir].tuple.dst.u3.ip; in snmp_translate()
Dnf_socket_ipv4.c139 daddr = ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u3.ip; in nf_sk_lookup_slow_v4()
141 ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u.tcp.port : in nf_sk_lookup_slow_v4()
142 ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u.udp.port; in nf_sk_lookup_slow_v4()
/linux-6.14.4/include/net/netfilter/
Dnf_conntrack.h97 struct nf_conntrack_tuple_hash tuplehash[IP_CT_DIR_MAX]; member
138 tuplehash[hash->tuple.dst.dir]); in nf_ct_tuplehash_to_ctrack()
143 return ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.l3num; in nf_ct_l3num()
148 return ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.protonum; in nf_ct_protonum()
151 #define nf_ct_tuple(ct, dir) (&(ct)->tuplehash[dir].tuple)
288 ct->tuplehash[IP_CT_DIR_REPLY].tuple = *newreply; in nf_conntrack_alter_reply()
/linux-6.14.4/net/netfilter/ipvs/
Dip_vs_nfct.c104 new_tuple = ct->tuplehash[IP_CT_DIR_REPLY].tuple; in ip_vs_update_conntrack()
122 ARG_TUPLE(&ct->tuplehash[IP_CT_DIR_REPLY].tuple)); in ip_vs_update_conntrack()
157 orig = &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple; in ip_vs_nfct_expect_callback()
167 new_reply = ct->tuplehash[IP_CT_DIR_REPLY].tuple; in ip_vs_nfct_expect_callback()
183 new_reply = ct->tuplehash[IP_CT_DIR_REPLY].tuple; in ip_vs_nfct_expect_callback()
/linux-6.14.4/tools/testing/selftests/bpf/progs/
Dxdp_flowtable.c70 struct flow_offload_tuple_rhash *tuplehash; in xdp_flowtable_do_lookup() local
137 tuplehash = bpf_xdp_flow_lookup(ctx, &tuple, &opts, sizeof(opts)); in xdp_flowtable_do_lookup()
138 if (!tuplehash) in xdp_flowtable_do_lookup()
/linux-6.14.4/net/ipv6/netfilter/
Dnf_socket_ipv6.c155 daddr = &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u3.in6; in nf_sk_lookup_slow_v6()
157 ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u.tcp.port : in nf_sk_lookup_slow_v6()
158 ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u.udp.port; in nf_sk_lookup_slow_v6()

123