/Linux-v5.10/net/core/ |
D | dst_cache.c | 27 static void dst_cache_per_cpu_dst_set(struct dst_cache_pcpu *dst_cache, in dst_cache_per_cpu_dst_set() argument 30 dst_release(dst_cache->dst); in dst_cache_per_cpu_dst_set() 34 dst_cache->cookie = cookie; in dst_cache_per_cpu_dst_set() 35 dst_cache->dst = dst; in dst_cache_per_cpu_dst_set() 38 static struct dst_entry *dst_cache_per_cpu_get(struct dst_cache *dst_cache, in dst_cache_per_cpu_get() argument 50 if (unlikely(!time_after(idst->refresh_ts, dst_cache->reset_ts) || in dst_cache_per_cpu_get() 63 struct dst_entry *dst_cache_get(struct dst_cache *dst_cache) in dst_cache_get() argument 65 if (!dst_cache->cache) in dst_cache_get() 68 return dst_cache_per_cpu_get(dst_cache, this_cpu_ptr(dst_cache->cache)); in dst_cache_get() 72 struct rtable *dst_cache_get_ip4(struct dst_cache *dst_cache, __be32 *saddr) in dst_cache_get_ip4() argument [all …]
|
D | Makefile | 32 obj-$(CONFIG_DST_CACHE) += dst_cache.o
|
D | dst.c | 294 dst_cache_destroy(&md_dst->u.tun_info.dst_cache); in metadata_dst_free() 327 dst_cache_destroy(&one_md_dst->u.tun_info.dst_cache); in metadata_dst_free_percpu()
|
/Linux-v5.10/include/net/ |
D | dst_cache.h | 11 struct dst_cache { struct 24 struct dst_entry *dst_cache_get(struct dst_cache *dst_cache); 33 struct rtable *dst_cache_get_ip4(struct dst_cache *dst_cache, __be32 *saddr); 43 void dst_cache_set_ip4(struct dst_cache *dst_cache, struct dst_entry *dst, 56 void dst_cache_set_ip6(struct dst_cache *dst_cache, struct dst_entry *dst, 66 struct dst_entry *dst_cache_get_ip6(struct dst_cache *dst_cache, 77 static inline void dst_cache_reset(struct dst_cache *dst_cache) in dst_cache_reset() argument 79 dst_cache->reset_ts = jiffies; in dst_cache_reset() 87 int dst_cache_init(struct dst_cache *dst_cache, gfp_t gfp); 96 void dst_cache_destroy(struct dst_cache *dst_cache);
|
D | ip6_tunnel.h | 52 struct dst_cache dst_cache; /* cached dst */ member
|
D | ip_tunnels.h | 72 struct dst_cache dst_cache; member 125 struct dst_cache dst_cache; member
|
D | vxlan.h | 207 struct dst_cache dst_cache; member
|
/Linux-v5.10/net/ipv6/ila/ |
D | ila_lwt.c | 21 struct dst_cache dst_cache; member 61 dst = dst_cache_get(&ilwt->dst_cache); in ila_output() 90 dst_cache_set_ip6(&ilwt->dst_cache, dst, &fl6.saddr); in ila_output() 224 ret = dst_cache_init(&ilwt->dst_cache, GFP_ATOMIC); in ila_build_state() 259 dst_cache_destroy(&ila_lwt_lwtunnel(lwt)->dst_cache); in ila_destroy_state()
|
/Linux-v5.10/net/tipc/ |
D | udp_media.c | 80 struct dst_cache dst_cache; member 163 struct udp_media_addr *dst, struct dst_cache *cache) in tipc_udp_xmit() 250 &ub->rcast.dst_cache); in tipc_udp_send_msg() 263 &rcast->dst_cache); in tipc_udp_send_msg() 307 if (dst_cache_init(&rcast->dst_cache, GFP_ATOMIC)) { in tipc_udp_rcast_add() 771 err = dst_cache_init(&ub->rcast.dst_cache, GFP_ATOMIC); in tipc_udp_enable() 790 dst_cache_destroy(&ub->rcast.dst_cache); in tipc_udp_enable() 804 dst_cache_destroy(&rcast->dst_cache); in cleanup_bearer() 809 dst_cache_destroy(&ub->rcast.dst_cache); in cleanup_bearer()
|
/Linux-v5.10/net/ipv4/ |
D | ip_tunnel.c | 308 dst_cache_reset(&tunnel->dst_cache); in ip_tunnel_bind_dev() 575 rt = dst_cache_get_ip4(&tun_info->dst_cache, &fl4.saddr); in ip_md_tunnel_xmit() 583 dst_cache_set_ip4(&tun_info->dst_cache, &rt->dst, in ip_md_tunnel_xmit() 734 rt = dst_cache_get_ip4(&tun_info->dst_cache, in ip_tunnel_xmit() 737 rt = connected ? dst_cache_get_ip4(&tunnel->dst_cache, in ip_tunnel_xmit() 749 dst_cache_set_ip4(&tun_info->dst_cache, &rt->dst, in ip_tunnel_xmit() 752 dst_cache_set_ip4(&tunnel->dst_cache, &rt->dst, in ip_tunnel_xmit() 852 dst_cache_reset(&t->dst_cache); in ip_tunnel_update() 1004 dst_cache_destroy(&tunnel->dst_cache); in ip_tunnel_dev_free() 1223 err = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ip_tunnel_init() [all …]
|
D | route.c | 2791 struct dst_cache *dst_cache; in ip_route_output_tunnel() local 2798 dst_cache = (struct dst_cache *)&info->dst_cache; in ip_route_output_tunnel() 2800 rt = dst_cache_get_ip4(dst_cache, saddr); in ip_route_output_tunnel() 2825 dst_cache_set_ip4(dst_cache, &rt->dst, fl4.saddr); in ip_route_output_tunnel()
|
/Linux-v5.10/drivers/net/ |
D | geneve.c | 322 err = dst_cache_init(&geneve->cfg.info.dst_cache, GFP_KERNEL); in geneve_init() 335 dst_cache_destroy(&geneve->cfg.info.dst_cache); in geneve_uninit() 779 struct dst_cache *dst_cache; in geneve_get_v4_rt() local 801 dst_cache = (struct dst_cache *)&info->dst_cache; in geneve_get_v4_rt() 803 rt = dst_cache_get_ip4(dst_cache, &fl4->saddr); in geneve_get_v4_rt() 818 dst_cache_set_ip4(dst_cache, &rt->dst, fl4->saddr); in geneve_get_v4_rt() 833 struct dst_cache *dst_cache; in geneve_get_v6_dst() local 855 dst_cache = (struct dst_cache *)&info->dst_cache; in geneve_get_v6_dst() 857 dst = dst_cache_get_ip6(dst_cache, &fl6->saddr); in geneve_get_v6_dst() 874 dst_cache_set_ip6(dst_cache, dst, &fl6->saddr); in geneve_get_v6_dst() [all …]
|
D | vxlan.c | 691 dst_cache_reset(&rd->dst_cache); in vxlan_fdb_replace() 715 if (dst_cache_init(&rd->dst_cache, GFP_ATOMIC)) { in vxlan_fdb_append() 970 dst_cache_destroy(&rd->dst_cache); in __vxlan_fdb_free() 1010 dst_cache_destroy(&rd->dst_cache); in vxlan_dst_free() 2394 struct dst_cache *dst_cache, in vxlan_get_route() argument 2407 rt = dst_cache_get_ip4(dst_cache, saddr); in vxlan_get_route() 2432 dst_cache_set_ip4(dst_cache, &rt->dst, fl4.saddr); in vxlan_get_route() 2449 struct dst_cache *dst_cache, in vxlan6_get_route() argument 2462 ndst = dst_cache_get_ip6(dst_cache, saddr); in vxlan6_get_route() 2492 dst_cache_set_ip6(dst_cache, ndst, saddr); in vxlan6_get_route() [all …]
|
/Linux-v5.10/net/netfilter/ |
D | nf_flow_table_offload.c | 212 const struct dst_entry *dst_cache; in flow_offload_eth_dst() local 219 dst_cache = flow->tuplehash[dir].tuple.dst_cache; in flow_offload_eth_dst() 220 n = dst_neigh_lookup(dst_cache, daddr); in flow_offload_eth_dst() 473 rt = (struct rtable *)flow->tuplehash[dir].tuple.dst_cache; in flow_offload_redirect() 486 dst = flow->tuplehash[dir].tuple.dst_cache; in flow_offload_encap_tunnel() 506 dst = flow->tuplehash[!dir].tuple.dst_cache; in flow_offload_decap_tunnel() 600 other_dst = flow->tuplehash[!dir].tuple.dst_cache; in nf_flow_offload_rule_alloc()
|
D | nf_flow_table_core.c | 98 flow_tuple->dst_cache = dst; in flow_offload_fill_route() 172 dst_release(flow->tuplehash[FLOW_OFFLOAD_DIR_ORIGINAL].tuple.dst_cache); in flow_offload_route_release() 173 dst_release(flow->tuplehash[FLOW_OFFLOAD_DIR_REPLY].tuple.dst_cache); in flow_offload_route_release()
|
D | nf_flow_table_ip.c | 268 rt = (struct rtable *)flow->tuplehash[dir].tuple.dst_cache; in nf_flow_offload_ip_hook() 509 rt = (struct rt6_info *)flow->tuplehash[dir].tuple.dst_cache; in nf_flow_offload_ipv6_hook()
|
/Linux-v5.10/drivers/net/wireguard/ |
D | peer.h | 44 struct dst_cache endpoint_cache;
|
D | socket.c | 21 struct endpoint *endpoint, u8 ds, struct dst_cache *cache) in send4() 98 struct endpoint *endpoint, u8 ds, struct dst_cache *cache) in send6()
|
/Linux-v5.10/net/ipv6/ |
D | sit.c | 479 dst_cache_reset(&t->dst_cache); in ipip6_tunnel_prl_ctl() 522 dst_cache_reset(&tunnel->dst_cache); in ipip6_tunnel_uninit() 944 rt = dst_cache_get_ip4(&tunnel->dst_cache, &fl4.saddr); in ipip6_tunnel_xmit() 951 dst_cache_set_ip4(&tunnel->dst_cache, &rt->dst, fl4.saddr); in ipip6_tunnel_xmit() 1158 dst_cache_reset(&t->dst_cache); in ipip6_tunnel_update() 1189 dst_cache_reset(&t->dst_cache); in ipip6_tunnel_update_6rd() 1407 dst_cache_destroy(&tunnel->dst_cache); in ipip6_dev_free() 1453 err = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ipip6_tunnel_init()
|
D | ip6_output.c | 1227 struct dst_cache *dst_cache; in ip6_dst_lookup_tunnel() local 1233 dst_cache = (struct dst_cache *)&info->dst_cache; in ip6_dst_lookup_tunnel() 1235 dst = dst_cache_get_ip6(dst_cache, saddr); in ip6_dst_lookup_tunnel() 1262 dst_cache_set_ip6(dst_cache, dst, &fl6.saddr); in ip6_dst_lookup_tunnel()
|
D | ip6_gre.c | 406 dst_cache_reset(&t->dst_cache); in ip6erspan_tunnel_uninit() 419 dst_cache_reset(&t->dst_cache); in ip6gre_tunnel_uninit() 1202 dst_cache_reset(&t->dst_cache); in ip6gre_tnl_copy_tnl_parm() 1413 dst_cache_destroy(&t->dst_cache); in ip6gre_dev_free() 1479 ret = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ip6gre_tunnel_init_common() 1502 dst_cache_destroy(&tunnel->dst_cache); in ip6gre_tunnel_init_common() 1874 ret = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ip6erspan_tap_init() 1895 dst_cache_destroy(&tunnel->dst_cache); in ip6erspan_tap_init()
|
D | ip6_tunnel.c | 276 dst_cache_destroy(&t->dst_cache); in ip6_dev_free() 413 dst_cache_reset(&t->dst_cache); in ip6_tnl_dev_uninit() 1166 dst = dst_cache_get(&t->dst_cache); in ip6_tnl_xmit() 1253 dst_cache_set_ip6(&t->dst_cache, ndst, &fl6->saddr); in ip6_tnl_xmit() 1559 dst_cache_reset(&t->dst_cache); in ip6_tnl_change() 1896 ret = dst_cache_init(&t->dst_cache, GFP_KERNEL); in ip6_tnl_dev_init_gen() 1919 dst_cache_destroy(&t->dst_cache); in ip6_tnl_dev_init_gen()
|
D | rpl_iptunnel.c | 20 struct dst_cache cache;
|
/Linux-v5.10/include/net/netfilter/ |
D | nf_flow_table.h | 114 struct dst_entry *dst_cache; member
|
/Linux-v5.10/net/netfilter/ipvs/ |
D | ip_vs_xmit.c | 82 dest_dst->dst_cache = dst; in __ip_vs_dst_set() 99 dst = dest_dst->dst_cache; in __ip_vs_dst_check() 321 rt = (struct rtable *) dest_dst->dst_cache; in __ip_vs_get_out_rt() 484 rt = (struct rt6_info *) dest_dst->dst_cache; in __ip_vs_get_out_rt_v6()
|