Lines Matching refs:dest

39 	struct ip_vs_dest __rcu	*dest;	/* real server (cache) */  member
81 static inline bool is_unavailable(struct ip_vs_dest *dest) in is_unavailable() argument
83 return atomic_read(&dest->weight) <= 0 || in is_unavailable()
84 dest->flags & IP_VS_DEST_F_OVERLOAD; in is_unavailable()
109 struct ip_vs_dest *dest; in ip_vs_mh_reset() local
113 dest = rcu_dereference_protected(l->dest, 1); in ip_vs_mh_reset()
114 if (dest) { in ip_vs_mh_reset()
115 ip_vs_dest_put(dest); in ip_vs_mh_reset()
116 RCU_INIT_POINTER(l->dest, NULL); in ip_vs_mh_reset()
127 struct ip_vs_dest *dest; in ip_vs_mh_permutate() local
141 dest = list_entry(p, struct ip_vs_dest, n_list); in ip_vs_mh_permutate()
143 ds->offset = ip_vs_mh_hashkey(svc->af, &dest->addr, in ip_vs_mh_permutate()
144 dest->port, &s->hash1, 0) % in ip_vs_mh_permutate()
146 ds->skip = ip_vs_mh_hashkey(svc->af, &dest->addr, in ip_vs_mh_permutate()
147 dest->port, &s->hash2, 0) % in ip_vs_mh_permutate()
151 lw = atomic_read(&dest->last_weight); in ip_vs_mh_permutate()
166 struct ip_vs_dest *dest, *new_dest; in ip_vs_mh_populate() local
208 dest = rcu_dereference_protected(s->lookup[c].dest, 1); in ip_vs_mh_populate()
210 if (dest != new_dest) { in ip_vs_mh_populate()
211 if (dest) in ip_vs_mh_populate()
212 ip_vs_dest_put(dest); in ip_vs_mh_populate()
214 RCU_INIT_POINTER(s->lookup[c].dest, new_dest); in ip_vs_mh_populate()
240 struct ip_vs_dest *dest = rcu_dereference(s->lookup[hash].dest); in ip_vs_mh_get() local
242 return (!dest || is_unavailable(dest)) ? NULL : dest; in ip_vs_mh_get()
252 struct ip_vs_dest *dest; in ip_vs_mh_get_fallback() local
257 dest = rcu_dereference(s->lookup[ihash].dest); in ip_vs_mh_get_fallback()
258 if (!dest) in ip_vs_mh_get_fallback()
260 if (!is_unavailable(dest)) in ip_vs_mh_get_fallback()
261 return dest; in ip_vs_mh_get_fallback()
264 IP_VS_DBG_ADDR(dest->af, &dest->addr), ntohs(dest->port)); in ip_vs_mh_get_fallback()
273 dest = rcu_dereference(s->lookup[hash].dest); in ip_vs_mh_get_fallback()
274 if (!dest) in ip_vs_mh_get_fallback()
276 if (!is_unavailable(dest)) in ip_vs_mh_get_fallback()
277 return dest; in ip_vs_mh_get_fallback()
280 IP_VS_DBG_ADDR(dest->af, &dest->addr), in ip_vs_mh_get_fallback()
281 ntohs(dest->port), roffset); in ip_vs_mh_get_fallback()
324 struct ip_vs_dest *dest; in ip_vs_mh_gcd_weight() local
328 list_for_each_entry(dest, &svc->destinations, n_list) { in ip_vs_mh_gcd_weight()
329 weight = atomic_read(&dest->last_weight); in ip_vs_mh_gcd_weight()
345 struct ip_vs_dest *dest; in ip_vs_mh_shift_weight() local
356 list_for_each_entry(dest, &svc->destinations, n_list) { in ip_vs_mh_shift_weight()
357 new_weight = atomic_read(&dest->last_weight); in ip_vs_mh_shift_weight()
432 struct ip_vs_dest *dest) in ip_vs_mh_dest_changed() argument
477 struct ip_vs_dest *dest; in ip_vs_mh_schedule() local
492 dest = ip_vs_mh_get_fallback(svc, s, hash_addr, port); in ip_vs_mh_schedule()
494 dest = ip_vs_mh_get(svc, s, hash_addr, port); in ip_vs_mh_schedule()
496 if (!dest) { in ip_vs_mh_schedule()
504 IP_VS_DBG_ADDR(dest->af, &dest->addr), in ip_vs_mh_schedule()
505 ntohs(dest->port)); in ip_vs_mh_schedule()
507 return dest; in ip_vs_mh_schedule()