Index: bootp_subr.c =================================================================== RCS file: /home/ncvs/src/sys/nfs/bootp_subr.c,v retrieving revision 1.20 retrieving revision 1.20.2.1 diff -u -r1.20 -r1.20.2.1 --- bootp_subr.c 1999/08/28 00:49:55 1.20 +++ bootp_subr.c 2000/06/09 19:31:57 1.20.2.1 @@ -834,11 +834,23 @@ call.xid = txdr_unsigned(xid); bcopy(LLADDR(sdl),&call.chaddr,sdl->sdl_alen); - call.vend[0]=99; - call.vend[1]=130; - call.vend[2]=83; - call.vend[3]=99; - call.vend[4]=255; + j = 0; + call.vend[j++]=99; + call.vend[j++]=130; + call.vend[j++]=83; + call.vend[j++]=99; + + /* + * We send an RFC 1533 "Maximum DHCP Message Size" option, saying we + * can do 1200 bytes. If we don't ISC DHCPD will limit the answer to + * 64 bytes and root/swap and similar will be dropped. + */ + call.vend[j++]=57; + call.vend[j++]=2; + call.vend[j++]=(1200) % 256; + call.vend[j++]=(1200) / 256; + + call.vend[j++]=255; call.secs = 0; call.flags = htons(0x8000); /* We need an broadcast answer */