Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Aug 2018 13:21:35 -0700
From:      Andreas Ott <andreas@naund.org>
To:        freebsd-current@freebsd.org
Subject:   timing issue with ifconfig em(4) at rc.d start?
Message-ID:  <20180822132135.A9818@naund.org>

next in thread | raw e-mail | index | archive | help
Yesterday I installed a server from scratch from image 
FreeBSD-12.0-ALPHA2-amd64-20180816-r337934-memstick.img,
then I updated sources with svn and did make buildworld, buildkernel,
installkernel, installworld, mergemaster. Upon reboot I can no longer 
talk to the server on IPv4 but it works on IPv6, ifconfig tells me 
there is no 'inet' address configured. No IPv4 inet routes are in
place either.

If I run '/etc/rc.d/netif restart' from root shell on KVM console, I can
observe that the interface is taken down, the link light goes dark,
and then comes back up. However the "UP" log notification appears in
time *after* ifconfig attempts to apply settings to an interface
that is still down as it prints out to screen (em1 is shown there
as 'status: no carrier' at the time).

em1: link state changed to DOWN

<ifconfig prints to screen>

Link state changed to up
em1: link state changed to UP

Is there a way to delay the 'ifconfig inet' until after the link light
comes up? Or how do I force configuring an interface that's down in rc? 
Nothing changed on the configuration side or the network switch 
side since the original install. I also see in em(4) that the driver
has been reworked for 12.0, so maybe this is due to a code change?


This is running on hardware Dell R610 with a 4-port Intel PCIe NIC card

em0@pci0:6:0:0:	class=0x020000 card=0x10bc8086 chip=0x10bc8086 rev=0x06 hdr=0x00
em1@pci0:6:0:1:	class=0x020000 card=0x10bc8086 chip=0x10bc8086 rev=0x06 hdr=0x00
em2@pci0:7:0:0:	class=0x020000 card=0x10bc8086 chip=0x10bc8086 rev=0x06 hdr=0x00
em3@pci0:7:0:1:	class=0x020000 card=0x10bc8086 chip=0x10bc8086 rev=0x06 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82571EB/82571GB Gigabit Ethernet Controller (Copper)'
    class      = network
    subclass   = ethernet


$ freebsd-version -ku
12.0-ALPHA2
12.0-ALPHA2

$uname -a
FreeBSD f-current239.sjelab.net 12.0-ALPHA2 FreeBSD 12.0-ALPHA2 #0 r338153: Tue Aug 21 21:02:41 UTC 2018     root@f-current239.sjelab.net:/usr/obj/usr/src/amd64.amd64/sys/GENERIC

Relevant network config bits from /etc/rc.conf

ifconfig_em1="inet 100.79.136.239 netmask 255.255.255.0 up"
defaultrouter="100.79.136.1"
ifconfig_em1="inet6 2600:c02:b020:136::239 prefixlen 64"
ipv6_defaultrouter="2600:c02:b020:136::2"

$ ifconfig em1
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=81049b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LRO,VLAN_HWFILTER>
	ether a0:36:9f:30:de:ad
	inet6 fe80::a236:9fff:fe3d:ead%em1 prefixlen 64 scopeid 0x6 
	inet6 2600:c02:b020:136::239 prefixlen 64 
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>


More details are available if needed.

Thanks, andreas
-- 
Andreas Ott   K6OTT   +1.408.431.8727   andreas@naund.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180822132135.A9818>