diff --git a/include/haproxy/peers-t.h b/include/haproxy/peers-t.h index ed95b0760..1b557f026 100644 --- a/include/haproxy/peers-t.h +++ b/include/haproxy/peers-t.h @@ -59,7 +59,6 @@ struct peer { int line; /* line where the section appears */ } conf; /* config information */ time_t last_change; - struct sockaddr_storage addr; /* peer address */ unsigned int flags; /* peer session flags */ unsigned int statuscode; /* current/last session status code */ unsigned int reconnect; /* next connect timer */ diff --git a/src/cfgparse.c b/src/cfgparse.c index 01a959514..fc1ab8a30 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -745,7 +745,6 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm) goto out; } } - newpeer->addr = l->rx.addr; cur_arg++; } @@ -899,12 +898,6 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm) err_code |= ERR_WARN; } - /* If the peer address has just been parsed, let's copy it to - */ - if (peer || !local_peer) { - newpeer->addr = curpeers->peers_fe->srv->addr; - } - HA_SPIN_INIT(&newpeer->lock); newpeer->srv = curpeers->peers_fe->srv; diff --git a/src/peers.c b/src/peers.c index 5eefd1830..5ed0e3f68 100644 --- a/src/peers.c +++ b/src/peers.c @@ -1083,8 +1083,9 @@ static int peer_session_init(struct appctx *appctx) struct stream *s; struct sockaddr_storage *addr = NULL; - if (!sockaddr_alloc(&addr, &peer->addr, sizeof(peer->addr))) + if (!sockaddr_alloc(&addr, &peer->srv->addr, sizeof(peer->srv->addr))) goto out_error; + set_host_port(addr, peer->srv->svc_port); if (appctx_finalize_startup(appctx, peer->peers->peers_fe, &BUF_NULL) == -1) goto out_free_addr; @@ -3966,12 +3967,12 @@ static int peers_dump_peer(struct buffer *msg, struct appctx *appctx, struct pee struct stream *peer_s; struct shared_table *st; - addr_to_str(&peer->addr, pn, sizeof pn); + addr_to_str(&peer->srv->addr, pn, sizeof pn); chunk_appendf(msg, " %p: id=%s(%s,%s) addr=%s:%d last_status=%s", peer, peer->id, peer->local ? "local" : "remote", peer->appctx ? "active" : "inactive", - pn, get_host_port(&peer->addr), + pn, get_host_port(&peer->srv->addr), statuscode_str(peer->statuscode)); chunk_appendf(msg, " last_hdshk=%s\n",