Networking: add more outbound IP binding fixes
Same as the original bind fixes (we just missed these the first time around). This helps Redis not automatically send connections from the first IP on an interface if we are bound to a specific IP address (e.g. with multiple IP aliases on one interface, you want to send from _your_ IP, not from the first IP on the interface).
This commit is contained in:
parent
6028313f90
commit
2dbdfa708d
@ -4307,8 +4307,8 @@ int migrateGetSocket(redisClient *c, robj *host, robj *port, long timeout) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Create the socket */
|
/* Create the socket */
|
||||||
fd = anetTcpNonBlockConnect(server.neterr,c->argv[1]->ptr,
|
fd = anetTcpNonBlockBindConnect(server.neterr,c->argv[1]->ptr,
|
||||||
atoi(c->argv[2]->ptr));
|
atoi(c->argv[2]->ptr),REDIS_BIND_ADDR);
|
||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
sdsfree(name);
|
sdsfree(name);
|
||||||
addReplyErrorFormat(c,"Can't connect to target node: %s",
|
addReplyErrorFormat(c,"Can't connect to target node: %s",
|
||||||
|
@ -1357,7 +1357,8 @@ error:
|
|||||||
int connectWithMaster(void) {
|
int connectWithMaster(void) {
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
fd = anetTcpNonBlockConnect(NULL,server.masterhost,server.masterport);
|
fd = anetTcpNonBlockBindConnect(NULL,
|
||||||
|
server.masterhost,server.masterport,REDIS_BIND_ADDR);
|
||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
redisLog(REDIS_WARNING,"Unable to connect to MASTER: %s",
|
redisLog(REDIS_WARNING,"Unable to connect to MASTER: %s",
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user