Lines Matching refs:dest

55 	struct ip_vs_dest __rcu	*dest;	/* real server (cache) */  member
74 static inline bool is_unavailable(struct ip_vs_dest *dest) in is_unavailable() argument
76 return atomic_read(&dest->weight) <= 0 || in is_unavailable()
77 dest->flags & IP_VS_DEST_F_OVERLOAD; in is_unavailable()
108 struct ip_vs_dest *dest = rcu_dereference(s->buckets[hash].dest); in ip_vs_sh_get() local
110 return (!dest || is_unavailable(dest)) ? NULL : dest; in ip_vs_sh_get()
126 struct ip_vs_dest *dest; in ip_vs_sh_get_fallback() local
130 dest = rcu_dereference(s->buckets[ihash].dest); in ip_vs_sh_get_fallback()
131 if (!dest) in ip_vs_sh_get_fallback()
133 if (!is_unavailable(dest)) in ip_vs_sh_get_fallback()
134 return dest; in ip_vs_sh_get_fallback()
137 IP_VS_DBG_ADDR(dest->af, &dest->addr), ntohs(dest->port)); in ip_vs_sh_get_fallback()
145 dest = rcu_dereference(s->buckets[hash].dest); in ip_vs_sh_get_fallback()
146 if (!dest) in ip_vs_sh_get_fallback()
148 if (!is_unavailable(dest)) in ip_vs_sh_get_fallback()
149 return dest; in ip_vs_sh_get_fallback()
152 IP_VS_DBG_ADDR(dest->af, &dest->addr), in ip_vs_sh_get_fallback()
153 ntohs(dest->port), roffset); in ip_vs_sh_get_fallback()
168 struct ip_vs_dest *dest; in ip_vs_sh_reassign() local
177 dest = rcu_dereference_protected(b->dest, 1); in ip_vs_sh_reassign()
178 if (dest) in ip_vs_sh_reassign()
179 ip_vs_dest_put(dest); in ip_vs_sh_reassign()
181 RCU_INIT_POINTER(b->dest, NULL); in ip_vs_sh_reassign()
186 dest = list_entry(p, struct ip_vs_dest, n_list); in ip_vs_sh_reassign()
187 ip_vs_dest_hold(dest); in ip_vs_sh_reassign()
188 RCU_INIT_POINTER(b->dest, dest); in ip_vs_sh_reassign()
191 i, IP_VS_DBG_ADDR(dest->af, &dest->addr), in ip_vs_sh_reassign()
192 atomic_read(&dest->weight)); in ip_vs_sh_reassign()
195 if (++d_count >= atomic_read(&dest->weight)) { in ip_vs_sh_reassign()
214 struct ip_vs_dest *dest; in ip_vs_sh_flush() local
218 dest = rcu_dereference_protected(b->dest, 1); in ip_vs_sh_flush()
219 if (dest) { in ip_vs_sh_flush()
220 ip_vs_dest_put(dest); in ip_vs_sh_flush()
221 RCU_INIT_POINTER(b->dest, NULL); in ip_vs_sh_flush()
264 struct ip_vs_dest *dest) in ip_vs_sh_dest_changed() argument
312 struct ip_vs_dest *dest; in ip_vs_sh_schedule() local
327 dest = ip_vs_sh_get_fallback(svc, s, hash_addr, port); in ip_vs_sh_schedule()
329 dest = ip_vs_sh_get(svc, s, hash_addr, port); in ip_vs_sh_schedule()
331 if (!dest) { in ip_vs_sh_schedule()
338 IP_VS_DBG_ADDR(dest->af, &dest->addr), in ip_vs_sh_schedule()
339 ntohs(dest->port)); in ip_vs_sh_schedule()
341 return dest; in ip_vs_sh_schedule()