It is not decided whether to have host byte order or network byte order. sockaddr_in always have network byte order in it. However, the class itself should be convertible to sockaddr_in or sockaddr_in6. However, byte-level compatibility may not be required. So, we need something like IPaddress::to_sockaddr_in6() function.
 
+{section: Unified Address Class}
+
+I juggled many design possibilities. I came to the conclusion that unified address class should contain sockaddr_in6. Here is how sockaddr_in6 look like
+
+{code}
+// code from <linux/in6.h>
+
+struct sockaddr_in6 {
+    unsigned short int  sin6_family;    /* AF_INET6 */
+    __u16           sin6_port;      /* Transport layer port # */
+    __u32           sin6_flowinfo;  /* IPv6 flow information */
+    struct in6_addr     sin6_addr;      /* IPv6 address */
+    __u32           sin6_scope_id;  /* scope id (new in RFC2553) */
+};
+{endcode}
+
+Notable difference from sockaddr_in(IPv4 address/port storage) is that it has scope id. Scope id denotes a ethernet interface in a system. Scope id binds IP address shown in sockaddr_in6 to specific ethernet interface. That binding is necessary because some IPv6 addresses are limited to an ethernet interface. Google about 'link local address' would be helpful.
+
 {section: Todo}
 Manageable daily work-list.
 
 1:remove every obsolete interface.
-1:find places where use 'int' as IP address storage. mark and count them.
-1:make unified address class
 1:change every incidents where use sockaddr,sockaddr_in, and int.
+1:change IpVerify not to depend on IPv4 address
 
 {section: Done}
 
@@ -80,6 +97,7 @@
 *:investigate security and authentication code that deals IPv4 address directly. IP verifier?
 *:investigate every source code where calls obsolete BSD socket interface.
 *:make a git branch
+*:IpAddr class, unified address class
 
 {section: Note}
 *:In a server, we want to accept both IPv4 and IPv6 connections in single program(process). There are two choices with dealing IPv4 and IPv6 co-existence.
@@ -97,6 +115,6 @@
 
 *:Do you have any good arguments for having network-byte-order IP address instead of having host-byte-order IP address?
 
-*:check point server and syscall library. will they eventually replaced by DMTCP?
+*:check point server and syscall library. will they eventually replaced by DMTCP? they contains IPv4 functions but maybe I don't need to care about them.
 
 {subsection: *** currently, this is just temporary page}