[PATCH 09/13] Have DHCP release the lease on ifdown, rather than just exiting
Matthew W. S. Bell
matthew at bells23.org.uk
Sat Apr 25 18:18:34 UTC 2009
From: Matthew W. S. Bell <mentor at engelbert.(none)>
Signed-off-by: Matthew W. S. Bell <matthew at bells23.org.uk>
---
src/netconf/ifaces/dhcp/dhcp3_client.py | 12 ++++++++++--
src/netconf/ifaces/eni/inet/dhcp.py | 2 +-
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/netconf/ifaces/dhcp/dhcp3_client.py b/src/netconf/ifaces/dhcp/dhcp3_client.py
index cdb8695..c25168d 100644
--- a/src/netconf/ifaces/dhcp/dhcp3_client.py
+++ b/src/netconf/ifaces/dhcp/dhcp3_client.py
@@ -361,14 +361,22 @@ class dhclient3Proxy(logger.Mixin):
@public
def stop(self, cmd, manip, cb_result, verbose):
+ self._close(cmd, manip, cb_result, verbose, '-x')
+
+ @public
+ def release(self, cmd, manip, cb_result, verbose):
+ self._close(cmd, manip, cb_result, verbose, '-r')
+
+ @private
+ def _close(self, cmd, manip, cb_result, verbose, args):
self._iface = cmd.iface
self._manip = manip
argv = dhclient3Proxy._DHCLIENT_COMMAND % \
{ 'iface' : self._iface
- , 'args' : '-x'
+ , 'args' : args
}
- self._log.debug('starting dhclient -x: ' + argv)
+ self._log.debug('starting dhclient: ' + argv)
proc = subprocess.Popen(argv.split(), stdout=subprocess.PIPE,
stderr=subprocess.PIPE, stdin=subprocess.PIPE)
diff --git a/src/netconf/ifaces/eni/inet/dhcp.py b/src/netconf/ifaces/eni/inet/dhcp.py
index e6de5c3..3772791 100644
--- a/src/netconf/ifaces/eni/inet/dhcp.py
+++ b/src/netconf/ifaces/eni/inet/dhcp.py
@@ -64,5 +64,5 @@ class EniInetDhcpMethod(EniBaseMethod):
self._log.debug('got STOP or RELEASE, returning success '
'to continue queue...')
cb_result(SuccessResult('ok'))
- dhclient3Proxy(self._core).stop(cmd, self._manip, _handled_stop,
+ dhclient3Proxy(self._core).release(cmd, self._manip, _handled_stop,
verbose)
--
1.6.2.4
More information about the netconf-devel
mailing list