É para isso que o BGP foi feito. Usando o que é comumente referido como iBGP para intercomunicação de roteador interno e redundância de caminho e / ou eBGP para redundância de caminho completo no nível da Internet. O BGP descreve um protocolo para os roteadores se comunicarem entre si com os dados analíticos necessários para fazer julgamentos sobre a natureza dos caminhos de tráfego válidos e funcionais dentro de um sistema autônomo.
Não vejo ninguém fazendo isso com o NetworkManager como uma ferramenta de configuração de tempo de execução para esse grau de roteamento. O NM teve problemas históricos ao não escalar bem ao usar muitas rotas, e há um software muito melhor projetado para fazer o que você quer.
A maioria dos roteadores comerciais terá a funcionalidade BGP, então você pode obtê-lo "enlatado". Eu normalmente uso pfSense ou VyOS se estou indo para um "roteador de software" como ambos virtualizar bem. O VyOS ainda mantém imagens LXD, então eu normalmente uso isso. Você também pode usar o BGP na maioria das distribuições Linux manualmente com os pacotes openbgbpd ou quagga.
Muitas soluções SDN usam BGP para fornecer redundância e balanceamento de rede em vez de sistemas como MLAG, já que muitas implementações de MLAG em switches e roteadores ethernet têm sido historicamente muito específicas ou não operam como esperado, especialmente quando se usa hardware não compatível. Em vez de se preocupar com drivers de controle para cada switch lá fora, a SDN geralmente é direcionada para operar acima da camada 2 para essas soluções de redundância de vários nós, mesmo dentro de uma rede interna.