<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  
  <title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
<tt>Michael Brown wrote:</tt>
<blockquote type="cite" cite="mid:201003191924.13979.mbrown@fensystems.co.uk">
  
  
  <title>Re: [gPXE] DHCP Client ID in gPXE 1.0.0?</title>
<!-- Converted from text/plain format -->
  <p><tt><font size="2">...It would definitely be useful to be able<br>
to modify the gPXE DHCP request...</font></tt></p>
</blockquote>
<tt><br>
I sometimes forget that something that seems obvious in my head is not
communicated by magic to others.&nbsp; You've given a crystal-clear
description of what I had in mind, down to the last detail.&nbsp; Thanks
very much for the detailed expansion, Michael.<br>
<br>
Before finding the resolution to a particular Nortel DHCP relay issue,
I really could have used such functionality to quickly determine the
cause of the failure.<br>
<br>
In regards to your emphasis on linker tables versus #ifdef, if we ever
get around to supporting modularization of some sort, we could offer
various hook-/filter-points to modules...&nbsp; An example would be a module
that gets a chance to scrutinize and possibly modify a DHCP request
packet before transmission ("Do I have anything I'd like to say to the
DHCP server?").<br>
<br>
It seems to me that where we currently find linker tables in the code,
those might be good spots for runtime modules to "attach" themselves.&nbsp;
It seems very natural to me, somehow.&nbsp; Even a single "extension" entry
on each table might be useful, if tables were all tables of functions
returning data, rather than data.<br>
<br>
But I often get stuck in "analysis paralysis" during thought processes
regarding abstraction of code...&nbsp; Where is the balance between gPXE
being a network boot-loader and being an OS kernel itself?&nbsp; Since not
100% of users' needs can be met within the constraint space, whose
needs get left out?&nbsp; If it's going to be a kernel of sorts for features
to plug in to, it will have to be small and fast, where usually you
"pick one".&nbsp; If it's going to be a highly optimized atomic package of
features, it'll be an assembly...?&nbsp; Ha!<br>
<br>
Anyway, have a nice day.<br>
<br>
- Shao Miller<br>
</tt>
</body>
</html>