dhcpsvc: handle errs

This commit is contained in:
Eugene Burkov
2025-12-11 16:33:21 +03:00
parent fe3255fb1c
commit ec8cf581eb

View File

@@ -223,7 +223,14 @@ func (iface *dhcpInterfaceV4) handleSelecting(
// Commit the lease and send ACK.
lease.Hostname = hostname4(req)
iface.commitLease(ctx, lease)
err := iface.commitLease(ctx, lease)
if err != nil {
l.ErrorContext(ctx, "selecting request failed", slogutil.KeyError, err)
iface.respondNAK(ctx, req, fd)
return
}
iface.respondACK(ctx, req, fd, lease)
}
@@ -278,7 +285,14 @@ func (iface *dhcpInterfaceV4) handleInitReboot(
// Commit the lease and send ACK.
lease.Hostname = hostname4(req)
iface.commitLease(ctx, lease)
err := iface.commitLease(ctx, lease)
if err != nil {
l.ErrorContext(ctx, "init-reboot request failed", slogutil.KeyError, err)
iface.respondNAK(ctx, req, fd)
return
}
iface.respondACK(ctx, req, fd, lease)
}
@@ -319,7 +333,14 @@ func (iface *dhcpInterfaceV4) handleRenew(
// Commit the lease and send ACK.
lease.Hostname = hostname4(req)
iface.commitLease(ctx, lease)
err := iface.commitLease(ctx, lease)
if err != nil {
l.ErrorContext(ctx, "renew request failed", slogutil.KeyError, err)
iface.respondNAK(ctx, req, fd)
return
}
iface.respondACK(ctx, req, fd, lease)
}