diff options
Diffstat (limited to 'src/dhcp-manager/nm-dhcp-systemd.c')
| -rw-r--r-- | src/dhcp-manager/nm-dhcp-systemd.c | 7 |
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 e508ea13bb..7bafc7209e 100644 --- a/src/dhcp-manager/nm-dhcp-systemd.c +++ b/src/dhcp-manager/nm-dhcp-systemd.c @@ -691,6 +691,7 @@ dhcp6_event_cb (sd_dhcp6_client *client, int event, gpointer user_data) static gboolean ip6_start (NMDhcpClient *client, const char *dhcp_anycast_addr, + const struct in6_addr *ll_addr, gboolean info_only, NMSettingIP6ConfigPrivacy privacy, const GByteArray *duid) @@ -761,6 +762,12 @@ ip6_start (NMDhcpClient *client, sd_dhcp6_client_set_request_option (priv->client6, dhcp6_requests[i].num); } + r = sd_dhcp6_client_set_local_address (priv->client6, ll_addr); + if (r < 0) { + nm_log_warn (LOGD_DHCP6, "(%s): failed to set local address (%d)", iface, r); + goto error; + } + r = sd_dhcp6_client_start (priv->client6); if (r < 0) { nm_log_warn (LOGD_DHCP6, "(%s): failed to start DHCP (%d)", iface, r); |
