Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Nov 2011 23:49:30 +0100 (CET)
From:      GomoR <GomoR@gomor.org>
To:        freebsd-current@freebsd.org, freebsd-stable@freebsd.org
Subject:   Something broken with libdnet? Or FreeBSD 9.0-RC1?
Message-ID:  <40d293fd-1909-4ccd-a32d-750bdba58c21@ubuntu64>
In-Reply-To: <4279f879-81b0-4e08-a2d7-63aad377d437@ubuntu64>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello list,

I was updating one of my Perl module (Net::Libdnet), and came accross a bug under FreeBSD 9.0-RC1 and libdnet.
My setup is one interface configured with multiple aliases. See details at the end of the message.
One host works ok (FreeBSD 8.2-RELEASE), and another fails to find correct IP information (FreeBSD 9.0-RC1).

The main bug is that under 9.0-RC1, libdnet fails to find the correct inet address for the interface. It gets the first alias instead. I don't know if the bug comes from libdnet or 9.0-RC1, so I let knowledgeable people here to look at it (or not).

For those who want to test, you can install libdnet from /usr/ports/net/libdnet.


Host FreeBSD 8.2-RELEASE (ok):

% ifconfig re0
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
        ether MAC_ADDR
        inet PUBLIC_IP4 netmask 0xffffff00 broadcast PUBLIC_IP4.255
        inet6 LOCAL_IP6%re0 prefixlen 64 scopeid 0x1 
        inet 192.168.0.10 netmask 0xffffffff broadcast 192.168.0.10
[...many aliases...]
        inet6 PUBLIC_IP6::2 prefixlen 128 
        inet6 PUBLIC_IP6::3 prefixlen 128 
        inet6 PUBLIC_IP6::4 prefixlen 128 
        inet6 PUBLIC_IP6::5 prefixlen 128 
        inet6 PUBLIC_IP6::1 prefixlen 56 

% dnet intf get re0
re0: flags=0x31<UP,BROADCAST,MULTICAST> mtu 1500
        inet PUBLIC_IP4/24
        link MAC_ADDR
        alias fe80:1::21c:c0ff:feca:1178/64
        alias 192.168.0.10
[...many aliases...]
        alias PUBLIC_IP6::2/0
        alias PUBLIC_IP6::3/0
        alias PUBLIC_IP6::4/0
        alias PUBLIC_IP6::5/0
        alias PUBLIC_IP6::1/0


Host FreeBSD 9.0-RC1 (not ok):

% ifconfig re0
re0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
	ether MAC_ADDR
	inet 192.168.2.10 netmask 0xffffffff broadcast 192.168.2.10
[...many aliases...]
	inet 192.168.1.148 netmask 0xffffff00 broadcast 192.168.1.255
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active

% dnet intf get re0
re0: flags=0x31<UP,BROADCAST,MULTICAST> mtu 1500
	inet 192.168.2.10
	link MAC_ADDR
	alias 192.168.2.11
	alias 192.168.2.12
	alias 192.168.2.13
	alias 192.168.2.14
	alias 192.168.1.148  # Correct inet address

-- 
  ^  ___  ___             http://www.GomoR.org/          <-+
  | / __ |__/            Senior Security Engineer          |
  | \__/ |  \     ---[ zsh$ alias psed='perl -pe ' ]---    |
  +-->  Net::Frame <=> http://search.cpan.org/~gomor/  <---+




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40d293fd-1909-4ccd-a32d-750bdba58c21>