Solução mais robusta que conheço é usando IOS (Cisco) ou JunOS (Juniper), para OpenSource por ser usuário de FreeBSD Quagga (roteamento) + MPD5 (PPPoE). Falando ainda em FreeBSD tem um projetinho muito interessante BSD Router Project, que consiste em um FreeBSD pré-configurado para operar especificamente em roteamento, tem inclusive opções para instalar em equipamentos embarcados como o caso das placas ALIX.

Por solução de software para router, entendi que vc quer rodar protocolos de roteamento (BGP, iBGP, OSPF) bem como autenticação de clientes PPPoE certo?

Eu particularmente estou partindo para um Mix de Cisco e MPD5, ainda em fase de laboratório, mais tenho tido bons resultados.