Package: ifplugd
Version: 0.28-19
Severity: important

after some exhaustive testing on a slow system (AMD Geode LX)
 where additional scripts (written in python) were added into
/etc/ifplugd/action.d it was observed that the "down" script
only ran approximately 20% of the time.

inspection of the source code and log files (see relevant section below)

as ifplugd is to be used to detect one mission-critical interface
and bring up another, the fact that ifplugd cannot reliably run the
interface-down script is a serious problem.

options (from /etc/default/ifplugd) as follows (note -M):

INTERFACES="eth0"
HOTPLUG_INTERFACES="eth1 ppp0 ppp1"
ARGS="-q -u0 -f -d0 -w -M"
SUSPEND_ACTION="stop"

without -M, ifplugd goes straight to Exiting on ifdown ppp1:
action script is not run.

i.e. the configuration "without -M" is undesirable (ineffective)
as notifications of interfaces going down will never be generated.

with -M, ifplugd continues to live for a short duration.  examining
/lib/udev/ifplugd.agent it appears that de-registration of the
net interface ppp1 with udev causes udev to attempt to kill ifplugd
(line 89 of /lib/udev/ifplugd.agent).  this is ALSO undesirable
behaviour.

to stop this undesirable behaviour it would make sense to use
INTERFACES= instead of HOTPLUG_INTERFACES= in order to terminate
udev from killing the ifplugd instance.

but, it is impossible to use INTERFACES="ppp1" because the ppp1 interface
is an emergency interface: it's not up at the time that ifplugd is
started (/etc/init.d/ifplugd), and /etc/init.d/ifplugd EXPLICITLY
bans monitoring of interfaces that happen not to be in /sys/class/net
at the EXACT moment that ifplugd is started

all in all, it would appear that ifplugd's configuration basically hasn't
really been properly thought through, nor is it really suited to being
simply "killed off" at random, as it could be in the middle of mission-critical
tasks at the time that it's being killed.



Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Interface disabled
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Link beat lost.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Executing 
'/etc/ifplugd/ifplugd.action ppp0 down'.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child.
Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Program execution failed, return 
value is 0.
Jul 29 16:40:12 alix6-1 pppd[13416]: Script /etc/ppp/ip-down finished (pid 
13555), status = 0x1

-- Package-specific info:

-- System Information:
Debian Release: 6.0.6
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.9.0 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages ifplugd depends on:
ii  debconf [debconf-2.0]        1.5.46      Debian configuration management sy
ii  libc6                        2.13-37     Embedded GNU C Library: Shared lib
ii  libdaemon0                   0.14-2      lightweight C library for daemons 
ii  lsb-base                     4.1+Debian8 Linux Standard Base 4.1 init scrip

Versions of packages ifplugd recommends:
ii  ifupdown                      0.7.5      high level tools to configure netw

Versions of packages ifplugd suggests:
pn  wpasupplicant                 <none>     (no description available)

-- debconf information excluded


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to