Tres etiquetas distintas viajan con una sola ruta VPNv4, y un walk SNMP solo muestra las que implementa el agente. El atributo BGP recibido, la etiqueta de servicio de entrada asignada localmente y la etiqueta de reenvío de salida están en tablas distintas bajo índices distintos. Pedirle a un dispositivo la etiqueta sin haber elegido antes cuál de las tres te refieres es como un proyecto de recolección se atasca en su primer chasis.

Elige la que necesite tu tarea y después sigue la cadena de índices que llega hasta ella. Si la cadena se rompe en un objeto que el agente no implementa, eso es un hallazgo que registrar y no un hueco que rellenar con un OID inventado.

Elige cuál de las tres etiquetas necesita la tarea

Una etiqueta recibida de un vecino llega como atributo de ruta BGP y describe qué espera ese vecino que le empujes hacia él. La etiqueta de servicio de entrada la asigna este dispositivo para un prefijo VRF y marca el tráfico que entra en el LSP. La etiqueta superior de salida es la que el plano de reenvío empuja realmente hacia el siguiente salto, y cambia siempre que cambia el siguiente salto.

Solo la segunda y la tercera pertenecen al estado de reenvío de la caja que se consulta. La primera es una afirmación sobre la expectativa del vecino, no sobre este chasis.

El MIB estándar de L3VPN modela la ruta VRF y su asociación con una interconexión, lo que basta para llegar a las etiquetas locales de servicio y de reenvío. No promete un volcado de cada atributo que haya recibido una sesión BGP. Lee la tabla por lo que contiene, no por lo que implica la pregunta. Un recolector construido sobre una suposición errónea reporta ceros y los archiva como datos faltantes.

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

Une la entrada de ruta VRF con su interconexión

RFC 4382 define mplsL3VpnVrfRteTable. Lee su índice como seis partes: el nombre de la VRF, el tipo de dirección del destino, el propio prefijo, un valor de política, el tipo de siguiente salto y la dirección de siguiente salto. Las entradas IGP y BGP comparten esa tabla, así que anota el protocolo de encaminamiento junto al prefijo. Dos filas pueden llevar el mismo prefijo y diferir solo en el siguiente salto, y elegir la fila equivocada manda la unión hacia otra interconexión.

La columna mplsL3VpnVrfRteXCPointer lleva el índice de interconexión y no un OID de fila completo, aunque el nombre sugiera lo contrario. Un valor cero de un solo octeto significa que no hay pila de etiquetas asociada, que es lo que ves antes de que se asienten las asociaciones o en una ruta que nunca necesitó una.

Traduce la columna antes de recorrerla, para que el subárbol numérico de la salida sea inequívoco. Los dos comandos de abajo abordan el mismo nodo en notaciones distintas.

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

Toma el índice devuelto hacia la tabla de interconexiones, cuya clave de entrada es una terna: índice de interconexión, índice de segmento de entrada e índice de segmento de salida. Esa terna es la unión que convierte una ruta en una etiqueta. Recorre el subárbol de interconexiones para el índice concreto en lugar de la tabla entera, porque la lectura indexada mantiene la asociación y el walk masivo no.

Lee el índice en lugar del número de etiqueta

Un índice de segmento identifica una fila, y una etiqueta es un valor dentro de esa fila, así que sustituir uno por otro produce una respuesta verosímil que apunta al LSP equivocado. En el lado de entrada, inspecciona la interfaz y el contexto de etiqueta junto con mplsInSegmentLabel, recordando que el objeto puede llevar en cambio un puntero a una tabla de etiquetas cuando la fila remite a una entrada en otro sitio.

En el lado de salida, comprueba la interfaz de salida y si la fila dice que se empuja una etiqueta superior antes de leer mplsOutSegmentTopLabel. Una columna de etiqueta superior rellena en una fila que no empuja nada es un valor obsoleto o un resto de una ruta anterior, no el estado de reenvío actual. Las pilas más profundas necesitan la tabla de pila de etiquetas referenciada, y ese salto extra es normal, no un defecto.

Se aplican convenciones especiales de cero a los caminos que se originan o terminan localmente en el router. Trata un índice cero como comportamiento documentado y no como resultado vacío, y confírmalo contra el estado de reenvío local.

Confirma qué implementa el agente antes de escalar

Verifica los objetos implementados para la plataforma y la versión exactas, las familias de direcciones en uso y cualquier restricción operativa sobre los subárboles. Consulta con una credencial de solo lectura limitada a esos subárboles, y acepta que un objeto ausente puede significar que la función no está implementada y no que el MIB sea incorrecto.

Correlaciona una ruta VRF conocida con la salida operativa del propio dispositivo antes de dirigir un recolector a la tabla entera. Guarda cada componente de índice y el momento de recolección con cada muestra, porque las rutas y las asociaciones se mueven entre walks. Una instantánea cosida de dos walks separados por minutos puede mezclar un índice de interconexión antiguo con una ruta nueva y parecer perfectamente coherente.

Donde la vista del BGP recibido o un objeto de etiqueta específico del proveedor falte de verdad, pasa a una interfaz de telemetría u operativa que la plataforma documente. La unión estándar cubre las etiquetas locales de reenvío y poco más, así que trátala como el primer paso de un diseño de recolección y no como la cosa terminada.

Artículos relacionados