Hi Didier,

On 28/4/20 14:50, Didier Kryn wrote:
    Thanks Aitor for having investigated this and found a solution, though I'm not sure the cause of the delay if fully understood.

    The interfaces file describes actions which ifupdown performs  to set interfaces up and down, plus two special clauses "auto" and "allow-hotplug", which tell it which interfaces to set up automatically respectively at start-up or when the interface is plugged in (eg USB-Ethernet or USB-wifi interface). In the case of the loopback interface, "auto" is always fine because it isn't a hardware interface; in the case of other interfaces, "auto" works only if the interface is hard-wired and "allow-hotplug" works as well if it is hard-wired or hot-plug; this is why "auto" is deprecated in the installers except for lo.

    In the case of a  server, you generally want all interfaces (connected to different networks) to be brought up at start-up, therefore you just need "allow-hotplug" for all interfaces. In the case of a laptop with both a wifi and an Ethernet interface you generally do not want both interfaces to be used in the same time because they both play the role of the primary interface connected to the LAN, with identical configuration (typically "inet dhcp"). This is why you don't want ifupdown to start both; instead you need some tool able to detect if an ethernet cable is plugged in. When an ethernet cable is plugged in, this tool will tell ifupdown to configure the Ethernet interface and deconfigure the Wifi. If the cable is plugged out, it will tell it to do the opposite. I know two such tools: ifplugd and netplug. But there shouldn't be "auto" or "allow-hotplug" stanzas in the interface file in this case; their only effect is to cause a delay at start-up.

    In summary "auto" and "hotplug" assume that the interface can be configured. If you cannot assume it blindly, dont put them and install ifplugd or netplug. And this is the general case of a laptop. I understand that it would add more complexity to the installer to decide what to put in the interfaces file and it probably should not force the installation of ifplugd or netplug.

How well explained!

    I guess the policy in Debian is to install network-manager and not ifupdown. I don't know what ifupdown2 does;it is incompatible with ifplugd. Maybe it is able to detect by itself that an Ethernet cable is connected.

I'm not pretty sure at this point. Maybe ifplugd breaks with ifupdown2 due to its dependency on ifupdown, being this second one more veteran than the first one. I have no arguments to affirm wether ifplugd works or not with ifupdown2 because the debian/control file doesn't allow this blend. Maybe defining something like "Depends: ifupdown | ifupdown2, ...", in the same way than the ifupdown packaging allows to use different dhcp clients...

Aitor.


_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to