My OpenBSD version is 4.4 GENERIC#1021 i386. I'm experiencing a similar issue to the thread here:
http://kerneltrap.org/index.php?q=mailarchive/openbsd-misc/2008/6/9/2068624 where Option 66 (tftp-server-name) seems to only work for the first client that boots up and then no other client after that will receive the tftp server name unless I restart dhcpd. My setup is as follows: OpenBSD firewall with one physical interface (em0) that is split into three vlans for my local networks. I'm running dhcp for vlan10 and vlan20 and vlan10 is my computer network which seems to be working fine. Vlan20 is my SIP phone network and basically I need Option 66 (tftp-server-name) to tell each phone as they boot up that my OpenBSD box (192.168.20.1) is the tftp server that serves the phones' configuration files. As I stated earlier, it seems that once I start dhcpd on vlan20, the first phone I boot up, gets an IP address, subnet mask, gateway, tftp server IP, dns, etc and it gets its configuration file. The next phone I boot up will only get an IP address, subnet mask, and gateway. It will not get the tftp server IP and so therefore it doesn't try and download the configuration file. The solution for the person in the thread above was that he installed a different dhcp server program.I would like to avoid doing that if possible. The tftp-server-name option worked fine in OpenBSD 4.3, but in that scenario I only had one physical subnet for my phones. This is my first multiple subnet dhcp.conf file. Thanks for any help. $ ifconfig -A lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33204 groups: lo inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4 em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:30:48:5c:48:aa media: Ethernet autoselect (1000baseT full-duplex) status: active inet6 fe80::230:48ff:fe5c:48aa%em0 prefixlen 64 scopeid 0x1 em1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:30:48:5c:48:ab groups: egress media: Ethernet autoselect (100baseTX full-duplex) status: active inet 67.206.xxx.xxx netmask 0xfffffff0 broadcast 67.206.xxx.xxx inet6 fe80::xxx:xxxxfe5c:48ab%em1 prefixlen 64 scopeid 0x2 inet 67.206.xxx.xxx netmask 0xffffffff broadcast 67.206.xxx.xxx inet 67.206.xxx.xxx netmask 0xffffffff broadcast 67.206.xxx.xxx enc0: flags=0<> mtu 1536 vlan10: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:30:48:5c:48:aa vlan: 10 priority: 0 parent interface: em0 groups: vlan inet6 fe80::230:48ff:fe5c:48aa%vlan10 prefixlen 64 scopeid 0x5 inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255 vlan20: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:30:48:5c:48:aa vlan: 20 priority: 0 parent interface: em0 groups: vlan inet6 fe80::230:48ff:fe5c:48aa%vlan20 prefixlen 64 scopeid 0x6 inet 192.168.20.1 netmask 0xffffff00 broadcast 192.168.20.255 vlan90: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:30:48:5c:48:aa vlan: 90 priority: 0 parent interface: em0 groups: vlan inet6 fe80::230:48ff:fe5c:48aa%vlan90 prefixlen 64 scopeid 0x7 inet 192.168.90.1 netmask 0xffffff00 broadcast 192.168.90.255 bridge0: flags=41<UP,RUNNING> mtu 1500 groups: bridge pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33204 groups: pflog my /etc/dhcpd.conf file: # $OpenBSD: dhcpd.conf,v 1.1 1998/08/19 04:25:45 form Exp $ # # DHCP server options. # See dhcpd.conf(5) and dhcpd(8) for more information. # # Network: 192.168.1.0/255.255.255.0 # Domain name: my.domain # Name servers: 192.168.1.3 and 192.168.1.5 # Default router: 192.168.1.1 # Addresses: 192.168.1.32 - 192.168.1.127 # shared-network FSHAC-LOCAL { subnet 192.168.10.0 netmask 255.255.255.0 { option routers 192.168.10.1; option domain-name "fourseas.local"; option domain-name-servers 192.168.10.1, 4.2.2.1; option subnet-mask 255.255.255.0; option root-path "192.168.10.70:/opt/ltsp/i386"; #option option-128 code 128 = string; #option option-129 code 129 = text; authoritative; range 192.168.10.100 192.168.10.140; #use-host-dcl-names on; option log-servers 192.168.10.70; host ChromieLT { hardware ethernet 00:1A:73:17:05:A0; fixed-address 192.168.10.80; } < Lots of host entries truncated > } } shared-network FSHACPBX-LOCAL { subnet 192.168.20.0 netmask 255.255.255.0 { authoritative; option domain-name "fspbx.local"; option domain-name-servers 192.168.20.1, 4.2.2.1; default-lease-time 604800; option routers 192.168.20.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.20.255; option tftp-server-name "192.168.20.1"; range 192.168.20.70 192.168.20.220; } }

