Home
last modified time | relevance | path

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

12

/linux/net/core/
H A Ddst_cache.c3 * net/core/dst_cache.c - dst entry cache
10 #include <net/dst_cache.h>
27 static void dst_cache_per_cpu_dst_set(struct dst_cache_pcpu *dst_cache, in dst_cache_per_cpu_dst_set() argument
31 dst_release(dst_cache->dst); in dst_cache_per_cpu_dst_set()
35 dst_cache->cookie = cookie; in dst_cache_per_cpu_dst_set()
36 dst_cache->dst = dst; in dst_cache_per_cpu_dst_set()
39 static struct dst_entry *dst_cache_per_cpu_get(struct dst_cache *dst_cache, in dst_cache_per_cpu_get()
53 READ_ONCE(dst_cache->reset_ts)) || in dst_cache_per_cpu_get()
66 struct dst_entry *dst_cache_get(struct dst_cache *dst_cach in dst_cache_get()
38 dst_cache_per_cpu_get(struct dst_cache * dst_cache,struct dst_cache_pcpu * idst) dst_cache_per_cpu_get() argument
64 dst_cache_get(struct dst_cache * dst_cache) dst_cache_get() argument
73 dst_cache_get_ip4(struct dst_cache * dst_cache,__be32 * saddr) dst_cache_get_ip4() argument
91 dst_cache_set_ip4(struct dst_cache * dst_cache,struct dst_entry * dst,__be32 saddr) dst_cache_set_ip4() argument
106 dst_cache_set_ip6(struct dst_cache * dst_cache,struct dst_entry * dst,const struct in6_addr * saddr) dst_cache_set_ip6() argument
121 dst_cache_get_ip6(struct dst_cache * dst_cache,struct in6_addr * saddr) dst_cache_get_ip6() argument
141 dst_cache_init(struct dst_cache * dst_cache,gfp_t gfp) dst_cache_init() argument
153 dst_cache_destroy(struct dst_cache * dst_cache) dst_cache_destroy() argument
167 dst_cache_reset_now(struct dst_cache * dst_cache) dst_cache_reset_now() argument
[all...]
H A Ddst.c296 dst_cache_destroy(&md_dst->u.tun_info.dst_cache); in metadata_dst_free()
331 dst_cache_destroy(&one_md_dst->u.tun_info.dst_cache); in metadata_dst_free_percpu()
H A DMakefile38 obj-$(CONFIG_DST_CACHE) += dst_cache.o
/linux/include/net/
H A 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 WRITE_ONCE(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 …]
H A Dudp_tunnel.h171 struct dst_cache *dst_cache);
179 struct dst_cache *dst_cache);
H A Dip6_tunnel.h53 struct dst_cache dst_cache; /* cached dst */ member
H A Dip_tunnels.h106 struct dst_cache dst_cache; member
166 struct dst_cache dst_cache; member
H A Ddst_metadata.h173 if (new_md->u.tun_info.dst_cache.cache) { in tun_dst_unclone()
176 ret = dst_cache_init(&new_md->u.tun_info.dst_cache, GFP_ATOMIC); in tun_dst_unclone()
H A Dvxlan.h209 struct dst_cache dst_cache; member
/linux/net/ipv6/
H A Dip6_udp_tunnel.c143 struct dst_cache *dst_cache) in udp_tunnel6_dst_lookup() argument
149 if (dst_cache) { in udp_tunnel6_dst_lookup()
150 dst = dst_cache_get_ip6(dst_cache, saddr); in udp_tunnel6_dst_lookup()
177 if (dst_cache) in udp_tunnel6_dst_lookup()
178 dst_cache_set_ip6(dst_cache, dst, &fl6.saddr); in udp_tunnel6_dst_lookup()
H A Dsit.c480 dst_cache_reset(&t->dst_cache); in ipip6_tunnel_prl_ctl()
523 dst_cache_reset(&tunnel->dst_cache); in ipip6_tunnel_uninit()
943 rt = dst_cache_get_ip4(&tunnel->dst_cache, &fl4.saddr); in ipip6_tunnel_xmit()
950 dst_cache_set_ip4(&tunnel->dst_cache, &rt->dst, fl4.saddr); in ipip6_tunnel_xmit()
1162 dst_cache_reset(&t->dst_cache); in ipip6_tunnel_update()
1193 dst_cache_reset(&t->dst_cache); in ipip6_tunnel_update_6rd()
1413 dst_cache_destroy(&tunnel->dst_cache); in ipip6_dev_free()
1457 err = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ipip6_tunnel_init()
H A Dip6_gre.c400 dst_cache_reset(&t->dst_cache); in ip6erspan_tunnel_uninit()
413 dst_cache_reset(&t->dst_cache); in ip6gre_tunnel_uninit()
1234 dst_cache_reset(&t->dst_cache); in ip6gre_tnl_copy_tnl_parm()
1445 dst_cache_destroy(&t->dst_cache); in ip6gre_dev_free()
1504 ret = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ip6gre_tunnel_init_common()
1529 dst_cache_destroy(&tunnel->dst_cache); in ip6gre_tunnel_init_common()
1888 ret = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ip6erspan_tap_init()
1911 dst_cache_destroy(&tunnel->dst_cache); in ip6erspan_tap_init()
H A Dip6_tunnel.c250 dst_cache_destroy(&t->dst_cache); in ip6_dev_free()
383 dst_cache_reset(&t->dst_cache); in ip6_tnl_dev_uninit()
1155 dst = dst_cache_get(&t->dst_cache); in ip6_tnl_xmit()
1242 dst_cache_set_ip6(&t->dst_cache, ndst, &fl6->saddr); in ip6_tnl_xmit()
1549 dst_cache_reset(&t->dst_cache); in ip6_tnl_change()
1883 ret = dst_cache_init(&t->dst_cache, GFP_KERNEL); in ip6_tnl_dev_init_gen()
1907 dst_cache_destroy(&t->dst_cache); in ip6_tnl_dev_init_gen()
/linux/net/ipv6/ila/
H A Dila_lwt.c10 #include <net/dst_cache.h>
21 struct dst_cache dst_cache; member
62 dst = dst_cache_get(&ilwt->dst_cache); in ila_output()
93 dst_cache_set_ip6(&ilwt->dst_cache, dst, &fl6.saddr); in ila_output()
229 ret = dst_cache_init(&ilwt->dst_cache, GFP_ATOMIC); in ila_build_state()
264 dst_cache_destroy(&ila_lwt_lwtunnel(lwt)->dst_cache); in ila_fill_encap_info()
/linux/net/ipv4/
H A Dudp_tunnel_core.c215 struct dst_cache *dst_cache) in udp_tunnel_dst_lookup() argument
221 if (dst_cache) { in udp_tunnel_dst_lookup()
222 rt = dst_cache_get_ip4(dst_cache, saddr); in udp_tunnel_dst_lookup()
250 if (dst_cache) in udp_tunnel_dst_lookup()
251 dst_cache_set_ip4(dst_cache, &rt->dst, fl4.saddr); in udp_tunnel_dst_lookup()
H A Dip_tunnel.c308 dst_cache_reset(&tunnel->dst_cache); in ip_tunnel_bind_dev()
625 rt = dst_cache_get_ip4(&tun_info->dst_cache, &fl4.saddr); in ip_md_tunnel_xmit()
633 dst_cache_set_ip4(&tun_info->dst_cache, &rt->dst, in ip_md_tunnel_xmit()
786 rt = dst_cache_get_ip4(&tun_info->dst_cache, in ip_tunnel_xmit()
789 rt = connected ? dst_cache_get_ip4(&tunnel->dst_cache, in ip_tunnel_xmit()
801 dst_cache_set_ip4(&tun_info->dst_cache, &rt->dst, in ip_tunnel_xmit()
804 dst_cache_set_ip4(&tunnel->dst_cache, &rt->dst, in ip_tunnel_xmit()
903 dst_cache_reset(&t->dst_cache); in ip_tunnel_update()
1102 dst_cache_destroy(&tunnel->dst_cache); in ip_tunnel_dev_free()
1318 err = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ip_tunnel_init()
[all …]
/linux/net/tipc/
H A Dudp_media.c85 struct dst_cache dst_cache; member
172 struct udp_media_addr *dst, struct dst_cache *cache) in tipc_udp_xmit()
259 &ub->rcast.dst_cache); in tipc_udp_send_msg()
272 &rcast->dst_cache); in tipc_udp_send_msg()
316 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/net/netfilter/
H A Dnft_flow_offload.c32 struct dst_entry *dst_cache, in nft_default_forward_path() argument
35 route->tuple[!dir].in.ifindex = dst_cache->dev->ifindex; in nft_default_forward_path()
36 route->tuple[dir].dst = dst_cache; in nft_default_forward_path()
37 route->tuple[dir].xmit_type = nft_xmit_type(dst_cache); in nft_default_forward_path()
50 const struct dst_entry *dst_cache, in nft_dev_fill_forward_path() argument
56 struct net_device *dev = dst_cache->dev; in nft_dev_fill_forward_path()
63 n = dst_neigh_lookup(dst_cache, daddr); in nft_dev_fill_forward_path()
H A Dnf_flow_table_ip.c263 return dst_check(tuple->dst_cache, tuple->dst_cookie); in nf_flow_dst_check()
440 rt = dst_rtable(tuplehash->tuple.dst_cache); in nf_flow_offload_ip_hook()
452 rt = dst_rtable(tuplehash->tuple.dst_cache); in nf_flow_offload_ip_hook()
735 rt = dst_rt6_info(tuplehash->tuple.dst_cache); in nf_flow_offload_ipv6_hook()
747 rt = dst_rt6_info(tuplehash->tuple.dst_cache); in nf_flow_offload_ipv6_hook()
H A 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()
H A Dnf_flow_table_core.c81 return rt6_get_cookie(dst_rt6_info(flow_tuple->dst_cache)); in flow_offload_dst_cookie()
135 flow_tuple->dst_cache = dst; in flow_offload_fill_route()
152 dst_release(flow->tuplehash[dir].tuple.dst_cache); in nft_flow_dst_release()
/linux/drivers/net/
H A Dbareudp.c332 (struct dst_cache *)&info->dst_cache : NULL); in bareudp_xmit_skb()
402 (struct dst_cache *) &info->dst_cache : NULL); in bareudp6_xmit_skb()
520 use_cache ? &info->dst_cache : NULL); in bareudp_fill_metadata_dst()
534 use_cache ? &info->dst_cache : NULL); in bareudp_fill_metadata_dst()
H A Dgeneve.c343 err = dst_cache_init(&geneve->cfg.info.dst_cache, GFP_KERNEL); in geneve_init()
356 dst_cache_destroy(&geneve->cfg.info.dst_cache); in geneve_uninit()
844 (struct dst_cache *)&info->dst_cache : NULL); in geneve_xmit_skb()
954 (struct dst_cache *)&info->dst_cache : NULL); in geneve6_xmit_skb()
1093 use_cache ? &info->dst_cache : NULL); in geneve_fill_metadata_dst()
1118 use_cache ? &info->dst_cache : NULL); in geneve_fill_metadata_dst()
1372 dst_cache_reset(&geneve->cfg.info.dst_cache); in geneve_configure()
1710 dst_cache_reset(&cfg.info.dst_cache); in geneve_changelink()
/linux/drivers/net/wireguard/
H A Dpeer.h45 struct dst_cache endpoint_cache;
H A 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()

12