Благодарю за ответы, я собственно так и сделал с ethswitch модулем, думал что это костыль и просто не нашел нужного свитча в gns, но видимо все так делают.
Сейчас все сидят на IOU (либо L2IOU, который на самом деле виртуальный L3 свитч с близким к cat6500 функционалом, в отличие от строго роутерного IOU). Не эмулятор, не симулятор, скорее скомпилированный под линукс IOS, сворованный у циски. ЦП не жрет, памяти жрет по минимуму, реализовать топологию машин на 30 на среднем железе — не проблема. Глючит совсем умеренно, даже скорее почти совсем не глючит. Есть правильные оболочки вроде iou-web, с которыми не приходится мучиться при создании схемы патчевания.