Instead of open-coding a tree lookup, in sticking rules and server_find(),
let's just rely on server_find_by_name() which now does exactly the same.
curserver = server_find_by_id(bk, atoi(name + 1));
}
else {
- struct ebpt_node *node;
-
- node = ebis_lookup(&bk->conf.used_server_name, name);
- if (node)
- curserver = container_of(node, struct server, conf.name);
+ curserver = server_find_by_name(bk, name);
}
return curserver;
struct ebpt_node *node;
if (t->server_key_type == STKTABLE_SRV_NAME) {
- node = ebis_lookup(&px->conf.used_server_name, de->value.key);
- if (node) {
- srv = container_of(node, struct server, conf.name);
+ srv = server_find_by_name(px, de->value.key);
+ if (srv)
goto found;
- }
} else if (t->server_key_type == STKTABLE_SRV_ADDR) {
HA_RWLOCK_RDLOCK(PROXY_LOCK, &px->lock);
node = ebis_lookup(&px->used_server_addr, de->value.key);