A call to
getaddrinfo(3)
might return multiple answers. According to RFC 3484 these answers must
be sorted so that the answer with the highest success rate is first in
the list. The RFC provides and algorithm for the sorting. The static
rules are not always adequate, though. For this reason the RFC also
requires that system administrators get the chance to dynamically change
the sorting. For the glibc implementation this can be achieved with
the
/etc/gai.conf
file.
Each line in the configuration file consists of a keyword and its
parameters. White spaces in any place are ignored. Lines starting
with `#' are comments and are ignored.
The keywords currently recognized are:
labelnetmaskprecedence
The value is added to the label table used in the RFC 3484 sorting.
If any label definition is present in the configuration file
is present the default table is not used. All the label definitions
of the default table which are to be maintained have to be duplicated.
Following the keyword the line has to contain a network mask and a label
value.
precedencenetmaskprecedence
This keyword is similar to label but instead the value is added
to the precendence table as specified in RFC 3484. Once again, the
presence of a single precedence line in the configuration file
causes the default table to not be used.
reload <yes|no>
This keyword control whether a process checks whether the configuration
file has been changes since the last time it was read. If the value is
`yes' the file is re-read. This might cause problems in multi-threaded
applications and is generally a bad idea. The default is `no'.
EXAMPLE
The default table according to RFC 3484 would be specified with the
following configuration file: