NetworkManager/src
Dan Williams 90a77565d4 dhcp: treat lease expiry as failure (rh #1139326)
Lease expiry means that the DHCP configuration is no longer valid, and
that all attempts to renew/rebind the lease have failed.  The IP config
needs to be removed.  NetworkManager also sets prefered/valid lifetimes
on addresses, so the kernel will remove them when the lease expires
anyway.  That causes removal of the default route, if the default route
was through the device whose config has now expired.

DHCP clients will typically move to the 'renew' or 'rebind' states when
nearing lease expiry, then if no answer is received move to the 'expire'
state.  Eventually they move to the 'fail' state when all attempts to
contact the server have failed.

Previously, since NM ignored the 'expire' DHCP state it would not clear
out the DHCP IP4 config immediately when the lease expired, instead
waiting for the DHCP client to move to the 'fail' state.  But if the
DHCP server appeared between the 'expire' and 'fail' states, NM would
not notice and the device's NMIP4Config would not change, and thus the
Policy would not get the "ip4-config-changed" signal to re-add the
default route that the kernel had previously removed due to the valid
lifetime reaching zero when the lease expired.

https://bugzilla.redhat.com/show_bug.cgi?id=1139326
2014-10-02 15:02:44 -05:00
..
devices dhcp: fail the device if DHCP fails after having succeeded earlier (rh #1139326) 2014-10-02 15:02:43 -05:00
dhcp-manager dhcp: treat lease expiry as failure (rh #1139326) 2014-10-02 15:02:44 -05:00
dns-manager core: consolidate helper progam searching (bgo #734131) 2014-09-11 12:11:56 -05:00
dnsmasq-manager core: consolidate helper progam searching (bgo #734131) 2014-09-11 12:11:56 -05:00
firewall-manager all: remove a bunch of unnecessary dbus/dbus-glib includes 2014-09-03 10:45:24 -04:00
platform platform: fix parsing vxlan netlink message for older kernel 2014-09-25 17:45:53 +02:00
ppp-manager core: consolidate helper progam searching (bgo #734131) 2014-09-11 12:11:56 -05:00
rdisc rdisc: add RA wait timeout 2014-08-29 16:03:36 -05:00
settings core: fix assertion when comparing missing hwaddr while searching connection for device 2014-09-30 12:02:15 +02:00
supplicant-manager libnm-core: change DBUS_TYPE_G_UCHAR_ARRAY properties to G_TYPE_BYTES 2014-09-04 09:20:11 -04:00
tests tun: port to internal device factory 2014-09-11 12:50:17 -05:00
vpn-manager libnm: port to GDBus 2014-09-18 11:51:09 -04:00
main.c auth: rework polkit autorization to use DBUS interface directly 2014-09-29 13:51:11 +02:00
Makefile.am auth: rework polkit autorization to use DBUS interface directly 2014-09-29 13:51:11 +02:00
NetworkManagerUtils.c core: minor fix in nm_utils_kill_child_sync() having side-effects in MIN() macro (again) 2014-10-02 11:27:22 +02:00
NetworkManagerUtils.h core: add macros NM_FLAGS_HAS(), NM_FLAGS_ANY() and NM_FLAGS_ALL() 2014-09-24 16:12:45 +02:00
nm-activation-request.c all: remove a bunch of unnecessary dbus/dbus-glib includes 2014-09-03 10:45:24 -04:00
nm-activation-request.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-active-connection.c auth: rework polkit autorization to use DBUS interface directly 2014-09-29 13:51:11 +02:00
nm-active-connection.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-auth-manager.c auth: support disabling POLKIT authentication entirely at compile time 2014-09-29 13:51:11 +02:00
nm-auth-manager.h auth: support disabling POLKIT authentication entirely at compile time 2014-09-29 13:51:11 +02:00
nm-auth-subject.c auth: support disabling POLKIT authentication entirely at compile time 2014-09-29 13:51:11 +02:00
nm-auth-subject.h auth: support disabling POLKIT authentication entirely at compile time 2014-09-29 13:51:11 +02:00
nm-auth-utils.c auth: support disabling POLKIT authentication entirely at compile time 2014-09-29 13:51:11 +02:00
nm-auth-utils.h auth: rework polkit autorization to use DBUS interface directly 2014-09-29 13:51:11 +02:00
nm-config.c auth: rework polkit autorization to use DBUS interface directly 2014-09-29 13:51:11 +02:00
nm-config.h auth: rework polkit autorization to use DBUS interface directly 2014-09-29 13:51:11 +02:00
nm-connection-provider.c core: remove useless NMSettings::connections-loaded signal 2014-01-23 15:14:49 -05:00
nm-connection-provider.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-connectivity.c all: remove remaining GParamSpec name/blurb strings 2014-06-19 17:45:03 -04:00
nm-connectivity.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-dbus-manager.c core/dbus: disable verbose logging when registering object to private socket 2014-09-30 12:02:15 +02:00
nm-dbus-manager.h core: fill in nm-types.h, clean out other headers 2014-07-23 10:56:26 -04:00
nm-dcb.c core: consolidate helper progam searching (bgo #734131) 2014-09-11 12:11:56 -05:00
nm-dcb.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-dhcp4-config.c libnm: rename NetworkManager.h and NetworkManagerVPN.h 2014-08-01 14:34:40 -04:00
nm-dhcp4-config.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-dhcp6-config.c libnm: rename NetworkManager.h and NetworkManagerVPN.h 2014-08-01 14:34:40 -04:00
nm-dhcp6-config.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-dispatcher.c libnm: port to GDBus 2014-09-18 11:51:09 -04:00
nm-dispatcher.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-ip4-config.c libnm-core: improve NMSettingIP4Config / NMSettingIP6Config property types 2014-09-04 09:20:11 -04:00
nm-ip4-config.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-ip6-config.c libnm-core: improve NMSettingIP4Config / NMSettingIP6Config property types 2014-09-04 09:20:11 -04:00
nm-ip6-config.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-logging.c core/logging: change order or domain/level arguments for nm_log() 2014-08-01 19:06:25 +02:00
nm-logging.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-manager.c auth: rework polkit autorization to use DBUS interface directly 2014-09-29 13:51:11 +02:00
nm-manager.h trivial: spacing and code cleanups in nm-manager.h 2014-09-11 12:40:08 -05:00
nm-policy.c auth: rename file nm-manager-auth.* to nm-auth-utils.* 2014-09-29 13:00:11 +02:00
nm-policy.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-posix-signals.c core: merge src/config, src/logging, src/posix-signals into src/ 2014-07-30 15:56:29 -04:00
nm-posix-signals.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-properties-changed-signal.c logging: tweak logging-enabled functions 2013-12-20 09:57:13 -05:00
nm-properties-changed-signal.h core: make nm-properties-changed-signal always export the right properties 2013-05-20 16:38:33 -03:00
nm-rfkill-manager.c core: split NMRfkillManager out of NMUdevManager 2013-06-05 17:49:24 -03:00
nm-rfkill-manager.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-session-monitor-ck.c core: make NMSessionMonitor non-refcounted 2013-12-03 16:39:37 -05:00
nm-session-monitor-null.c core: make NMSessionMonitor non-refcounted 2013-12-03 16:39:37 -05:00
nm-session-monitor-systemd.c sessions: fix return value handling for sd_uid_get_sessions() (bgo #707983) 2014-01-23 16:48:19 -06:00
nm-session-monitor.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-session-utils.c Use glib-mkenums to generate enum types 2012-02-15 11:42:15 -05:00
nm-session-utils.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-sleep-monitor-systemd.c all: remove a bunch of unnecessary dbus/dbus-glib includes 2014-09-03 10:45:24 -04:00
nm-sleep-monitor-upower.c core: convert the DBus manager to a single-ref object 2013-05-20 16:38:33 -03:00
nm-sleep-monitor.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-types.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
org.freedesktop.NetworkManager.conf dbus: kill at_console usage in permissions (bgo #707983) (rh #979416) 2014-01-23 16:48:19 -06:00