| /linux/net/core/ |
| H A D | dst_cache.c | 28 static void dst_cache_per_cpu_dst_set(struct dst_cache_pcpu *dst_cache, in dst_cache_per_cpu_dst_set() argument 32 dst_release(dst_cache->dst); in dst_cache_per_cpu_dst_set() 36 dst_cache->cookie = cookie; in dst_cache_per_cpu_dst_set() 37 dst_cache->dst = dst; in dst_cache_per_cpu_dst_set() 40 static struct dst_entry *dst_cache_per_cpu_get(struct dst_cache *dst_cache, in dst_cache_per_cpu_get() argument 54 READ_ONCE(dst_cache->reset_ts)) || in dst_cache_per_cpu_get() 67 struct dst_entry *dst_cache_get(struct dst_cache *dst_cache) in dst_cache_get() argument 71 if (!dst_cache->cache) in dst_cache_get() 74 local_lock_nested_bh(&dst_cache->cache->bh_lock); in dst_cache_get() 75 dst = dst_cache_per_cpu_get(dst_cache, this_cpu_ptr(dst_cache->cache)); in dst_cache_get() [all …]
|
| H A D | dst.c | 174 dst_cache_reset_now(&md_dst->u.tun_info.dst_cache); in dst_release() 312 dst_cache_destroy(&md_dst->u.tun_info.dst_cache); in metadata_dst_free() 348 dst_cache_destroy(&one_md_dst->u.tun_info.dst_cache); in metadata_dst_free_percpu()
|
| /linux/include/net/ |
| H A 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 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 D | udp_tunnel.h | 187 struct dst_cache *dst_cache); 195 struct dst_cache *dst_cache);
|
| H A D | ip6_tunnel.h | 10 #include <net/dst_cache.h> 53 struct dst_cache dst_cache; /* cached dst */ member
|
| H A D | ip_tunnels.h | 116 struct dst_cache dst_cache; member 177 struct dst_cache dst_cache; member
|
| H A D | dst_metadata.h | 171 if (new_md->u.tun_info.dst_cache.cache) { in tun_dst_unclone() 174 ret = dst_cache_init(&new_md->u.tun_info.dst_cache, GFP_ATOMIC); in tun_dst_unclone()
|
| H A D | vxlan.h | 209 struct dst_cache dst_cache; member
|
| /linux/net/ipv6/ |
| H A D | ip6_udp_tunnel.c | 128 * @dst_cache: The dst cache to use for lookup 143 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() 176 if (dst_cache) in udp_tunnel6_dst_lookup() 177 dst_cache_set_ip6(dst_cache, dst, &fl6.saddr); in udp_tunnel6_dst_lookup()
|
| H A D | sit.c | 482 dst_cache_reset(&t->dst_cache); in ipip6_tunnel_prl_ctl() 525 dst_cache_reset(&tunnel->dst_cache); in ipip6_tunnel_uninit() 937 rt = dst_cache_get_ip4(&tunnel->dst_cache, &fl4.saddr); in ipip6_tunnel_xmit() 944 dst_cache_set_ip4(&tunnel->dst_cache, &rt->dst, fl4.saddr); in ipip6_tunnel_xmit() 1156 dst_cache_reset(&t->dst_cache); in ipip6_tunnel_update() 1187 dst_cache_reset(&t->dst_cache); in ipip6_tunnel_update_6rd() 1407 dst_cache_destroy(&tunnel->dst_cache); in ipip6_dev_free() 1450 err = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ipip6_tunnel_init()
|
| H A D | ip6_gre.c | 369 dst_cache_reset(&t->dst_cache); in ip6erspan_tunnel_uninit() 382 dst_cache_reset(&t->dst_cache); in ip6gre_tunnel_uninit() 1208 dst_cache_reset(&t->dst_cache); in ip6gre_tnl_copy_tnl_parm() 1426 dst_cache_destroy(&t->dst_cache); in ip6gre_dev_free() 1484 ret = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ip6gre_tunnel_init_common() 1509 dst_cache_destroy(&tunnel->dst_cache); in ip6gre_tunnel_init_common() 1857 ret = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ip6erspan_tap_init() 1880 dst_cache_destroy(&tunnel->dst_cache); in ip6erspan_tap_init()
|
| H A D | ip6_tunnel.c | 248 dst_cache_destroy(&t->dst_cache); in ip6_dev_free() 380 dst_cache_reset(&t->dst_cache); in ip6_tnl_dev_uninit() 1157 dst = dst_cache_get(&t->dst_cache); in ip6_tnl_xmit() 1244 dst_cache_set_ip6(&t->dst_cache, ndst, &fl6->saddr); in ip6_tnl_xmit() 1550 dst_cache_reset(&t->dst_cache); in ip6_tnl_change() 1921 ret = dst_cache_init(&t->dst_cache, GFP_KERNEL); in ip6_tnl_dev_init_gen() 1945 dst_cache_destroy(&t->dst_cache); in ip6_tnl_dev_init_gen()
|
| /linux/net/ipv6/ila/ |
| H A D | ila_lwt.c | 21 struct dst_cache dst_cache; member 62 dst = dst_cache_get(&ilwt->dst_cache); in ila_output() 94 dst_cache_set_ip6(&ilwt->dst_cache, dst, &fl6.saddr); in ila_output() 231 ret = dst_cache_init(&ilwt->dst_cache, GFP_ATOMIC); in ila_build_state() 266 dst_cache_destroy(&ila_lwt_lwtunnel(lwt)->dst_cache); in ila_destroy_state()
|
| /linux/net/netfilter/ |
| H A D | nf_flow_table_path.c | 28 struct dst_entry *dst_cache, in nft_default_forward_path() argument 31 route->tuple[!dir].in.ifindex = dst_cache->dev->ifindex; in nft_default_forward_path() 32 route->tuple[dir].dst = dst_cache; in nft_default_forward_path() 33 route->tuple[dir].xmit_type = nft_xmit_type(dst_cache); in nft_default_forward_path() 46 const struct dst_entry *dst_cache, in nft_dev_fill_forward_path() argument 52 struct net_device *dev = dst_cache->dev; in nft_dev_fill_forward_path() 59 n = dst_neigh_lookup(dst_cache, daddr); in nft_dev_fill_forward_path()
|
| H A D | nf_flow_table_ip.c | 306 return dst_check(tuple->dst_cache, tuple->dst_cookie); in nf_flow_dst_check() 590 struct rtable *rt = dst_rtable(tuple->dst_cache); in nf_flow_tunnel_ipip_push() 653 struct rtable *rt = dst_rtable(tuple->dst_cache); in nf_flow_tunnel_ip6ip6_push() 785 rt = dst_rtable(tuplehash->tuple.dst_cache); in nf_flow_offload_ip_hook() 805 rt = dst_rtable(tuplehash->tuple.dst_cache); in nf_flow_offload_ip_hook() 1106 rt = dst_rt6_info(tuplehash->tuple.dst_cache); in nf_flow_offload_ipv6_hook() 1127 rt = dst_rt6_info(tuplehash->tuple.dst_cache); in nf_flow_offload_ipv6_hook()
|
| H A D | nf_flow_table_offload.c | 290 const struct dst_entry *dst_cache; in flow_offload_eth_dst() 310 dst_cache = this_tuple->dst_cache; in flow_offload_eth_dst() 311 n = dst_neigh_lookup(dst_cache, daddr); in flow_offload_eth_dst() 637 dst = this_tuple->dst_cache; in flow_offload_encap_tunnel() 666 dst = other_tuple->dst_cache; in flow_offload_decap_tunnel() 824 other_dst = other_tuple->dst_cache; in nf_flow_offload_rule_alloc() 289 const struct dst_entry *dst_cache; flow_offload_eth_dst() local
|
| H A D | nf_flow_table_core.c | 82 return rt6_get_cookie(dst_rt6_info(flow_tuple->dst_cache)); in flow_offload_dst_cookie() 139 flow_tuple->dst_cache = dst; in flow_offload_fill_route() 156 dst_release(flow->tuplehash[dir].tuple.dst_cache); in flow_offload_route_init()
|
| /linux/net/tipc/ |
| H A D | udp_media.c | 84 struct dst_cache dst_cache; 171 struct udp_media_addr *dst, struct dst_cache *cache) in tipc_udp_xmit() 257 &ub->rcast.dst_cache); in tipc_udp_send_msg() 270 &rcast->dst_cache); in tipc_udp_send_msg() 314 if (dst_cache_init(&rcast->dst_cache, GFP_ATOMIC)) { in tipc_udp_rcast_add() 776 err = dst_cache_init(&ub->rcast.dst_cache, GFP_ATOMIC); in tipc_udp_enable() 795 dst_cache_destroy(&ub->rcast.dst_cache); in tipc_udp_enable() 810 dst_cache_destroy(&rcast->dst_cache); in cleanup_bearer() 817 dst_cache_destroy(&ub->rcast.dst_cache); in cleanup_bearer() 85 struct dst_cache dst_cache; global() member [all...] |
| /linux/drivers/net/ovpn/ |
| H A D | udp.c | 15 #include <net/dst_cache.h> 145 struct dst_cache *cache, struct sock *sk, in ovpn_udp4_output() 220 struct dst_cache *cache, struct sock *sk, in ovpn_udp6_output() 296 static int ovpn_udp_output(struct ovpn_peer *peer, struct dst_cache *cache, 351 ret = ovpn_udp_output(peer, &peer->dst_cache, sk, skb); in ovpn_udp_send_skb()
|
| /linux/net/ipv4/ |
| H A D | ip_tunnel.c | 309 dst_cache_reset(&tunnel->dst_cache); in ip_tunnel_bind_dev() 612 rt = dst_cache_get_ip4(&tun_info->dst_cache, &fl4.saddr); in ip_md_tunnel_xmit() 620 dst_cache_set_ip4(&tun_info->dst_cache, &rt->dst, in ip_md_tunnel_xmit() 773 rt = dst_cache_get_ip4(&tun_info->dst_cache, in ip_tunnel_xmit() 776 rt = connected ? dst_cache_get_ip4(&tunnel->dst_cache, in ip_tunnel_xmit() 788 dst_cache_set_ip4(&tun_info->dst_cache, &rt->dst, in ip_tunnel_xmit() 791 dst_cache_set_ip4(&tunnel->dst_cache, &rt->dst, in ip_tunnel_xmit() 890 dst_cache_reset(&t->dst_cache); in ip_tunnel_update() 1089 dst_cache_destroy(&tunnel->dst_cache); in ip_tunnel_dev_free() 1294 err = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in __ip_tunnel_init() [all …]
|
| /linux/drivers/net/ |
| H A D | bareudp.c | 332 (struct dst_cache *)&info->dst_cache : NULL); in bareudp_xmit_skb() 402 (struct dst_cache *) &info->dst_cache : NULL); in bareudp6_xmit_skb() 521 use_cache ? &info->dst_cache : NULL); in bareudp_fill_metadata_dst() 535 use_cache ? &info->dst_cache : NULL); in bareudp_fill_metadata_dst()
|
| H A D | geneve.c | 388 err = dst_cache_init(&geneve->cfg.info.dst_cache, GFP_KERNEL); in geneve_init() 401 dst_cache_destroy(&geneve->cfg.info.dst_cache); in geneve_uninit() 1320 (struct dst_cache *)&info->dst_cache : NULL); in geneve_xmit_skb() 1431 (struct dst_cache *)&info->dst_cache : NULL); in geneve6_xmit_skb() 1572 use_cache ? &info->dst_cache : NULL); in geneve_fill_metadata_dst() 1598 use_cache ? &info->dst_cache : NULL); in geneve_fill_metadata_dst() 1872 dst_cache_reset(&geneve->cfg.info.dst_cache); in geneve_configure() 2235 dst_cache_reset(&cfg.info.dst_cache); in geneve_changelink() [all...] |
| /linux/drivers/net/wireguard/ |
| H A D | peer.h | 45 struct dst_cache endpoint_cache;
|
| H A 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/drivers/net/vxlan/ |
| H A D | vxlan_core.c | 562 dst_cache_reset(&rd->dst_cache); in vxlan_fdb_replace() 589 dst_cache_init(&rd->dst_cache, GFP_ATOMIC | __GFP_NOWARN); in vxlan_fdb_append() 900 dst_cache_destroy(&rd->dst_cache); in vxlan_fdb_create() 921 dst_cache_destroy(&rd->dst_cache); in __vxlan_fdb_free() 963 dst_cache_destroy(&rd->dst_cache); in vxlan_dst_free() 2344 struct dst_cache *dst_cache; in vxlan_xmit_one() 2405 dst_cache = &rdst->dst_cache; in vxlan_xmit_one() 2448 dst_cache in vxlan_xmit_one() 2347 struct dst_cache *dst_cache; vxlan_xmit_one() local [all...] |