timing issue with ifconfig em(4) at rc.d start?
Andreas Ott
andreas at naund.org
Wed Aug 22 20:23:50 UTC 2018
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 at pci0:6:0:0: class=0x020000 card=0x10bc8086 chip=0x10bc8086 rev=0x06 hdr=0x00
em1 at pci0:6:0:1: class=0x020000 card=0x10bc8086 chip=0x10bc8086 rev=0x06 hdr=0x00
em2 at pci0:7:0:0: class=0x020000 card=0x10bc8086 chip=0x10bc8086 rev=0x06 hdr=0x00
em3 at 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 at 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 at naund.org
More information about the freebsd-current
mailing list