Date: Tue, 12 Mar 2002 12:37:17 -0800 (PST) From: Doug Ambrisko <ambrisko@ambrisko.com> To: Luigi Rizzo <rizzo@icir.org> Cc: net@FreeBSD.ORG Subject: Re: bootp tags used in FreeBSD ? Message-ID: <200203122037.g2CKbH609035@ambrisko.com> In-Reply-To: <20020311232650.E48429@iguana.icir.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Luigi Rizzo writes: | Hi, | does anyone have up-to-date information on which bootp/dhcp | tags are used by FreeBSD ? | I am asking because of two reasons: | | + I would like to pass some info from the bootp/dhcp server | to userland, so they can be used at runtime to customize | system's behaviour (specific example: I have ~100 clients | in different labs booting from the same server, where | configuration should be lab-specific but not host-specific. | A bootp server could easily pass the "domain" each host | belong to. I know I could derive this info using the hostname | as a search key, but this would involve an additional configuration | file...). | | + I was going to fix the bootptab manpage and i see that there are | several vendor tags used in bootpc_subr and in etherboot | which are not documented. Even worse, some of those tags are | not consistent across different systems, and even etherboot | and bootpc_subr.c have different ideas on T129 and T130 I'd suggest look at isc-dhcp 3 and get dhclient working in a netboot environment so you can deal with "vendor-class-identifier". Then just have it do the right things without more over loading of common things and then run into a collision which there are several. For example here are parts of my dhcpd.conf file; option etherboot-freebsd-howto code 132 = integer 32; option etherboot-kernel-env code 133 = string; option etherboot-menu-count code 176 = integer 8; option etherboot-menu-config code 160 = string; option etherboot-menu-1 code 192 = string; option etherboot-menu-2 code 193 = string; option etherboot-menu-3 code 194 = string; option etherboot-menu-4 code 195 = string; option etherboot-menu-5 code 196 = string; option etherboot-menu-6 code 197 = string; option freebsd-swap-path code 128 = string; option dhcp-vendor-identifier code 60 = string; option load-control code 160 = string; class "etherboot" { match if substring (option vendor-class-identifier, 0, 9) = "Etherboot"; option etherboot-menu-count 5; option etherboot-menu-config "timeout=30:default=192:"; option etherboot-menu-1 "BSD:::/tftpboot/kernel.bsd:"; option etherboot-menu-2 "DOS:::/tftpboot/netdos:"; option etherboot-menu-3 "TEST:::/tftpboot/kernel.test:"; option etherboot-menu-4 "DISK:::/dev/hda"; option etherboot-menu-5 "GRUB:::/tftpboot/nbgrub"; option etherboot-menu-6 "PXE:::/tftpboot/pxeboot"; option etherboot-kernel-env "hw.ata.wc=1"; # option etherboot-freebsd-howto 0x00001002; # serial & single option etherboot-freebsd-howto 0x00001000; # serial # option etherboot-freebsd-howto 0x00001800; # serial & verbose } class "pxe" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; # filename "/tftpboot/pxeboot"; } class "ambit-load" { match if option dhcp-vendor-identifier = "Load"; option root-path "ftp://192.168.99.254/ambit-1.5.43-am"; option load-control "stuff that only this cares"; } Then in my dhclient.conf (version 3) option load-control code 160 = string; send vendor-class-identifier "Load"; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name, root-path, option-160; and then dhclient-exit-hooks do what I need with the parameters passed. I also have a fully working proxyDHCP & bootserver functionality so I can do menus, DOS boots etc via PXE compliant roms via patches to isc-dhcp that are on the net. Now I don't have to worry about bpBatch, Etherboot, PXE, FreeBSD, Linux all fighting over the same parameter and making the packet to big. BTW it would be nice to add a Vendor Indentifier to the kernel DHCP request to filter out just those things. I think jdp was working on making dhclient not kill the network when run from a netbooted environment. I forget the status of that. Doug A. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203122037.g2CKbH609035>