Re: [Etherboot-developers] DHCP option 175
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: Michael B. <mb...@fe...> - 2002-05-22 02:13:35
|
On 21 May 2002, Eric W. Biederman wrote: > > I have just committed some very small (8 lines total) changes to > > etherboot.h, nic.h, config.c, main.c. Etherboot will now send the NIC > > driver name (e.g. "RTL8139") as vendor option 175 in the DHCPREQUEST > > packet. > > The idea behind this is that the DHCP server can use the contents of this > > option field to determine the value of the "filename" in the DHCPACK. In > > this way, Etherboot can be directed to automatically download an > > appropriate kernel+initrd image. The dhcpd.conf file could contain, for > > example: > > <snip> > Request. > Can we change this to return the PCI vendor id and device id's. This > makes changes in etherboot transparent to configurations. > Something like: > "PCI:8086:1229" for an Intel NIC > "PCI:10b7:9805" for a 3COM NIC > For PNPISA devices there is a similiar string we can use. And for > straight ISA we might want to just use the vendor and part number. > Especially as there aren't 1-1 mappings between etherboot and foobar. This change would make it significantly harder to maintain a DHCP server. If Etherboot sends the driver name then the DHCP server configuration only needs to know about the 36 Etherboot drivers. If Etherboot sends the vendor and device IDs then the DHCP server configuration needs to know about the 112 different cards currently in the Etherboot database. Additionally, new card definitions are likely to be added a lot more frequently than new drivers(?) I am currently preparing to check mkinitrd-net into contribs. mkinitrd-net will generate a NBI for any specified network card module, using a stock (modularized) kernel and an initrd based around Busybox, udhcpc and uClibc. It will include a file that maps Etherboot driver names to Linux kernel modules. Using this file, it a) automatically generates NBIs for all kernel modules that correspond to Etherboot drivers, and b) generates a dhcpd.conf fragment that will automatically select the correct NBI based on the Etherboot driver name sent by Etherboot in option 175. My aim is that a user should be able to install the mkinitrd-net RPM and then immediately be able to boot from any Etherboot-supported NIC without having to configure the "server" in any way (i.e. without having to touch dhcpd.conf). I like O(1) systems. :-) If there is a better way to achieve this than sending the Etherboot driver name, please let me know! Michael |