dhcp4d: log in leases callback
This commit is contained in:
parent
57564e15d0
commit
ae15230da3
@ -46,7 +46,8 @@ func logic() error {
|
||||
if err := loadLeases(handler, "/perm/dhcp4d/leases.json"); err != nil {
|
||||
return err
|
||||
}
|
||||
handler.Leases = func(leases []*dhcp4d.Lease) {
|
||||
handler.Leases = func(leases []*dhcp4d.Lease, latest *dhcp4d.Lease) {
|
||||
log.Printf("DHCPACK %+v", latest)
|
||||
b, err := json.Marshal(leases)
|
||||
if err != nil {
|
||||
errs <- err
|
||||
|
@ -43,7 +43,7 @@ type Handler struct {
|
||||
timeNow func() time.Time
|
||||
|
||||
// Leases is called whenever a new lease is handed out
|
||||
Leases func([]*Lease)
|
||||
Leases func([]*Lease, *Lease)
|
||||
}
|
||||
|
||||
func NewHandler(dir string, iface *net.Interface, conn net.PacketConn) (*Handler, error) {
|
||||
@ -250,13 +250,12 @@ func (h *Handler) serveDHCP(p dhcp4.Packet, msgType dhcp4.MessageType, options d
|
||||
|
||||
h.leasesIP[leaseNum] = lease
|
||||
h.leasesHW[lease.HardwareAddr] = lease
|
||||
log.Printf("handed out lease %+v (ip bytes: %#v)", lease, lease.Addr)
|
||||
if h.Leases != nil {
|
||||
var leases []*Lease
|
||||
for _, l := range h.leasesIP {
|
||||
leases = append(leases, l)
|
||||
}
|
||||
h.Leases(leases)
|
||||
h.Leases(leases, lease)
|
||||
}
|
||||
return dhcp4.ReplyPacket(p, dhcp4.ACK, h.serverIP, reqIP, h.leasePeriod,
|
||||
h.options.SelectOrderOrAll(options[dhcp4.OptionParameterRequestList]))
|
||||
|
@ -87,7 +87,7 @@ func TestLease(t *testing.T) {
|
||||
hostname = "xps"
|
||||
)
|
||||
leasedCalled := false
|
||||
handler.Leases = func(leases []*Lease) {
|
||||
handler.Leases = func(leases []*Lease, latest *Lease) {
|
||||
if got, want := len(leases), 1; got != want {
|
||||
t.Fatalf("unexpected number of leases: got %d, want %d", got, want)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user