diff options
| author | Poul-Henning Kamp <phk@FreeBSD.org> | 2000-05-07 14:29:19 +0000 |
|---|---|---|
| committer | Poul-Henning Kamp <phk@FreeBSD.org> | 2000-05-07 14:29:19 +0000 |
| commit | 831e32f863778726f8a13a230733516c6eff3a11 (patch) | |
| tree | 811850fb954f6e7a9b7c15b9d09297ed8df702f6 /sys/nfs/bootp_subr.c | |
| parent | d38aa24487667a9adcd2e6c4b0c523a4e7e377e9 (diff) | |
Notes
Diffstat (limited to 'sys/nfs/bootp_subr.c')
| -rw-r--r-- | sys/nfs/bootp_subr.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/sys/nfs/bootp_subr.c b/sys/nfs/bootp_subr.c index 32952484de43..d580c5542a45 100644 --- a/sys/nfs/bootp_subr.c +++ b/sys/nfs/bootp_subr.c @@ -834,11 +834,23 @@ bootpc_init(void) 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 */ |
