[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: pcmcia-cs not to call ifup/ifdown by default?



On Thu, 2004-07-01 at 21:43, Per Olofsson wrote:
> Not that it matters if it's a conffile, the installer isn't bound by
> policy like maintainer scripts. But I think this is wrong. The
> package's behaviour shouldn't change just because it's been installed
> by d-i. I think that the variable should be added by pcmcia-cs's
> postinst instead.


That means you have to convert systems from using cardmgr-generated
ifup/ifdown to using hotplug-generated ifup/ifdown.  This will not
be easy.  You will have to parse /etc/network/interfaces to validate
or add the hotplug mapping stanza.  Even then, some systems will
probably break.

The following consideration may also be relevant, although it is
also a separate issue.

Recently I have been thinking that if the change is made then it
should only affect ifup, not ifdown.  That is, the new variable
assignment would be:

    DONT_IFUP=yes

And /etc/pcmcia/network would continue to run "ifdown IFACE" on stop.
Here is why.  On "cardctl eject" or on card pullout, cardmgr runs
ifdown before it attempts to remove the driver module.  In contrast,
hotplug can only run ifdown while the module is being removed
(because hotplug is triggered by the disappearance of the interface,
not by the removal of the hardware).  Some drivers (e.g., airo_cs)
are OK with this: you can "modprobe -r" the driver while the interface
is configured; when that happens, the interface is forced
to disappear and a hotplug event is generated which runs ifdown to
clean up the ifstate file.  Other drivers (e.g., xirc2ps_cs) are
not OK with this: if you "modprobe -r" the driver while the interface
is configured then the "modprobe -r" fails, the driver is not
removed and no hotplug event is generated.  For the latter sort of
drivers you have to run ifdown before "modprobe -r".

Although it seems a bit ugly for cardmgr to run ifdown without
running ifup, I think it's justified by what I've just said and by
the appropriateness of letting hotplug handle ifup's for all hot
pluggable interfaces.  Discussion welcome, of course.
--
Thomas




Reply to: