DHCP-Relay multiplies DHCP requests sent by another DHCP relay

book

Article ID: 167946

calendar_today

Updated On:

Products

XOS

Issue/Introduction

When a DHCP relay receives a request forwarded by another DHCP relay, each request may be duplicated up to 255 times towards the DHCP server.The link to a DHCP server is saturated by DHCP traffic. The customer sees duplicated requests/responses on the DHCP server.

Cause

This is a known issue in the DHCP relay and highly visible on the C-Series due to the default DHCP max-hop-count value of 255 (on X-Series the default value is 10). The relay loops up to the value of max-hop-count during the packet forwarding.

Resolution

N/A

Workaround

For C-Series:

Run dhcrelay with option '-c 2' to limit the number of DHCP hops. To add the option, edit the file /etc/init.d/dhcrelay and restart the daemon with "service dhcrelay restart". The daemon will drop packets that have higher relay-hop count than the specified value and packets won't be duplicated.

For X-Series:

For XOS versions 9.6.x and above:
 
Edit /etc/sysconfig/dhcrelay on each involved VAP and change the line:

DHCRELAYARGS=""

to:

DHCRELAYARGS="-c N"       
where N is the number of expected DHCP relay hops, e.g. 2
 
 
For XOS 9.5.x and below:
 
1)      Edit /etc/sysconfig/dhcrelay on each involved VAP and add the line

DHCRELAYARGS="-c N"     
where N is the number of expected DHCP relay hops, e.g. 2

2)      Edit /etc/init.d/dhcrelay on each involved VAP to include the keyword $DHCRELAYARGS in the following line:
 
Original:

 daemon $dhcrelay $([ -n "$INTERFACES" ] && for int in $INTERFACES ; do echo -n " -i $int" ; done) $DHCPSERVERS 2>/dev/null

New:

 daemon $dhcrelay $DHCRELAYARGS $([ -n "$INTERFACES" ] && for int in $INTERFACES ; do echo -n " -i $int" ; done) $DHCPSERVERS 2>/dev/null