/* If this destination server is overloaded and there is a less loaded server, then return true.  */
static int is_overloaded(struct ip_vs_dest *dest, struct ip_vs_service *svc)
/* If this destination server is overloaded and there is a less loaded server, then return true.  */
static int is_overloaded(struct ip_vs_dest *dest, struct ip_vs_service *svc)
{
	if (atomic_read(&dest->activeconns) > atomic_read(&dest->weight)) {
		struct ip_vs_dest *d;
		list_for_each_entry(d, &svc->destinations, n_list) {
			if (atomic_read(&d->activeconns)*2
			    < atomic_read(&d->weight)) {
				return 1;
			}
		}
	}
	return 0;
}