[Netconf-devel] Re: zeroconf configuration method / option?

Thomas Hood jdthood@yahoo.co.uk
Sun, 03 Apr 2005 17:21:41 +0200


severity 302684 serious
tags 302684 sid
thanks

On Sun, 2005-04-03 at 15:28 +0100, Mark Brown wrote:
> It would be helpful if the program were to monitor the configuration of
> the interface and only bring up a zeroconf address in the absence of any
> other configuration (though if it were to do this it ought to look out
> for active use of a zeroconf address before deconfiguring it to ease
> failover).


Ifupdown is supposed to be the one that controls the configuration of an
interface, or at least: which protocol is used to configure an
interface.  Unfortunately, ifupdown is not really up to the task of
configuring interfaces in a dynamic environment.  It is not a daemon, so
it cannot notice changes and initiate reconfiguration.  Hotplug, ifplugd
and waproamd have been enhanced in order to work around this limitation
(they run ifup and ifdown on various events), but it looks as if it will
be harder to force zeroconf into the mold.  

For the time being I think that the cleanest thing to do is to add a
zeroconf method to the inet and inet6 address families.  Initially the
user will have to switch manually between, say, the dhcp method and the
zeroconf method.

Primitive automation could be added in the form of a program that tries
to ifup an interface using the dhcp method, failing which it attempts to
ifup the interface using the zeroconf method.  But this is hackish.

In the long run ifupdown needs to be replaced by a daemon which takes
responsibility for optimizing the network configuration given all the
information arriving in the form of events like these:

    creation of interface
    renaming of interface
    plugging in of cable
    wireless access point becoming available
    DHCP server becoming available
    static configuration information made available
    zeroconf configuration becoming possible

and their opposites.


> Something (either the script or the program) also ought to check to make
> sure that the interface it is being configured for is one that uses ARP
> before running.


Agreed.

If we add a zeroconf method then the ifup attempt will simply fail if
the interface doesn't support zeroconf.

I am upgrading the severity of this bug so that zeroconf doesn't slide
into testing in its current form.  The if-up.d hook script needs to be
removed.

I will wait for feedback from the zeroconf maintainer before starting
work on adding a zeroconf configuration method to the experimental
version of ifupdown.

-- 
Thomas Hood <jdthood@yahoo.co.uk>