Page History
- 2012-Nov-13 16:18 adesmet
- 2010-Oct-04 00:10 m
- 2010-Sep-08 11:29 adesmet
- 2010-Sep-08 11:28 adesmet
Phases
- use newer socket API without supporting IPv6 at all
- introduce ipaddr structure, which is capable of storing IPv6 address. (but no IPv6 support)
- Support IPv6
- (maybe) support dual stack (IPv4 and IPv6 on single daemon, single socket)
Phase 1
step 0: thursday, april 29
- list all functions that need to be ipv6 aware. gethostbyname, gethostbyaddr, etc.
- create wrappers for each of the above functions if they do not exist.
- find all call sites for above functions and use wrapper instead
step 1: friday, april 30
- reimplement gethostbyname (and others) to invoke getaddrinfo() instead, and copy resulting ipv4 address into hostent structure, and return. this does not change the signature of condor_gethostbyname().
step 2: monday, may 3
- deal with inet_ntoa and family?
step 3: monday, may 10
- introduce ipaddr class (which encapsulates both v4 and v6 addresses) and change function signatures where needed. update call sites.
step 4: wednesday, may 12
- introduce condor_hostent (might actually be equivalent to addrinfo), change function signatures, update call sites. hostent was static, so also add calls to free() for the new condor_hostent structure.
everything to here done by may 14th.
step 5: (next semester)
- actually populate the condor_hostent and ipaddr classes with ipv6 data. watch what breaks, come up with a plan. ipverify() and many other places in condor which assume 4-byte ip address or 21-byte address strings will need to be updated.