Если хотите реально крутое (datacenter-level) решение - то ответ
openflow. Поддерживается многими железками, в ближайшее время будет
поддерживаться экстримами (в феврале релиз, кажись). Циски
поддерживаются.
Кратко: коммутаторы и машрутизаторы перестают умничать и начинают
работать как тупые коммутационные матрицы. А вся логика по формированию
datapath для прохождения пакета ложится на openflow контроллер
(софтовый).
Там же легко прикручивается и управление DHCP (т.к. openflow будет точно
знать, с какого порта какого маршрутизатора пришёл пакет).
Кстати, openflow позволит не париться с настройкой dhcp relay в каждом
сегменте - все dhcp запросы (и ответы на них) просто будут тупо идти на
заданный сервер сквозь все маршрутизаторы без, собственно,
маршрутизации.