Subject: problem with DHCP relay behaviour change in Cisco IOS

From: Amel Caldwell <[email-masked]>
Date: Mon, 2 Apr 2001 10:01:20 -0700 (Pacific Daylight Time)

Hello--

I have been looking at a problem that we have been experiencing with some
older (but critical) DHCP clients since we performed an IOS upgrade on one of
our routers.

First a little background.  On campus, we have a groups of people (who support
thousans of machines) who use a Lan Manager dhcp client while booting a
machine to have it login to a central facilitty and basically configure itself
with standard tools/configs.  We also have a home-grown DHCP server that
currently supports on the order of 15,000 concurrent leases.  This has all
been working with no changes to the DHCP client or the server for 3 years or
more.

Now, the problem.  We upgraded a Cisco router from 12.0 code to 12.1, and
since then these clients have been failing while other clients continue to
work fine.  I have sniffed the DHCP transactions and have tried a few 12.1
releases (12.1(3), 12.1(5), 12.1(6) and 12.1(7) ) and think I know why the
client is not working.

In the packets I have sniffed, the client sets the broadcast flag.  On 12.0
code, the DHCP Offer comes back with the source address as the address of the
DHCP server and the Destination address of 255.255.255.255; on 12.1 code the
DHCP Offer comes back with the source address of the gateway (or the relay
agent) and a destination of the network's broacast address (in this case
128.208.20.255).  I think this is broken behaviour; if the client is not
capable of unicasting without binding to its offered address, it is not going
to know what network is on and won't respond to anything but an all 1's
broadcast.  Right?

I plan on opening a TAC case on this, but wanted to get feedback here first.

Regards,

Amel Caldwell

UW NDC Network Engineering Services
phone: 206-685-6205  fax: 206-685-4044
email: [email-masked]

---

From: Ted Lemon <[email-masked]>
Date: Mon, 02 Apr 2001 15:39:55 -0700

> I think this is broken behaviour; if the client is not

That's right - it should be sending the packet to 255.255.255.255.
The source address change is correct, however, and is probably not
what is causing your problem.

			       _MelloN_

---

From: Irfan Ashraf <[email-masked]>
Date: Mon, 2 Apr 2001 15:03:51 -0700

Someone from Cisco followed up on this. I believe Amel Caldwell was
happy with the answer.  Apparently the box was relaying to the
configured broadcast address of the interface.

The config command: "ip dhcp limited-broadcast-address", worked around
the config'd address.

-Irfan

---

From: Amel Caldwell <[email-masked]>
Date: Mon, 2 Apr 2001 15:34:19 -0700 (Pacific Daylight Time)

Hi--

Someone from Cisco sent me the following which has resolved my problems.

>You should be able to configure "ip dhcp limited-broadcast-address" on
>the router, to force it to broadcast the forwarded DHCP packets to
>255.255.255.255, ignoring the configured broadcast address on the
>interface. This command is available starting in 12.1(3.1) versions.
>

Regards

Amel