Users Guide

Layer-2 and Layer-3 Relay Features 1227
The administrator globally enables DHCP relay and configures DHCP relay
on the end-user ports of each switch as follows:
console(config)#dhcp l2relay
console(config)#interface range gi1/0/1-24
console(config-if)#dhcp l2relay
console(config-if)#exit
Then, the administrator configures the remote-id and circuit-id:
console(config)#dhcp l2relay circuit-id vlan 10,20
console(config)#dhcp l2relay remote-id “Switch A” vlan 10,20
Finally, the administrator configures the uplink for DHCP relay and sets the
interface to trust Option 82 information received on the interface:
console(config)#dhcp l2relay
console(config)#interface te1/0/1
console(config-if)#dhcp l2relay
console(config-if)#dhcp l2relay trust
console(config-if)#exit
The administrator is using a Microsoft DHCP server. Microsoft DHCP servers
do not have native support for DHCP Option 82, but it can be added using
the DhcpServerCalloutEntry API to retrieve the information via the
DhcpHandleOptionsHook configured on the switches. Adding Option 82
support enables choosing whether or not a particular DHCP server should
respond to the DHCP request, and whether it should only respond to requests
from a particular switch (as identified by the remote-id) and port (as
identified by the circuit-id). For further information and an example, follow
this web link:
http://blogs.technet.com/b/teamdhcp/archive/2009/07/06/dhcp-server-callout-
api-usage.aspx
For Linux-based systems, which natively support option 82, a configuration to
serve two private pools (Pool1 and Pool2) and one public pool of DHCP
addresses based upon the remote-id and circuit-id might look like the
following:
dhcpd.conf file:
class “Pool1” {
match option agent.remote-id;
match option agent.circuit-id;
}