Thoughts on network detection and configuration on Debian
* Thoughts on network detection and configuration on Debian
There are a lot of packages for automatic network detection and
reconfiguration on debian: whereami, divine, intuitively,
laptop-netconf, laptop-net, netenv and maybe others. IMHO they all have
a problem: they do network detection AND reconfiguration. This is a
problem because Debian already has a way to configure network
interfaces, provided by the base package ifupdown.
ifupdown already provides a way to define configuration profiles, and
hooks for selecting the good one. This means that Debian does not need
a unique tool for network detection AND reconfiguration, but two
different tools, one for network detection and one for system
All the mentioned packages provide great ways of detecting what the
correct configuration profile is, and great ways for reconfiguring the
system to use the correct profile. When I say great, I mean great: have
a look at whereami, for example.
The problem is, they don't integrate with Debian. guessnet is a try at
solving the network detection part of the problem, but it only chooses a
profile looking if a given NIC is found on an ethernet network. Much
more can be done: have a look at whereami again, for some good examples.
Then we have the system reconfiguration part. For simple needs,
ifupdown can take care of it, possibly with the aid of a couple of
up/pre-up/down/pre-down commands. For more complex needs, ifupdown
doesn't provide an elegant solution. Maybe the existing reconfiguration
methods could be hooked to ifupdown like wvdial has been, but I'm not
confortable with the entangled ifupdown sources to elaborate more on
that. Maybe the problem of system reconfiguration is an intrinsic mess
and an attempt to solve it cleanly will always bring you to the fields
that linuxconf, dotfile, webmin and others try to address.
In my opinion we should have, as a rule of thumb, one single tool to
solve one single problem. laptop-net is another example on breaking
this rule: it has a nice feature to monitor link beat on ethernet
interfaces, reconfiguring the system when you replace the network cable
from your NIC. I'd like to use it to just call ifdown and ifup, that in
turn do network detection using guessnet, and configuration using
whatever I like best, but that facility is tied to laptop-net network
reconfiguration and other gizmos that I don't need.
I'd like to cooperate with the authors and users of the involved
packages to address this problem and see what they think. If we share
the same concerns, maybe we should merge efforts and try to clean up the
I'm posting this message on both debian-devel and debian-laptop to try
and reach all the interested parties. I have no idea, however, on where
the discussion should take place.
GPG key: 1024D/797EBFAB 2000-12-05 Enrico Zini <email@example.com>