in lib/handler.go [215:236]
func (s *Server) handleV4Server(start time.Time, packet *dhcpv4.DHCPv4, peer *net.UDPAddr) {
reply, err := s.config.Handler.ServeDHCPv4(packet)
logErr := s.logger.LogSuccess(start, nil, packet.ToBytes(), peer)
if logErr != nil {
glog.Errorf("Failed to log incoming packet: %s", logErr)
}
if err != nil {
glog.Errorf("Error creating reply %s", err)
s.logger.LogErr(start, nil, packet.ToBytes(), peer, fmt.Sprintf("%T", err), err)
return
}
addr := &net.UDPAddr{
IP: packet.GatewayIPAddr,
Port: dhcpv4.ServerPort,
}
s.conn.WriteTo(reply.ToBytes(), addr)
err = s.logger.LogSuccess(start, nil, reply.ToBytes(), peer)
if err != nil {
glog.Errorf("Failed to log reply: %s", err)
}
return
}