I'm using both IPv6 and IPv4 in a LAN network containing Slackware 13.0 boxes. How can I set IPv4 as preferred protocol on the workstations in this network? I want to use IPv6 either explicitly or when there are only AAAA records available. For example, if I try to open http://ipv6.org/ from Firefox, I will always connect via IPv6. The situation is the same with other applications. I tried creating /etc/gai.conf and adding the following to it:

precedence ::ffff:0:0/96  100

This should control the behavior of getaddrinfo(3) at least in Debian, but it didn't help on Slackware.

Any ideas will be appreciated. Thanks in advance!

  • 1
    Thank you very much for pointing at /etc/gai.conf! I was searching forr it for about half a year! :)
    – kolypto
    Dec 12, 2009 at 18:00

2 Answers 2


According to the man page, inserting a precedence value in gai.conf disables the all the other default rules. Try setting all the rules as listed in RFC 3484 (10.3):

  Prefix        Precedence Label
  ::1/128               50     0
  ::/0                  40     1
  2002::/16             30     2
  ::/96                 20     3
  ::ffff:0:0/96        100     4
  • 1
    Adding just the last one seems to be enough. That is precedence ::ffff:0:0/96 100.
    – Ale
    Apr 29 at 9:28

ipv6 isn't really my area of expertise, but on the man page for resolver(5) there seems to be a few options in /etc/resolv.conf that could be related:

options inet6 sets RES_USE_INET6 in _res.options. This has the effect of trying a AAAA query before an A query inside the gethostbyname(3) function, and of mapping IPv4 responses in IPv6 "tunneled form" if no AAAA records are found but an A record set exists.

Maybe your clients have that option set?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.