On Sun, 06 Mar, 2005 at 21:41:17 -0500, Gene Smith wrote:
> Jon Clausen wrote, On 02/13/2005 03:27 AM:
> >On Sat, 12 Feb, 2005 at 18:00:05 -0500, Gene Smith wrote:

<snip>

> >AFAICT there's a bug which makes pump exit, when no dhcp-server can be
> >reached after N retries. I'm not absolutely sure this is what actually
> >happens, but some googling turned up links to that effect. (Sorry I can't
> >reproduce the search ATM)
> >
> >Working on the *assumption* that pump indeed dies, I threw this together:

<snip>

> >(Un)fortunately the ISP seems to have gotten their act together, at about
> >the same time as I did the above. Hence I don't know whether or not it 
> >works as desired... :P

> On my system I have verified that pump *does not* die. It just seem to
> quit doing its thing.

Yes. I can confirm that this is indeed what happens.

> I have to kill it and restart it to get my ip addr
> back. Also, I see no indication in /var/log/syslog that there was a
> problem other than the lack of the typical slew of messages pump
> generates when it does a periodic renew. Not even sure ISP was down
> since syslog indicated that shorewall was rejecting stuff during the
> time my lease was expired and pump did not run (if that is possible?).

Well... Maybe your ISPs dhcp server was down, but your connection was not?

> Question: How is pump normally started on boot? I am unable to figure
> out how it starts up after looking through the various files. I see
> indications that it is somehow tied in with ifup or possibly shorewall
> startup.

Honestly, I don't know.

For the problem at hand, however, I now have something which might provide a
(different) workaround. It's still just a workaround, and I think we should
probably consider getting a newer/better pump, or alternatively switch to
dhclient.

What I have is two scripts.

/sbin/repump which checks;
1; (by way of ping) the reachability of the gateway
2; if the interface has an ip

if 1 fails a warning is produced, if 2 fails an error is produced. When more
than 3 warnings occur, an error is produced. When the errors reach 3, the
interface is restarted (forcing pump to renegotiate).

I run it every two minutes from cron, and it seems to be doing it's job.

Now, in order for /sbin/repump to know the (correct) gateway address
(automatically) I'm making use of a script which was orginally intended to
support something else. This script is placed in

/etc/network/if-up.d/store_ifinfo and is symlinked from
/etc/network/if-down.d/store_ifinfo

which means that the script is called when an interface goes up, or down.

What is does (going up) is 'intercept' the interface ip parameters which (I
discovered) exist as environment vars at this point, and stores them in a
file /var/run/ifinfo/$IFACE

The scripts are still a bit too rough around the edges for me to 'go public'
with them, but if you (Gene) want to, I'll send them. They basically work
(for me anyway)...

/Jon
-- 
YMMV


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
------------------------------------------------------------------------
leaf-user mailing list: [email protected]
https://lists.sourceforge.net/lists/listinfo/leaf-user
SR FAQ: http://leaf-project.org/pub/doc/docmanager/docid_1891.html

Reply via email to