[Xorp-hackers] Is localhost IPv4 or IPv6?

Atanu Ghosh atanu at ICSI.Berkeley.EDU
Wed Aug 16 15:14:26 PDT 2006


Hi,

Either IPv4 or IPv6 addresses are acceptable as a resolution for
localhost, getting a mix is not useful.

I have changed localhost to 127.0.0.1 where appropriate.

  Atanu.

>>>>> "Mark" == Mark Handley <M.Handley at cs.ucl.ac.uk> writes:

    Mark> I'm getting random test failures on MacOS 10.4.7 (intel):
    Mark> Entering ./test_peering1.sh   -l -t test34^M
    Mark> local_config 65008 192.150.187.78^M
    Mark> register_rib^M
    Mark> add_peer localhost 10001 localhost 20001 65008 192.150.187.78 30^M
    Mark> [ 2006/08/16 11:12:11  WARNING xorp_bgp:3089 XrlBgpTarget +478 bgp_base.cc hand\
    Mark> le_bgp_0_2_add_peer ] Handling method for bgp/0.2/add_peer failed: XrlCmdError \
    Mark> 102 Command failed AddressFamilyMismatch from line 61 of iptuple.cc: mismatch l\
    Mark> ocalhost localhost^M
    Mark> [ 2006/08/16 11:12:11  ERROR call_xrl:3098 XRL +59 call_xrl.cc response_handler\
    Mark> ] Failed.  Reason: 102 Command failed AddressFamilyMismatch from line 61 of ip\
    Mark> tuple.cc: mismatch localhost localhost ("finder://bgp/bgp/0.2/add_peer?local_ip\
    Mark> :txt=localhost&local_port:u32=10001&peer_ip:txt=localhost&peer_port:u32=20001&a\
    Mark> s:u32=65008&next_hop:ipv4=192.150.187.78&holdtime:u32=30")^M
    Mark> ./test_peering1.sh: Tests Failed^M
    Mark> SIGTERM received. Exiting.^M
    Mark> ./test_peering1.sh: Tests Failed^M
    Mark> ./test_peering1.sh: Tests Failed^M
    Mark> FAIL: test_peering1.sh^M


    Mark> Seemed very odd.  The AF of localhost is not the same as the AF of
    Mark> localhost.  I can't reproduce this error by running test34 by itself -
    Mark> I only saw it in the middle of the entire test suite.  It's not always
    Mark> the same test that fails either, I've also seen test12 fail.

    Mark> I instrumented the code, and it turns out that AF for _local_sock is
    Mark> 30 (IPv6) and AF for _peer_sock is 2 (IPv4) in the particular case I
    Mark> observed, although both are specified as simply "localhost".

    Mark> So, under some circumstances MacOS decides to default to IPv6 for the
    Mark> IP address for "localhost" if you don't specify the AF.  This is
    Mark> presumably reasonable, as the default /etc/hosts file contains:

    Mark> ##
    Mark> # Host Database
    Mark> #
    Mark> # localhost is used to configure the loopback interface
    Mark> # when the system is booting.  Do not change this entry.
    Mark> ##
    Mark> 127.0.0.1       localhost
    Mark> 255.255.255.255 broadcasthost
    Mark> ::1             localhost

    Mark> I don't understand what the circumstances are where it chooses IPv4 vs
    Mark> IPv6, but it seems like perhaps we should not be specifying localhost
    Mark> by name in the test suite, but by IP address instead.

    Mark> - Mark



More information about the Xorp-hackers mailing list