Jeff Trawick <[EMAIL PROTECTED]> writes:
> A useful performance improvement can be achieved by allowing the
> administrator to select the following algorithm:
>
> lookup IPv4
> if at least one IPv4 address was found, we're done
> lookup IPv6
Getting more specific, I envision a directive that works like this:
NameLookups All|IPv4Okay|IPv6Okay
All: current behavior -- tell resolver to find everything
IPv4Okay: try IPv4 first, don't look for IPv6 unless no IPv4 addresses found
note: if the host is specified in the form of an IPv6
numeric address string, APR will do the right thing
IPv6Okay: try IPv6 first, don't look for IPv4 unless no IPv6 addresses found
note: if the host is specified in the form of an IPv4
numeric address string, APR will do the right thing
(potentially we could add something like this in the future, though I
don't think that is necessary now since it is an optimization for an
error path:
IPv4Only: only look for IPv4 addresses
IPv6Only: only look for IPv6 addresses
)
I guess core should export the information via a function like
ap_get_name_lookup_opts(apr_int32_t *opts)
which will set a variable to be OR-ed with any other appropriate
apr_sockaddr_info_get() flags to achieve the proper behavior.
--
Jeff Trawick | [EMAIL PROTECTED]
Born in Roswell... married an alien...