In bottom line, I recommend you to have class IpAddr (which is basically sockaddr_in6 with helper functions) even you only want IP address. +{section: Condor NO_DNS option} + +In Condor, NO_DNS option eliminates its dependency to Domain Name System. According to condor_netdb.c + +{code} +/* SPECIAL NAMES: + * + * If NO_DNS is configured we do some special name/ip handling. IP + * addresses given to gethostbyaddr, XXX.XXX.XXX.XXX, will return + * XXX-XXX-XXX-XXX.DEFAULT_DOMAIN, and an attempt will be made to + * parse gethostbyname names from XXX-XXX-XXX-XXX.DEFAULT_DOMAIN into + * XXX.XXX.XXX.XXX. + */ +{endcode} + +Its name mangling rule is restricted to IPv4. So it should be extended to IPv6 as well. + +There are restrictions on host name in DNS. According to the Wikipedia, + +Host names are restricted to a small subset of the ASCII character set known as LDH, the Letters A–Z in upper and lower case, Digits 0–9, Hyphen, and the dot to separate LDH-labels; see RFC 3696 section 2 for details. This prevented the representation of names and words of many languages natively. + +Thus, we may convert IPv6 address [aaaa:bbbb:cccc:dddd:eeee:ffff:0000:1111] to aaaa-bbbb-cccc-dddd-eeee-ffff-0000-1111. + {section: Converting obsolete BSD interface} Since we have few hundreds lines of code, I think I can change it by manually. But scary thing is how to test all of them. Do you have any idea? I am desperate.