Bug 19502 - pump only attempts new lease once after expiration
Summary: pump only attempts new lease once after expiration
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: pump
Version: 6.2
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Elliot Lee
QA Contact: David Lawrence
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2000-10-21 06:24 UTC by Scott Renfro
Modified: 2007-04-18 16:29 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2001-07-20 15:07:25 UTC
Embargoed:


Attachments (Terms of Use)
proposed patch to forever retry new lease request post expiration (3.44 KB, patch)
2000-10-21 06:25 UTC, Scott Renfro
no flags Details | Diff

Description Scott Renfro 2000-10-21 06:24:00 UTC
In short, if pump fails to renew a lease prior to expiration, it
tries once, and only once, to get a new lease.  If this fails, it
exits (leaving the interface configured). This is undesirable for
two reasons: a) since the interface is left up and running it leads
to IP address conflicts and b) it's not very friendly since it
requires users to restart pump unnecessarily. In many situations,
this attempt to get a new lease will fail for the same reason that
the renew failed.  Note this should occur less frequently once the
patch from 19501 is applied but is still a problem.

The attached patch adds a new state (PUMP_INTFINFO_NEEDS_NEWLEASE)
to pump.h.  When renews fail and the lease has expired, we set this
bit in pumpNetIntf.set and set renewAt to 30 seconds from now. In
each iteration of the while(1) loop in runDaemon(), we check if
the current interface is in this state.  If so we try to get a new
lease for it.  This should allow dhcp machines to survive the
situation where the dhcp server is not reachable for a short period
of time (or really any period of time).

This was found during a short code review of the pump source code
after the incident described in
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=19501. Note
that I have not tested the attached patch since I don't run RH and
the issue was with another user's RH box. At a minimum, consider
this a design proposal (although I think the patch should be close
to correct modulo the comments about doing this every 30 secs
forever).

-scott

Comment 1 Scott Renfro 2000-10-21 06:25:21 UTC
Created attachment 4488 [details]
proposed patch to forever retry new lease request post expiration

Comment 2 Scott Renfro 2000-10-21 06:28:57 UTC
Note that this patch assumes that the patch in Bug 19501 has already
been applied.


Comment 3 Eugene Kanter 2001-04-06 16:15:19 UTC
I have seen the described behavior many times. It is extremely annoying and 
needs to be fixed.

Comment 4 Elliot Lee 2001-07-20 15:07:36 UTC
patch applied (and removed #19501 patch since it is included in this one)


Note You need to log in before you can comment on or make changes to this bug.