Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Oct 2009 01:55:30 -0400
From:      David Horn <dhorn2000@gmail.com>
To:        Doug Barton <dougb@freebsd.org>
Cc:        freebsd-net@freebsd.org
Subject:   Re: Wacky DHCP values that work in windows but not in FreeBSD
Message-ID:  <25ff90d60910122255j5ccae96ar7c58488209768956@mail.gmail.com>
In-Reply-To: <4AD410CB.2060105@FreeBSD.org>
References:  <4AD3ABD0.7010603@FreeBSD.org> <25ff90d60910122030r1f8511e9ued9535024fa3078a@mail.gmail.com> <4AD410CB.2060105@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 13, 2009 at 1:31 AM, Doug Barton <dougb@freebsd.org> wrote:
> David Horn wrote:
>> Without seeing the actual tcpdump of the dhcp packets, I would guess
>> that this is the Classless Static Route option in DHCPv4 (option 121).
>
> Ok, I will give the tcpdump option a go as soon as I have a chance.
>
> Meanwhile, if this is in fact the case how would we make it work in
> FreeBSD? Is there a newer version of DHCP that handles this properly?

I thought that dhclient originated from ISC, but looking at the
4.1.1b2 ISC DHCP source and at the OpenBSD dhclient, I did not see
option 121 handling in dhclient.  The freebsd copy of both dhclient.c,
and /sbin/dhclient-script there is code for handling this option.   I
guess the FreeBSD version split from the ISC version at some point,
and option 121 handling was added (2+ years ago).

As far as fixing/debugging, it all depends on the exact dhcp options
and values.  It might just be a tweak to /sbin/dhclient-script, or it
may be more complicated.

http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/dhclient/dhclient.c
Revision 1.21: download - view: text, markup, annotated - select for diffs
Fri Feb 9 17:50:26 2007 UTC (2 years, 8 months ago) by emaste
Branches: MAIN
CVS tags: RELENG_7_BP, RELENG_7_0_BP, RELENG_7_0_0_RELEASE, RELENG_7_0
Branch point for: RELENG_7
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +68 -0 lines

Implement RFC3442, the Classless Static Route option.

The original DHCP specification includes a route option but it supports
only class-based routes.  RFC3442 adds support for specifying the netmask
width for each static route.  A variable length encoding is used to minimize
the size of this option.

PR:             bin/99534
Submitted by:   Andrey V. Elsukov <bu7cher@yandex.ru>
Reviewed by:    brooks

---Dave H



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?25ff90d60910122255j5ccae96ar7c58488209768956>