Home
last modified time | relevance | path

Searched refs:dst_cache (Results 1 – 25 of 37) sorted by relevance

12

/linux-5.19.10/net/core/
Ddst_cache.c27 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 …]
DMakefile33 obj-$(CONFIG_DST_CACHE) += dst_cache.o
Ddst.c317 dst_cache_destroy(&md_dst->u.tun_info.dst_cache); in metadata_dst_free()
350 dst_cache_destroy(&one_md_dst->u.tun_info.dst_cache); in metadata_dst_free_percpu()
/linux-5.19.10/include/net/
Ddst_cache.h11 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()
91 void dst_cache_reset_now(struct dst_cache *dst_cache);
98 int dst_cache_init(struct dst_cache *dst_cache, gfp_t gfp);
[all …]
Dip6_tunnel.h53 struct dst_cache dst_cache; /* cached dst */ member
Dip_tunnels.h73 struct dst_cache dst_cache; member
129 struct dst_cache dst_cache; member
Ddst_metadata.h128 if (new_md->u.tun_info.dst_cache.cache) { in tun_dst_unclone()
131 ret = dst_cache_init(&new_md->u.tun_info.dst_cache, GFP_ATOMIC); in tun_dst_unclone()
Dvxlan.h208 struct dst_cache dst_cache; member
/linux-5.19.10/net/ipv6/ila/
Dila_lwt.c21 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-5.19.10/net/tipc/
Dudp_media.c85 struct dst_cache dst_cache; member
169 struct udp_media_addr *dst, struct dst_cache *cache) in tipc_udp_xmit()
256 &ub->rcast.dst_cache); in tipc_udp_send_msg()
269 &rcast->dst_cache); in tipc_udp_send_msg()
313 if (dst_cache_init(&rcast->dst_cache, GFP_ATOMIC)) { in tipc_udp_rcast_add()
779 err = dst_cache_init(&ub->rcast.dst_cache, GFP_ATOMIC); in tipc_udp_enable()
798 dst_cache_destroy(&ub->rcast.dst_cache); in tipc_udp_enable()
812 dst_cache_destroy(&rcast->dst_cache); in cleanup_bearer()
818 dst_cache_destroy(&ub->rcast.dst_cache); in cleanup_bearer()
/linux-5.19.10/net/netfilter/
Dnft_flow_offload.c31 struct dst_entry *dst_cache, in nft_default_forward_path() argument
34 route->tuple[!dir].in.ifindex = dst_cache->dev->ifindex; in nft_default_forward_path()
35 route->tuple[dir].dst = dst_cache; in nft_default_forward_path()
36 route->tuple[dir].xmit_type = nft_xmit_type(dst_cache); in nft_default_forward_path()
49 const struct dst_entry *dst_cache, in nft_dev_fill_forward_path() argument
55 struct net_device *dev = dst_cache->dev; in nft_dev_fill_forward_path()
62 n = dst_neigh_lookup(dst_cache, daddr); in nft_dev_fill_forward_path()
Dnf_flow_table_ip.c257 return dst_check(tuple->dst_cache, tuple->dst_cookie); in nf_flow_dst_check()
402 rt = (struct rtable *)tuplehash->tuple.dst_cache; in nf_flow_offload_ip_hook()
411 rt = (struct rtable *)tuplehash->tuple.dst_cache; in nf_flow_offload_ip_hook()
663 rt = (struct rt6_info *)tuplehash->tuple.dst_cache; in nf_flow_offload_ipv6_hook()
672 rt = (struct rt6_info *)tuplehash->tuple.dst_cache; in nf_flow_offload_ipv6_hook()
Dnf_flow_table_offload.c278 const struct dst_entry *dst_cache; in flow_offload_eth_dst() local
295 dst_cache = this_tuple->dst_cache; in flow_offload_eth_dst()
296 n = dst_neigh_lookup(dst_cache, daddr); in flow_offload_eth_dst()
589 dst = this_tuple->dst_cache; in flow_offload_encap_tunnel()
614 dst = other_tuple->dst_cache; in flow_offload_decap_tunnel()
758 other_dst = other_tuple->dst_cache; in nf_flow_offload_rule_alloc()
Dnf_flow_table_core.c88 rt = (const struct rt6_info *)flow_tuple->dst_cache; in flow_offload_dst_cookie()
136 flow_tuple->dst_cache = dst; in flow_offload_fill_route()
153 dst_release(flow->tuplehash[dir].tuple.dst_cache); in nft_flow_dst_release()
/linux-5.19.10/net/ipv4/
Dip_tunnel.c308 dst_cache_reset(&tunnel->dst_cache); in ip_tunnel_bind_dev()
580 rt = dst_cache_get_ip4(&tun_info->dst_cache, &fl4.saddr); in ip_md_tunnel_xmit()
588 dst_cache_set_ip4(&tun_info->dst_cache, &rt->dst, in ip_md_tunnel_xmit()
740 rt = dst_cache_get_ip4(&tun_info->dst_cache, in ip_tunnel_xmit()
743 rt = connected ? dst_cache_get_ip4(&tunnel->dst_cache, in ip_tunnel_xmit()
755 dst_cache_set_ip4(&tun_info->dst_cache, &rt->dst, in ip_tunnel_xmit()
758 dst_cache_set_ip4(&tunnel->dst_cache, &rt->dst, in ip_tunnel_xmit()
857 dst_cache_reset(&t->dst_cache); in ip_tunnel_update()
1013 dst_cache_destroy(&tunnel->dst_cache); in ip_tunnel_dev_free()
1234 err = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ip_tunnel_init()
[all …]
/linux-5.19.10/drivers/net/
Dgeneve.c332 err = dst_cache_init(&geneve->cfg.info.dst_cache, GFP_KERNEL); in geneve_init()
345 dst_cache_destroy(&geneve->cfg.info.dst_cache); in geneve_uninit()
805 struct dst_cache *dst_cache; in geneve_get_v4_rt() local
830 dst_cache = (struct dst_cache *)&info->dst_cache; in geneve_get_v4_rt()
832 rt = dst_cache_get_ip4(dst_cache, &fl4->saddr); in geneve_get_v4_rt()
847 dst_cache_set_ip4(dst_cache, &rt->dst, fl4->saddr); in geneve_get_v4_rt()
862 struct dst_cache *dst_cache; in geneve_get_v6_dst() local
883 dst_cache = (struct dst_cache *)&info->dst_cache; in geneve_get_v6_dst()
885 dst = dst_cache_get_ip6(dst_cache, &fl6->saddr); in geneve_get_v6_dst()
902 dst_cache_set_ip6(dst_cache, dst, &fl6->saddr); in geneve_get_v6_dst()
[all …]
/linux-5.19.10/drivers/net/wireguard/
Dpeer.h45 struct dst_cache endpoint_cache;
Dsocket.c21 struct endpoint *endpoint, u8 ds, struct dst_cache *cache) in send4()
98 struct endpoint *endpoint, u8 ds, struct dst_cache *cache) in send6()
/linux-5.19.10/drivers/net/vxlan/
Dvxlan_core.c632 dst_cache_reset(&rd->dst_cache); in vxlan_fdb_replace()
656 if (dst_cache_init(&rd->dst_cache, GFP_ATOMIC)) { in vxlan_fdb_append()
909 dst_cache_destroy(&rd->dst_cache); in __vxlan_fdb_free()
949 dst_cache_destroy(&rd->dst_cache); in vxlan_dst_free()
2246 __u8 flow_flags, struct dst_cache *dst_cache, in vxlan_get_route() argument
2259 rt = dst_cache_get_ip4(dst_cache, saddr); in vxlan_get_route()
2285 dst_cache_set_ip4(dst_cache, &rt->dst, fl4.saddr); in vxlan_get_route()
2302 struct dst_cache *dst_cache, in vxlan6_get_route() argument
2315 ndst = dst_cache_get_ip6(dst_cache, saddr); in vxlan6_get_route()
2345 dst_cache_set_ip6(dst_cache, ndst, saddr); in vxlan6_get_route()
[all …]
/linux-5.19.10/net/ipv6/
Dsit.c478 dst_cache_reset(&t->dst_cache); in ipip6_tunnel_prl_ctl()
521 dst_cache_reset(&tunnel->dst_cache); in ipip6_tunnel_uninit()
947 rt = dst_cache_get_ip4(&tunnel->dst_cache, &fl4.saddr); in ipip6_tunnel_xmit()
954 dst_cache_set_ip4(&tunnel->dst_cache, &rt->dst, fl4.saddr); in ipip6_tunnel_xmit()
1161 dst_cache_reset(&t->dst_cache); in ipip6_tunnel_update()
1192 dst_cache_reset(&t->dst_cache); in ipip6_tunnel_update_6rd()
1412 dst_cache_destroy(&tunnel->dst_cache); in ipip6_dev_free()
1458 err = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ipip6_tunnel_init()
Dip6_gre.c400 dst_cache_reset(&t->dst_cache); in ip6erspan_tunnel_uninit()
413 dst_cache_reset(&t->dst_cache); in ip6gre_tunnel_uninit()
1208 dst_cache_reset(&t->dst_cache); in ip6gre_tnl_copy_tnl_parm()
1420 dst_cache_destroy(&t->dst_cache); in ip6gre_dev_free()
1483 ret = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ip6gre_tunnel_init_common()
1507 dst_cache_destroy(&tunnel->dst_cache); in ip6gre_tunnel_init_common()
1877 ret = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ip6erspan_tap_init()
1899 dst_cache_destroy(&tunnel->dst_cache); in ip6erspan_tap_init()
Dip6_output.c1295 struct dst_cache *dst_cache; in ip6_dst_lookup_tunnel() local
1301 dst_cache = (struct dst_cache *)&info->dst_cache; in ip6_dst_lookup_tunnel()
1303 dst = dst_cache_get_ip6(dst_cache, saddr); in ip6_dst_lookup_tunnel()
1329 dst_cache_set_ip6(dst_cache, dst, &fl6.saddr); in ip6_dst_lookup_tunnel()
Dip6_tunnel.c249 dst_cache_destroy(&t->dst_cache); in ip6_dev_free()
383 dst_cache_reset(&t->dst_cache); in ip6_tnl_dev_uninit()
1141 dst = dst_cache_get(&t->dst_cache); in ip6_tnl_xmit()
1228 dst_cache_set_ip6(&t->dst_cache, ndst, &fl6->saddr); in ip6_tnl_xmit()
1534 dst_cache_reset(&t->dst_cache); in ip6_tnl_change()
1872 ret = dst_cache_init(&t->dst_cache, GFP_KERNEL); in ip6_tnl_dev_init_gen()
1896 dst_cache_destroy(&t->dst_cache); in ip6_tnl_dev_init_gen()
/linux-5.19.10/include/net/netfilter/
Dnf_flow_table.h139 struct dst_entry *dst_cache; member
/linux-5.19.10/net/netfilter/ipvs/
Dip_vs_xmit.c82 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()

12