Skip to content

Commit

Permalink
Merge pull request #925
Browse files Browse the repository at this point in the history
dhcp6: consider relese complete regardless of status
  • Loading branch information
cfconrad committed Jul 11, 2022
2 parents 5d1a830 + 7b7576d commit f0dd6db
Showing 1 changed file with 11 additions and 19 deletions.
30 changes: 11 additions & 19 deletions src/dhcp6/fsm.c
Original file line number Diff line number Diff line change
Expand Up @@ -1413,32 +1413,24 @@ ni_dhcp6_fsm_release_process_msg(ni_dhcp6_device_t *dev, ni_dhcp6_message_t *msg
goto cleanup;
}

if (msg->lease->dhcp6.status == NULL) {
ni_string_printf(hint, "release reply without status");
goto cleanup;
}

if (msg->lease->dhcp6.status->code == NI_DHCP6_STATUS_SUCCESS ||
msg->lease->dhcp6.status->code == NI_DHCP6_STATUS_NOTONLINK) {
if (msg->lease->dhcp6.status) {
ni_debug_dhcp("%s: Received release reply %s %s -- committing release",
dev->ifname,
ni_dhcp6_status_name(msg->lease->dhcp6.status->code),
msg->lease->dhcp6.status->message);
} else {
ni_debug_dhcp("%s: Received release reply -- committing release",
dev->ifname);
}

ni_dhcp6_fsm_reset(dev);
if (dev->config->mode & NI_BIT(NI_DHCP6_MODE_INFO)) {
ni_dhcp6_device_drop_lease(dev);
ni_dhcp6_fsm_restart(dev);
} else {
ni_dhcp6_fsm_commit_lease(dev, NULL);
}
rv = 0;
ni_dhcp6_fsm_reset(dev);
if (dev->config->mode & NI_BIT(NI_DHCP6_MODE_INFO)) {
ni_dhcp6_device_drop_lease(dev);
ni_dhcp6_fsm_restart(dev);
} else {
ni_string_printf(hint, "status %s - %s",
ni_dhcp6_status_name(msg->lease->dhcp6.status->code),
msg->lease->dhcp6.status->message);
goto cleanup;
ni_dhcp6_fsm_commit_lease(dev, NULL);
}
rv = 0;

break;

Expand Down

0 comments on commit f0dd6db

Please sign in to comment.