<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hi,<br><br>I am using dhcp-4.2.2rc1. I have started the dhcp relay with options<br><br>dhcrelay -d -i eth0 -i eth1 serverip <br><br>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.<br><br>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.<br><br>Is this normal behavior? The same is observed with unicast DHCPREQUEST . <br><br>While searching for related things i came across RFC 1542, section <br><pre>4.1.1 BOOTREQUEST Messages
<br>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.  <br><br>Here in this case my client is connected to "eth0" interface so initial <br>DHCPDISCOVER and DHCPREQUEST message is going through proper giaddr i.e<br>eth0 interface. <br><br>I think the messages which are broadcast from the client are <br>considering only one giaddr i.e. incoming addr but for unicast message<br>behavior is different and considering both the interfaces, why is it so ?<br><br>And as per this RFC, is the behavior incorrect ?<br><br>Please help me understand it.<br><br>Thanks for any help.<br><br>Regards,<br>Sujata<br></pre></td></tr></table>