Какой трафик (bps/pps) внутри сети и наружу?
Если небольшой — то годится RB2011.
Если большой — то CCR1016.
Если внутренний большой, внешний маленький — то лучше отдельный маршрутизирующий коммутатор в ядро и отдельно шлюз на Микротике, например, RB951.
Я бы сначала написал прототип на Си (примеров и документации в сети вагон),
сгенерировал ассемблерный текст и затем писал бы собственный вариант на его базе.