Lines Matching refs:dest

92 	struct ip_vs_dest	*dest;          /* real server (cache) */  member
136 ip_vs_dest_put_and_free(en->dest); in ip_vs_lblc_rcu_free()
199 u16 af, struct ip_vs_dest *dest) in ip_vs_lblc_new() argument
205 if (en->dest == dest) in ip_vs_lblc_new()
217 ip_vs_dest_hold(dest); in ip_vs_lblc_new()
218 en->dest = dest; in ip_vs_lblc_new()
402 struct ip_vs_dest *dest, *least; in __ip_vs_lblc_schedule() local
417 list_for_each_entry_rcu(dest, &svc->destinations, n_list) { in __ip_vs_lblc_schedule()
418 if (dest->flags & IP_VS_DEST_F_OVERLOAD) in __ip_vs_lblc_schedule()
420 if (atomic_read(&dest->weight) > 0) { in __ip_vs_lblc_schedule()
421 least = dest; in __ip_vs_lblc_schedule()
432 list_for_each_entry_continue_rcu(dest, &svc->destinations, n_list) { in __ip_vs_lblc_schedule()
433 if (dest->flags & IP_VS_DEST_F_OVERLOAD) in __ip_vs_lblc_schedule()
436 doh = ip_vs_dest_conn_overhead(dest); in __ip_vs_lblc_schedule()
437 if ((__s64)loh * atomic_read(&dest->weight) > in __ip_vs_lblc_schedule()
439 least = dest; in __ip_vs_lblc_schedule()
461 is_overloaded(struct ip_vs_dest *dest, struct ip_vs_service *svc) in is_overloaded() argument
463 if (atomic_read(&dest->activeconns) > atomic_read(&dest->weight)) { in is_overloaded()
485 struct ip_vs_dest *dest = NULL; in ip_vs_lblc_schedule() local
505 dest = en->dest; in ip_vs_lblc_schedule()
506 if ((dest->flags & IP_VS_DEST_F_AVAILABLE) && in ip_vs_lblc_schedule()
507 atomic_read(&dest->weight) > 0 && !is_overloaded(dest, svc)) in ip_vs_lblc_schedule()
512 dest = __ip_vs_lblc_schedule(svc); in ip_vs_lblc_schedule()
513 if (!dest) { in ip_vs_lblc_schedule()
521 ip_vs_lblc_new(tbl, &iph->daddr, svc->af, dest); in ip_vs_lblc_schedule()
527 IP_VS_DBG_ADDR(dest->af, &dest->addr), ntohs(dest->port)); in ip_vs_lblc_schedule()
529 return dest; in ip_vs_lblc_schedule()