--- a/NetworkManager/src/nm-device.c	2010-08-18 15:29:33.000000000 +0200
+++ b/NetworkManager/src/nm-device.c	2010-08-18 15:26:29.000000000 +0200
@@ -1398,10 +1398,16 @@
 	}
 
 	switch (state) {
+		/* Make dispatcher-calls for the renew dhcp-states. 
+		 * This is needed if you for e.g. want to script dynamic dns 
+		 * updates on lease renewals.
+		 */
 	case DHC_BOUND4:     /* lease obtained */
-	case DHC_BOUND6:
+	case DHC_BOUND6:     /* lease obtained */
 	case DHC_RENEW4:     /* lease renewed */
+		nm_utils_call_dispatcher ("dhcp4_renew", NULL, device, NULL);
 	case DHC_RENEW6:     /* lease renewed */
+		nm_utils_call_dispatcher ("dhcp6_renew", NULL, device, NULL);
 	case DHC_REBOOT:     /* have valid lease, but now obtained a different one */
 	case DHC_REBIND4:    /* new, different lease */
 	case DHC_REBIND6:    /* new, different lease */
--- a/NetworkManager/man/NetworkManager.8.in	2010-08-18 15:29:33.000000000 +0200
+++ b/NetworkManager/man/NetworkManager.8.in	2010-08-18 15:52:03.000000000 +0200
@@ -50,6 +50,9 @@
 .I "vpn\-down"
 A VPN connection has been deactivated.
 .TP
+.I "dhcp[4|6]_renew"
+The dhcp lease for IPv4/6 has been renewed (This could be useful for e.g. if you want to update dynamic dns entries at lease renewals).
+.TP
 .I "hostname"
 The system hostname has been updated.  Use gethostname(2) to retrieve it.
 .SH OPTIONS
