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.