summaryrefslogtreecommitdiff
path: root/src/dhcp-manager/nm-dhcp-systemd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dhcp-manager/nm-dhcp-systemd.c')
-rw-r--r--src/dhcp-manager/nm-dhcp-systemd.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/dhcp-manager/nm-dhcp-systemd.c b/src/dhcp-manager/nm-dhcp-systemd.c
index 12dc03cc8..2bd0d72ff 100644
--- a/src/dhcp-manager/nm-dhcp-systemd.c
+++ b/src/dhcp-manager/nm-dhcp-systemd.c
@@ -224,6 +224,8 @@ lease_to_ip4_config (sd_dhcp_lease *lease,
guint16 mtu;
int r, num;
guint64 end_time;
+ uint8_t *data;
+ gboolean metered = FALSE;
g_return_val_if_fail (lease != NULL, NULL);
@@ -355,6 +357,11 @@ lease_to_ip4_config (sd_dhcp_lease *lease,
g_string_free (l, TRUE);
}
+ num = sd_dhcp_lease_get_vendor_specific (lease, &data);
+ if (num > 0)
+ metered = !!memmem (data, num, "ANDROID_METERED", STRLEN ("ANDROID_METERED"));
+ nm_ip4_config_set_metered (ip4_config, metered);
+
return ip4_config;
}