Hi, I have been working on improving IPv6 support of ldirectord for a few weeks. I would like to hear your opinion or ideas about how to write ldirectord.conf. Q1. Should ldirectord support an IPv6 hostname in ldirectord.conf? A manual of ldirectord says that a hostname can be written in "virtual", "real", "fallback" and so on. Current implementation of ldirectord handles the hostname as only IPv4. It partially supports IPv6, and can write only IPv6 addresses. But it does not have a way to write a hostname as IPv6. Because there is no way to distinguish between IPv4 and IPv6. Should ldirectord support an IPv6 hostname in ldirectord.conf? Q2. If the answer of Q1 is yes, how do you want to write? [Candidate 1] Adding a new keyword like a "ipversion". A default value of "ipversion" is 4 (IPv4). fallback=fallback.example.com fallback6=fallback.example.com virtual=virtual.example.com:daytime real=real1.example.com:daytime gate real=10.10.10.10:daytime gate virtual=virtual.example.com:daytime ipversion=6 real=real1.example.com:daytime gate real=[2001:db8::10]:daytime gate This way cannot handle a global "fallback" variable. We must have a way to distinguish between IPv4 and IPv6 when a hostname is specified in the global "fallback" variable. To achieve this, there is a way to add a new variable of "fallback6". Any other good ideas? [Candidate 2] Adding new keywords of "virtual6" and "fallback6". "virtual6" is an IPv6 version of "virtual". If a hostname and an IP address are specified in the "virtual6" line and in its section, they are treated as an IPv6 address and the hostname will be resolved into an IPv6 address. "fallback6" is just a global variable. It cannot be specified in a virtual section. If no "fallback" in a "virtual6" section is defined, the variable of "fallback6" will be used. If "fallback" in the "virtual6" section is defined, it is treated as an IPv6 address. fallback=fallback.example.com fallback6=fallback.example.com virtual=virtual.example.com:daytime real=real1.example.com:daytime gate real=10.10.10.10:daytime gate virtual6=virtual.example.com:daytime real=real1.example.com:daytime gate real=[2001:db8::10]:daytime gate This way breaks a backward compatibility. Current ldirectord can write an IPv6 address in a "virtual" line. But this way cannot. [Candidate 3] Completely separate IPv4 and IPv6 using "hoge6" keywords. Adding new keywords which denote IPv6. These keywords can handle IPv6 only and have a name "hoge6". fallback=fallback.example.com fallback6=fallback.example.com virtual=virtual.example.com:daytime real=real1.example.com:daytime gate real=10.10.10.10:daytime gate virtual6=virtual.example.com:daytime real6=real1.example.com:daytime gate real6=[2001:db8::10]:daytime gate fallback6=localhost:daytime This way is very similar to [Candidate 2]. But it is consistent and easy to read. A demerit is a bit redundant? [Candidate 4...] Any other good ideas? -- Sohgo Takeuchi -- To unsubscribe from this list: send the line "unsubscribe lvs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html