Lines Matching refs:dest

50 	struct ip_vs_dest __rcu	*dest;	/* real server (cache) */  member
90 return rcu_dereference(s->buckets[ip_vs_dh_hashkey(af, addr)].dest); in ip_vs_dh_get()
103 struct ip_vs_dest *dest; in ip_vs_dh_reassign() local
110 dest = rcu_dereference_protected(b->dest, 1); in ip_vs_dh_reassign()
111 if (dest) in ip_vs_dh_reassign()
112 ip_vs_dest_put(dest); in ip_vs_dh_reassign()
114 RCU_INIT_POINTER(b->dest, NULL); in ip_vs_dh_reassign()
119 dest = list_entry(p, struct ip_vs_dest, n_list); in ip_vs_dh_reassign()
120 ip_vs_dest_hold(dest); in ip_vs_dh_reassign()
121 RCU_INIT_POINTER(b->dest, dest); in ip_vs_dh_reassign()
138 struct ip_vs_dest *dest; in ip_vs_dh_flush() local
142 dest = rcu_dereference_protected(b->dest, 1); in ip_vs_dh_flush()
143 if (dest) { in ip_vs_dh_flush()
144 ip_vs_dest_put(dest); in ip_vs_dh_flush()
145 RCU_INIT_POINTER(b->dest, NULL); in ip_vs_dh_flush()
188 struct ip_vs_dest *dest) in ip_vs_dh_dest_changed() argument
203 static inline int is_overloaded(struct ip_vs_dest *dest) in is_overloaded() argument
205 return dest->flags & IP_VS_DEST_F_OVERLOAD; in is_overloaded()
216 struct ip_vs_dest *dest; in ip_vs_dh_schedule() local
222 dest = ip_vs_dh_get(svc->af, s, &iph->daddr); in ip_vs_dh_schedule()
223 if (!dest in ip_vs_dh_schedule()
224 || !(dest->flags & IP_VS_DEST_F_AVAILABLE) in ip_vs_dh_schedule()
225 || atomic_read(&dest->weight) <= 0 in ip_vs_dh_schedule()
226 || is_overloaded(dest)) { in ip_vs_dh_schedule()
233 IP_VS_DBG_ADDR(dest->af, &dest->addr), in ip_vs_dh_schedule()
234 ntohs(dest->port)); in ip_vs_dh_schedule()
236 return dest; in ip_vs_dh_schedule()