summaryrefslogtreecommitdiff
path: root/src/network/networkd-link.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-11-13 15:29:45 +0100
committerLennart Poettering <lennart@poettering.net>2015-11-13 15:29:45 +0100
commita7e565d76a3cbf91b45389ba2327d5afeab7cd20 (patch)
tree93a920895e51d6e357795105f56f57b8328b0c76 /src/network/networkd-link.c
parentb9e2f7eb00643f28390cedf883f516f4ba7193bb (diff)
parenta56a2048f9592acc4934b9ce15d71bc7e1df1a17 (diff)
Merge pull request #1882 from teg/networkd-dhcp6-fix
networkd: link - fix ipv6ll_gained() handling
Diffstat (limited to 'src/network/networkd-link.c')
-rw-r--r--src/network/networkd-link.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index c37532bb73..a415035887 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -506,9 +506,6 @@ static int link_stop_clients(Link *link) {
assert(link->manager);
assert(link->manager->event);
- if (!link->network)
- return 0;
-
if (link->dhcp_client) {
k = sd_dhcp_client_stop(link->dhcp_client);
if (k < 0)
@@ -2485,7 +2482,7 @@ int link_ipv6ll_gained(Link *link) {
link->ipv6ll_address = true;
link_check_ready(link);
- if (link->network) {
+ if (!IN_SET(link->state, LINK_STATE_PENDING, LINK_STATE_PENDING, LINK_STATE_UNMANAGED, LINK_STATE_FAILED)) {
r = link_acquire_ipv6_conf(link);
if (r < 0) {
link_enter_failed(link);
@@ -2501,7 +2498,7 @@ static int link_carrier_gained(Link *link) {
assert(link);
- if (link->network) {
+ if (!IN_SET(link->state, LINK_STATE_PENDING, LINK_STATE_PENDING, LINK_STATE_UNMANAGED, LINK_STATE_FAILED)) {
r = link_acquire_conf(link);
if (r < 0) {
link_enter_failed(link);