DHCP Relay: Duplicate packets for DHCPRELEASE and DHCPREQUEST

Sujata Verma sujataverma3 at yahoo.com
Wed Apr 18 04:45:28 UTC 2012


I am using dhcp-4.2.2rc1. I have started the dhcp relay with options

dhcrelay -d -i eth0 -i eth1 serverip 

everything is working fine except that when client release the ip and send DHCPRELEASE packet on server side i get 3 packets for each DHCPRELEASE.

One is directly sent to server ( which is valid packet) the other two are duplicate of this packet which is generated by relay agent with giaddr as address of eth0 and eth1 interface.

Is this normal behavior? The same is observed with unicast DHCPREQUEST . 

While searching for related things i came across RFC 1542, section 
4.1.1 BOOTREQUEST Messages

If the relay agent does decide to relay the request, it MUST examine
   the 'giaddr' ("gateway" IP address) field.  If this field is zero,
   the relay agent MUST fill this field with the IP address of the
   interface on which the request was received.  If the interface has
   more than one IP address logically associated with it, the relay
   agent SHOULD choose one IP address associated with that interface and
   use it consistently for all BOOTP messages it relays.  

Here in this case my client is connected to "eth0" interface so initial 
DHCPDISCOVER and DHCPREQUEST message is going through proper giaddr i.e
eth0 interface. 

I think the messages which are broadcast from the client are 
considering only one giaddr i.e. incoming addr but for unicast message
behavior is different and considering both the interfaces, why is it so ?

And as per this RFC, is the behavior incorrect ?

Please help me understand it.

Thanks for any help.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20120417/00e93ccc/attachment.html>

More information about the dhcp-users mailing list