Looking for simple ifplugd example script

ibid.ag at gmail.com ibid.ag at gmail.com
Thu Feb 20 22:05:11 UTC 2014


On Thu, Feb 20, 2014 at 04:14:12PM +0000, Bryan Evenson wrote:
> I am using busybox-1.20.2 on an embedded Debian Linux machine, and I have configured Busybox to include ifplugd.  I would like ifplugd to do the following:
> 
> 1. When the Ethernet cable is plugged in, attempt DHCP on eth0
> 2. If DHCP fails, use a set static IP address
> 3. When the Ethernet cable is unplugged, unconfigure eth0
> 
> At this point, ifplugd is not running.  After some poking around, 
> I see that there is no default daemon script for ifplugd included 
> with Busybox.  I'm assuming a script to do the above isn't that 
> difficult, but I can't seem to find any examples on how to do this. 
> Does anyone have a simple example that I can go by?  I did see the 
> example in the Busybox source under examples/var_service/ifplugd_if, 
> but I couldn't make any sense of what that script did and how to make use of it.
DISCLAIMER: I haven't tried any of this, it's based on my reading of the
documentation.

I'm not sure what init system it's aimed at (runit?), but here's what I
can make out:

examples/var_service/ifplugd_if/run: starts ifplugd with ifplugd_handler
as the script.

examples/var_service/ifplugd_if/ifplugd_handler: ifplugd script; called
as 
$SCRIPT <if0> up
$SCRIPT <if0> down

A script for that would be something like:
===begin /lib/busybox/ifplugd_script===
#!/bin/sh
IP="192.268.2.1"

case $2 in
up)
	dhclient $1 || ifconfig $1 $IP
;;
down)
	ifconfig $1 down
esac
===end /lib/busybox/ifplugd_script===

You may need a good bit more magic in there, and may want to change 
the commands used.
And you'd start it with something like this commandline:

ifplugd -IfM -t 5 -i eth0 -r /lib/busybox/ifplugd_script

> 
> On a related note, I have eth0 setup in /etc/network/interfaces as:
> auto eth0
> iface eth0 inet dhcp
> 
> If I want to use a static IP address if DHCP fails, do I need to add 
> something to /etc/network/interfaces, or is that something that would belong in the ifplugd script?
> 
> Thanks,
> Bryan

I'm not sure what's the proper approach. I see notes that a static IP can be
configured via the DHCP client...

HTH,
Isaac Dunham


More information about the busybox mailing list