Re: [leaf-user] dhcp (pump) fails or acquire address after network (cable) outage

2005-03-07 Thread Jon Clausen
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=6595alloc_id=14396op=click

leaf-user mailing list: leaf-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/leaf-user
SR FAQ: http://leaf-project.org/pub/doc/docmanager/docid_1891.html


[leaf-user] Re: dhcp (pump) fails or acquire address

2005-03-07 Thread Darcy Parker (Home)
Good day all,
   I had a similar problem with Leaf bering 1.1 and 1.2.  I have since 
upgraded to uClibC 2.2.2.  I did find a fix for the older system when I 
was using it, I replaced PUMP with DHCPD which solved the problem.

Darcy Parker
Message: 2
Date: Sun, 06 Mar 2005 21:41:17 -0500
From: Gene Smith [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: leaf-user@lists.sourceforge.net
Subject: Re: [leaf-user] dhcp (pump) fails or acquire address after network
(cable) outage
Jon Clausen wrote, On 02/13/2005 03:27 AM:
 

On Sat, 12 Feb, 2005 at 18:00:05 -0500, Gene Smith wrote:
   

I am running a bering-leaf system with 2.4.18 kernel that I setup about 
two years ago (not sure of exact version). It has been working fine 
except for one problem. When the cable goes down and eventually comes 
back up the bering-leaf system never recovers (clients can't access 
internet). I tried restarting services (shorewall, networking, 
ifup/down) to no avail. Usually I just reboot. However I discovered that 
if I kill and re-run pump (/sbin/pump -i eth1) it then recovers and 
acquires its IP address. Could I have something configured wrong that 
prevents a automatic recovery?
 

I have been having similar (if not identical) problems lately: Link goes
down, lease expires, link comes up again, pump fails to renew.
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:
# cat /sbin/repump
#!/bin/sh
if [ -z `/sbin/pidof pump` ] ;then
   /usr/bin/logger Repump: pump looks dead, attempting resurrection;
   /sbin/pump
#else
#/usr/bin/logger Repump: pump lives, pid `pidof pump`
fi
and added:
# keeping pump alive:
*/10 *  * * *   root/sbin/repump
to /etc/crontab.
Basically a crude workaround.
(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
HTH
/Jon
   

On my system I have verified that pump *does not* die. It just seem to
quit doing its thing. 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?).
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.
-gene

--__--__--
___
leaf-user mailing list
leaf-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/leaf-user
End of leaf-user Digest
 


---
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=6595alloc_id=14396op=click

leaf-user mailing list: leaf-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/leaf-user
SR FAQ: http://leaf-project.org/pub/doc/docmanager/docid_1891.html