Date: Wed, 22 Aug 2018 13:30:37 -0700 From: Freddie Cash <fjwcash@gmail.com> To: andreas@naund.org Cc: FreeBSD-Current <freebsd-current@freebsd.org> Subject: Re: timing issue with ifconfig em(4) at rc.d start? Message-ID: <CAOjFWZ7erRjAr7mtw0DNPv=eKjSq_x5d-BbbQ44eJS2xg43RGQ@mail.gmail.com> In-Reply-To: <20180822132135.A9818@naund.org> References: <20180822132135.A9818@naund.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Aug 22, 2018 at 1:25 PM Andreas Ott <andreas@naund.org> wrote: > 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" > There's nothing wrong with the timing. Your rc.conf is incorrect. The second ifconfig_em1 line overrides the former. These are variable declarations, not commands. The last setting for a variable is the only one that takes place. Either look through /etc/defaults/rc.conf for the ipv6-related entries, or switch to using an alias entry for ipv6: ifconfig_em1="inet 100.79.136.239 netmask 255.255.255.0 up" ifconfig_em1_alias0="inet6 2600:c02:b020:136::239 prefixlen 64" -- Freddie Cash fjwcash@gmail.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOjFWZ7erRjAr7mtw0DNPv=eKjSq_x5d-BbbQ44eJS2xg43RGQ>