[CTDB] function ctdb_sys_have_ip() always returns true if NONLOCAL BINDING is turned on

Martin Schwenke martin at meltin.net
Mon Jun 26 04:00:31 UTC 2017


On Mon, 26 Jun 2017 11:39:09 +0800, "zhangzujian.7 via samba-technical"
<samba-technical at lists.samba.org> wrote:

> I found that function ctdb_sys_have_ip() in *common/system_common.c*
> always returns true if nonlocal binding is turned on (sysctl -w
> net.ipv4.ip_nonlocal_bind=1).

Yes, we know that you can't use net.ipv4.ip_nonlocal_bind=1 with CTDB's
public IP addresses.  We created the configuration variable
CTDB_NODE_ADDRESS for a user who was using CTDB and haproxy on the same
cluster.  They weren't planning to use CTDB's public addresses.

> I suggest that the function should be implemented with a better
> method.

It probably should.  However, most of the code for handling public IP
addresses will probably be rewritten in the next 12 months, so this
problem will go away.

Why do you need to use net.ipv4.ip_nonlocal_bind=1 ?

Thanks...

peace & happiness,
martin



More information about the samba-technical mailing list