Três etiquetas diferentes viajam com uma única rota VPNv4, e um walk SNMP mostra apenas as que o agente implementa. O atributo BGP recebido, a etiqueta de serviço de entrada atribuída localmente e a etiqueta de encaminhamento de saída estão em tabelas diferentes sob índices diferentes. Pedir a etiqueta a um equipamento sem primeiro escolher qual das três se pretende é como um projeto de recolha encrava no seu primeiro chassis.

Escolha a que a sua tarefa precisa e depois siga a cadeia de índices que chega até ela. Se a cadeia quebrar num objeto que o agente não implementa, isso é uma constatação a registar, não uma lacuna a preencher com um OID inventado.

Escolha qual das três etiquetas a tarefa precisa

Uma etiqueta recebida de um par chega como atributo de caminho BGP e descreve o que esse par espera que empurre na direção dele. A etiqueta de serviço de entrada é atribuída por este equipamento a um prefixo VRF e marca o tráfego que entra no LSP. A etiqueta superior de saída é a que o plano de encaminhamento empurra de facto para o salto seguinte, e muda sempre que o salto seguinte muda.

Apenas a segunda e a terceira pertencem ao estado de encaminhamento da caixa inquirida. A primeira é uma afirmação sobre a expectativa do vizinho, não sobre este chassis.

O MIB padrão de L3VPN modela a rota VRF e a sua associação a uma interligação, o que basta para chegar às etiquetas locais de serviço e de encaminhamento. Não promete um despejo de cada atributo que uma sessão BGP recebeu. Leia a tabela pelo que contém, não pelo que a pergunta implica. Um coletor construído sobre uma suposição errada relata zeros e arquiva-os como dados em falta.

What you wantWhere it livesWhat a walk can return
Label advertised by a peerBGP session state for that VRFUsually outside the standard L3VPN MIB
Incoming service label for a prefixVRF route entry joined to an incoming segmentAvailable when both tables are implemented
Label pushed toward the next hopOutgoing segment with a push conditionAvailable, but only meaningful while a top label is pushed

Ligue a entrada de rota VRF à sua interligação

RFC 4382 define mplsL3VpnVrfRteTable. Leia o índice como seis partes: o nome da VRF, o tipo de endereço do destino, o próprio prefixo, um valor de política, o tipo do salto seguinte e o endereço do salto seguinte. As entradas IGP e BGP partilham essa tabela, por isso anote o protocolo de encaminhamento ao lado do prefixo. Duas linhas podem levar o mesmo prefixo e diferir apenas no salto seguinte, e escolher a linha errada envia a ligação para outra interligação.

A coluna mplsL3VpnVrfRteXCPointer leva o índice da interligação e não um OID de linha completo, embora o nome sugira o contrário. Um valor zero de um único octeto significa que não há pilha de etiquetas associada, que é o que vê antes de as associações assentarem ou numa rota que nunca precisou de uma.

Traduza a coluna antes de a percorrer, para que a subárvore numérica da saída seja inequívoca. Os dois comandos abaixo endereçam o mesmo nó em notações diferentes.

snmptranslate -m +MPLS-L3VPN-STD-MIB -On mplsL3VpnVrfRteXCPointer
snmpwalk -v2c -c monitor 192.0.2.10 mplsL3VpnVrfRteXCPointer

Leve o índice devolvido para a tabela de interligações, cuja chave de entrada é um trio: índice de interligação, índice de segmento de entrada e índice de segmento de saída. Esse trio é a ligação que transforma uma rota numa etiqueta. Percorra a subárvore de interligações para o índice concreto em vez da tabela inteira, porque a leitura indexada mantém a associação e o walk massivo não.

Leia o índice em vez do número da etiqueta

Um índice de segmento identifica uma linha, e uma etiqueta é um valor dentro dessa linha, por isso substituir um pelo outro produz uma resposta aparentemente plausível que aponta para o LSP errado. Do lado de entrada, inspecione a interface e o contexto de etiqueta juntamente com mplsInSegmentLabel, lembrando que o objeto pode, em vez disso, transportar um ponteiro para uma tabela de etiquetas quando a linha remete para uma entrada noutro local.

Do lado de saída, verifique a interface de saída e se a linha diz que uma etiqueta superior é empurrada antes de ler mplsOutSegmentTopLabel. Uma coluna de etiqueta superior preenchida numa linha que não empurra nada é um valor desatualizado ou um resto de um caminho anterior, não o estado de encaminhamento atual. Pilhas mais profundas exigem a tabela de pilha de etiquetas referenciada, e esse salto extra é normal, não um defeito.

Convenções especiais de zero aplicam-se a caminhos que começam ou terminam localmente no router. Trate um índice zero como comportamento documentado e não como resultado vazio, e confirme-o face ao estado de encaminhamento local.

Confirme o que o agente implementa antes de escalar

Verifique os objetos implementados para a plataforma e a versão exatas, as famílias de endereços em uso e qualquer restrição operacional sobre as subárvores. Inquira com uma credencial só de leitura limitada a essas subárvores, e aceite que um objeto ausente pode significar que a funcionalidade não está implementada e não que o MIB esteja errado.

Correlacione uma rota VRF conhecida com a saída operacional do próprio equipamento antes de apontar um coletor à tabela inteira. Guarde cada componente de índice e o momento de recolha com cada amostra, porque as rotas e as associações se movem entre walks. Um instantâneo cosido a partir de dois walks separados por minutos pode misturar um índice de interligação antigo com uma rota nova e parecer perfeitamente coerente.

Onde a vista do BGP recebido ou um objeto de etiqueta específico do fornecedor faltarem mesmo, passe para uma interface de telemetria ou operacional que a plataforma documente. A ligação padrão cobre as etiquetas locais de encaminhamento e pouco mais, por isso trate-a como o primeiro passo de um desenho de recolha e não como a coisa terminada.

Artigos relacionados