Чтобы получать топологию по одной кнопочке, сначала нужно в эти кнопочки неделю с умным видом тыкать.
1) Написать поллеры для lldp, cdp, ndp, fdb в mgmt влане, stp и прочего, что может хоть как-то помочь в определении топологии в зоопарке железа.
2) Спроектировать пачку табличек в СУБД
3) Написать демон, который часто будет собранные поллерами в таблички данные лопатить, считать топологию, считать диффы и обновлять таблицу связей
4) ЧТобы этим могли пользоваться все коллеги, нужно поднять веб-сервер, написать бэкэнд для выгребания данных из таблички и js фронтенд для их отрисовки.
И вот потом можно нажимать на одну кнопочку. Но уже не хочется)
Для п.2 могут быть варианты. Я вот задумываюсь теперь об интеграции с Нетбоксом, там для этого всё есть. И девайсы с атрибутами, и связи, и API