Thanks Pascal!

On Aug 16, 2016, at 12:59 AM, Pascal Hambourg <pas...@plouf.fr.eu.org> wrote:

> Le 16/08/2016 à 09:03, Rick Thomas a écrit :
>> 
>> Aug 14 17:02:41 sheeva systemd[1]: Starting Raise network interfaces...
>> Aug 14 17:02:46 sheeva ifup[893]: /sbin/ifup: waiting for lock on 
>> /run/network/ifstate.eth0
>> Aug 14 17:02:49 sheeva ifup[893]: RTNETLINK answers: File exists
> 
> "RTNETLINK answers: File exists" typically happens when you try to add an 
> address or a route which is already exists with "ip", which is the tool used 
> internally by ifup.
> 
>> However the interface *is* up:
> 
> Yes but the configuration may not be complete.

It happens that it is complete, but I understand that it might not be.

> 
>> --------- /etc/network/interfaces ------------
>> # This file describes the network interfaces available on your system
>> # and how to activate them. For more information, see interfaces(5).
>> 
>> # The loopback network interface
>> auto lo eth0
>> iface lo inet loopback
>> 
>> # The primary network interface
>> allow-hotplug eth0
>> iface eth0 inet static
>>      address 192.168.3.111
>>      netmask 255.255.240.000
>>      network 192.168.0.0
>>      broadcast 192.168.15.255
>>      gateway 192.168.1.1
> 
> Note that the network and broadcast options are not required. If missing, 
> they will be calculated from the address and net mask values.

Thanks.  I’ll keep that in mind for next time.  No harm in leaving them in 
though, right?

> 
>> iface eth0 inet6 static
>>       address 2001:1234:2d2:1:f2ad:4eff:fe00:3077
>>       netmask 64
> 
> This IPv6 address looks like an autoconfigured address calculated from the 
> MAC address. You should not statically assign this kind of address.

You are correct.  I assumed that when the IPv4 address needed to be static, the 
same was true for the IPv6 address as well.  I further assumed that declaring 
it to be inet6 static would prevent it from getting any address from the RA.  
Apparently not.

Why do you say that I should not statically assign this kind of address?  As 
long as it’s the same as it would be getting dynamically, is there any harm? 
(other than the one we’re observing here?)

> 
> If a router in your network sends IPv6 Router Advertisements (RA) with the 
> prefix 2001:1234:2d2:1::/64, then the kernel may autoconfigure the same 
> address, so this could be the duplicate.
> 
> “ip -6 addr" shows whether an IPv6 address was statically or dynamically 
> assigned.

It seems that it is getting a dynamic address from the RA (Yes, it’s the same 
address as I am statically assigning.)  Prior to the most recent Sid update, it 
did not get a dynamic address.  Is that a bug?  If so, is the bug in the 
previous behavior or the current behavior?  can someone explain what the 
purpose of the change was?

In any case, I commented out the inet6 stanza and now it boots without error.  
Also, IPv6 gets configured OK (dynamically).  

> 
> Note for Hans : the network and broadcast addresses are consistent with the 
> netmask.
> 

Yes, for historical reasons I have machines on this LAN whose IPv4 addresses 
have 3rd octets in the range 0-15.  The RFC1918 (192.168.xx.xx) address range 
is a true class B ( or “/16”, if you prefer cider notation) and it can be 
carved up any way you want.  It’s often used as a bunch of class Cs ( or 
“/24”s) but that’s not mandatory.

Rick

PS: I’d like to leave this bug open until we can be sure we understand the 
reason that the behavior changed.  This may be a hint that points to a timing 
glitch in the way systemd configures network interfaces that could cause more 
serious problems down the road.

Reply via email to