Lines Matching refs:dest

73 __ip_vs_dst_set(struct ip_vs_dest *dest, struct ip_vs_dest_dst *dest_dst,  in __ip_vs_dst_set()  argument
78 old = rcu_dereference_protected(dest->dest_dst, in __ip_vs_dst_set()
79 lockdep_is_held(&dest->dst_lock)); in __ip_vs_dst_set()
85 rcu_assign_pointer(dest->dest_dst, dest_dst); in __ip_vs_dst_set()
92 __ip_vs_dst_check(struct ip_vs_dest *dest) in __ip_vs_dst_check() argument
94 struct ip_vs_dest_dst *dest_dst = rcu_dereference(dest->dest_dst); in __ip_vs_dst_check()
308 struct ip_vs_dest *dest, in __ip_vs_get_out_rt() argument
318 if (dest) { in __ip_vs_get_out_rt()
319 dest_dst = __ip_vs_dst_check(dest); in __ip_vs_get_out_rt()
324 spin_lock_bh(&dest->dst_lock); in __ip_vs_get_out_rt()
326 __ip_vs_dst_set(dest, NULL, NULL, 0); in __ip_vs_get_out_rt()
327 spin_unlock_bh(&dest->dst_lock); in __ip_vs_get_out_rt()
330 rt = do_output_route4(net, dest->addr.ip, rt_mode, in __ip_vs_get_out_rt()
333 __ip_vs_dst_set(dest, NULL, NULL, 0); in __ip_vs_get_out_rt()
334 spin_unlock_bh(&dest->dst_lock); in __ip_vs_get_out_rt()
338 __ip_vs_dst_set(dest, dest_dst, &rt->dst, 0); in __ip_vs_get_out_rt()
339 spin_unlock_bh(&dest->dst_lock); in __ip_vs_get_out_rt()
341 &dest->addr.ip, &dest_dst->dst_saddr.ip, in __ip_vs_get_out_rt()
384 if (!dest) in __ip_vs_get_out_rt()
386 if (dest->tun_type == IP_VS_CONN_F_TUNNEL_TYPE_GUE) { in __ip_vs_get_out_rt()
388 if ((dest->tun_flags & in __ip_vs_get_out_rt()
392 } else if (dest->tun_type == IP_VS_CONN_F_TUNNEL_TYPE_GRE) { in __ip_vs_get_out_rt()
395 if (dest->tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_CSUM) in __ip_vs_get_out_rt()
470 struct ip_vs_dest *dest, in __ip_vs_get_out_rt_v6() argument
481 if (dest) { in __ip_vs_get_out_rt_v6()
482 dest_dst = __ip_vs_dst_check(dest); in __ip_vs_get_out_rt_v6()
489 spin_lock_bh(&dest->dst_lock); in __ip_vs_get_out_rt_v6()
491 __ip_vs_dst_set(dest, NULL, NULL, 0); in __ip_vs_get_out_rt_v6()
492 spin_unlock_bh(&dest->dst_lock); in __ip_vs_get_out_rt_v6()
495 dst = __ip_vs_route_output_v6(net, &dest->addr.in6, in __ip_vs_get_out_rt_v6()
499 __ip_vs_dst_set(dest, NULL, NULL, 0); in __ip_vs_get_out_rt_v6()
500 spin_unlock_bh(&dest->dst_lock); in __ip_vs_get_out_rt_v6()
506 __ip_vs_dst_set(dest, dest_dst, &rt->dst, cookie); in __ip_vs_get_out_rt_v6()
507 spin_unlock_bh(&dest->dst_lock); in __ip_vs_get_out_rt_v6()
509 &dest->addr.in6, &dest_dst->dst_saddr.in6, in __ip_vs_get_out_rt_v6()
547 if (!dest) in __ip_vs_get_out_rt_v6()
549 if (dest->tun_type == IP_VS_CONN_F_TUNNEL_TYPE_GUE) { in __ip_vs_get_out_rt_v6()
551 if ((dest->tun_flags & in __ip_vs_get_out_rt_v6()
555 } else if (dest->tun_type == IP_VS_CONN_F_TUNNEL_TYPE_GRE) { in __ip_vs_get_out_rt_v6()
558 if (dest->tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_CSUM) in __ip_vs_get_out_rt_v6()
775 local = __ip_vs_get_out_rt(cp->ipvs, cp->af, skb, cp->dest, cp->daddr.ip, in ip_vs_nat_xmit()
857 local = __ip_vs_get_out_rt_v6(cp->ipvs, cp->af, skb, cp->dest, in ip_vs_nat_xmit_v6()
1017 if ((cp->dest->tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_REMCSUM) && in ipvs_gue_encap()
1068 dport = cp->dest->tun_port; in ipvs_gue_encap()
1069 udph->dest = dport; in ipvs_gue_encap()
1088 if (cp->dest->tun_flags & IP_VS_TUNNEL_ENCAP_FLAG_CSUM) in ipvs_gre_encap()
1136 local = __ip_vs_get_out_rt(ipvs, cp->af, skb, cp->dest, cp->daddr.ip, in ip_vs_tunnel_xmit()
1154 tun_type = cp->dest->tun_type; in ip_vs_tunnel_xmit()
1155 tun_flags = cp->dest->tun_flags; in ip_vs_tunnel_xmit()
1280 local = __ip_vs_get_out_rt_v6(ipvs, cp->af, skb, cp->dest, in ip_vs_tunnel_xmit_v6()
1299 tun_type = cp->dest->tun_type; in ip_vs_tunnel_xmit_v6()
1300 tun_flags = cp->dest->tun_flags; in ip_vs_tunnel_xmit_v6()
1414 local = __ip_vs_get_out_rt(cp->ipvs, cp->af, skb, cp->dest, cp->daddr.ip, in ip_vs_dr_xmit()
1444 local = __ip_vs_get_out_rt_v6(cp->ipvs, cp->af, skb, cp->dest, in ip_vs_dr_xmit_v6()
1505 local = __ip_vs_get_out_rt(cp->ipvs, cp->af, skb, cp->dest, cp->daddr.ip, rt_mode, in ip_vs_icmp_xmit()
1589 local = __ip_vs_get_out_rt_v6(cp->ipvs, cp->af, skb, cp->dest, in ip_vs_icmp_xmit_v6()