diff --git a/src/element.c b/src/element.c
index e670864..cad748a 100644
--- a/src/element.c
+++ b/src/element.c
@@ -939,6 +939,7 @@ int __connman_element_append_ipv4(struct connman_element *element,
 {
 	const char *method = NULL;
 	const char *address = NULL, *netmask = NULL, *gateway = NULL;
+	const char *broadcast = NULL, *nameserver = NULL;
 
 	connman_element_get_value(element,
 				CONNMAN_PROPERTY_ID_IPV4_METHOD, &method);
@@ -950,6 +951,11 @@ int __connman_element_append_ipv4(struct connman_element *element,
 	connman_element_get_value(element,
 				CONNMAN_PROPERTY_ID_IPV4_GATEWAY, &gateway);
 
+	connman_element_get_value(element,
+				CONNMAN_PROPERTY_ID_IPV4_BROADCAST, &broadcast);
+	connman_element_get_value(element,
+				CONNMAN_PROPERTY_ID_IPV4_NAMESERVER, &nameserver);
+
 	if (method != NULL)
 		connman_dbus_dict_append_variant(dict, "IPv4.Method",
 						DBUS_TYPE_STRING, &method);
@@ -966,6 +972,14 @@ int __connman_element_append_ipv4(struct connman_element *element,
 		connman_dbus_dict_append_variant(dict, "IPv4.Gateway",
 						DBUS_TYPE_STRING, &gateway);
 
+	if (broadcast != NULL)
+		connman_dbus_dict_append_variant(dict, "IPv4.Broadcast",
+						DBUS_TYPE_STRING, &broadcast);
+
+	if (nameserver != NULL)
+		connman_dbus_dict_append_variant(dict, "IPv4.Nameserver",
+						DBUS_TYPE_STRING, &nameserver);
+
 	return 0;
 }
 
@@ -1030,8 +1044,32 @@ int __connman_element_set_ipv4(struct connman_element *element,
 		element->ipv4.gateway = g_strdup(gateway);
 
 		connman_element_update(element);
-	}
+	} else if (g_str_equal(name, "IPv4.Broadcast") == TRUE) {
+		const char *broadcast;
+
+		if (type != DBUS_TYPE_STRING)
+			return -EINVAL;
+
+		dbus_message_iter_get_basic(value, &broadcast);
+
+		g_free(element->ipv4.broadcast);
+		element->ipv4.broadcast = g_strdup(broadcast);
+
+		connman_element_update(element);
+	} else if (g_str_equal(name, "IPv4.Nameserver") == TRUE) {
+		const char *nameserver;
+
+		if (type != DBUS_TYPE_STRING)
+			return -EINVAL;
 
+		dbus_message_iter_get_basic(value, &nameserver);
+
+		g_free(element->ipv4.nameserver);
+		element->ipv4.nameserver = g_strdup(nameserver);
+
+		connman_element_update(element);
+	}
+	
 	return 0;
 }
 
