Introdução
Este documento descreve a funcionalidade dos serviços de mensagem e transição (MTS) usados para solucionar problemas das plataformas Nexus 7000.
Pré-requisitos
Requisitos
Não existem requisitos específicos para este documento.
Componentes Utilizados
Este documento não se restringe a versões de software e hardware específicas.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
Os serviços (também conhecidos como processos) no sistema operacional NeXus (NX-OS) se comunicam entre si pelo MTS.
Se o serviço de destino estiver fisicamente em um módulo diferente, a Comunicação entre Nós precisará ser usada. A comunicação com o outro módulo é feita pela Comunicação Avançada entre Processos (AIPC - Advanced Inter Process Communication) através dos links do Canal Ethernet Fora da Banda (EOBC - Ethernet Out-of-Band Channel). Os links EOBC estão no plano médio do chassi do Nexus 7000.
O MTS oferece:
- Infraestrutura de mensagens e alta disponibilidade (HA) e interfaces de programa de aplicativos (APIs)
- Gerenciamento de buffer
- Entrega de mensagens
A AIPC oferece:
- Transporte confiável através do EOBC
- Entrega de retransmissão baseada em ACK
- Fragmentação e remontagem
O MTS consiste principalmente em destino/nó de origem/SAP e Opcode.
- Nó - um identificador do módulo físico e VDC.
- SAP - um identificador de cada serviço. (Cada serviço pode ter vários Service Access Points (SAPs) para várias funções.)
- Opcode - um tipo de dados que os serviços usam para se comunicar com outros serviços.
Terminologia
MTS : Serviços de Mensagem e Transação
SAP : Ponto de acesso de serviço
AIPC: Comunicação avançada entre processos / Andiamo IPC
EOBC : Canal Ethernet fora da banda
NX-OS: sistema operacional NeXus
Formatos MTS
O destino MTS é representado por SAP (um serviço) e Node (o módulo em que o SAP é executado).
Observação: sup significa supervisor e lc significa linecard.
Execute o SAP em qualquer módulo.
`show system internal sysmgr service ~~~~`
n7ka# sh system internal sysmgr service all
Name UUID PID SAP state Start count Tag Plugin ID
---------------- ---------- ------ ----- --------- ----------- ---------------- -----------
aaa 0x000000B5 6942 111 s0009 1 N/A 0
cert_enroll 0x0000012B 6941 169 s0009 1 N/A 0
ExceptionLog 0x00000050 7267 92 s0009 1 N/A 0
`show system internal mts ~~~~~`
n7ka# sh system internal mts sup sap 111 description
Below shows sap on default-VDC, to show saps on non-default VDC, run
show system internal mts node sup-<vnode-id> sap ...
AAA Daemon
Executar o SAP somente em um módulo específico.
`Attach to the module`
n7ka# attach module 4
Attaching to module 4 ...
To exit type 'exit', to abort type '$.'
Last login: Tue Nov 7 15:42:35 PST 2023 from 127.1.1.2 on pts/0
`show system internal sysmgr service ~~~~`
n7ka# show system internal sysmgr service all
Name UUID PID SAP state Start count Tag Plugin ID
---------------- ---------- ------ ----- --------- ----------- ---------------- -----------
aclqo 0x0000016E 1301 190 s0009 1 N/A 0
amm 0x00000260 1130 895 s0009 1 N/A 0
bfdc 0x000002C7 1110 1008 s0009 1 N/A 0
`show system internal mts ~~~~~`
module-4# show system internal mts lc sap 190 description
Aclqos SAP
- Registro do Opcode
Às vezes, o MTS é enviado ao destino SAP 0. Como resultado, o MTS é enviado a vários SAPs que são registrados no registro SAP (registro opcode).
Como exemplo, a Opc 8182 é registrada pelo SAP 175 e 378, confirmada pelo comando show system internal mts sup registry persistent. Portanto, esse MTS é fornecido para SAP175 e SAP 378.
n7ka# show system internal ethpm event-history msgs
51) Event:E_MTS_RX, length:60, at 36968 usecs after Thu Sep 18 14:42:15 2014
[NOT] Opc:MTS_OPC_LINK_EVENT_DOWN(8182), Id:0X034960A1, Ret:SUCCESS
Src:0x00000102/181, Dst:0x00000609/0, Flags:None
HA_SEQNO:0X00000000, RRtoken:0x00000000, Sync:UNKNOWN, Payloadsize:82
Payload:
0x0000: 00 00 00 07 00 11 00 21 00 00 00 04 00 12 00 04
n7ka# show system internal mts sup registry persistent | i 8182
MTS_OPC_LINK_EVENT_DOWN(8182): 175, 378
- ID do Nó
O ID do Nó é um ID de 16 bits.
+ ID do slot - ID do slot do módulo. Começa com 1
+ ID do Vnode - ID do nó virtual. A ID do VDC começa com 0
+ ID do nó - ID do nó lógico. SUP:1 , LC:2
Exemplo: 0x805 = 0x08 + 0b0000_0101 = 0x08 + 0x1 + 0x1 (slot + Vnode + Lnode)
=> módulo SUP VDC 2 no slot 8
Rastrear Comunicação de Processo com MTS
idades
Você pode ver o histórico de comunicações MTS pelo uso de mensagens de histórico de eventos. Quase todos os serviços têm esse recurso de mensagem de histórico de eventos.
Esta CLI é o histórico de eventos MTS para eth_port_channel (ethpc).
n7ka# show port-channel internal event-history msgs
12) Event:E_MTS_RX, length:60, at 15586 usecs after Thu Sep 18 13:13:57 2014
[REQ] Opc:MTS_OPC_ETHPM_PORT_CLEANUP(61444), Id:0X00323B1E, Ret:SUCCESS
Src:0x00000601/175, Dst:0x00000601/378, Flags:None
HA_SEQNO:0X00000000, RRtoken:0x00323B1E, Sync:UNKNOWN, Payloadsize:26
Payload:
0x0000: 00 00 00 02 00 04 00 02 00 01 00 05 00 0c 00 00
Os campos listados a seguir fornecem detalhes adicionais com relação à finalidade no comando:
Evento:E_MTS_RX - indica que esse MTS foi recebido por esse serviço, neste caso, o ethpc. Se for E_MTS_TX, ethpc será o remetente desse MTS.
Src:0x00000601/175 - MTS_addr/SAP, representa o remetente desse MTS.
Dst:0x00000601/378 - MTS_addr/SAP, representa o receptor desse MTS.
Id:0X00323B1E - ID do MTS, onde o remetente e o destinatário têm o mesmo ID para o mesmo MTS.
Opc:MTS_OPC_ETHPM_PORT_CLEANUP(61444) - Indica o tipo de evento. Em outras palavras, qual opcode este MTS fornece, onde 61444 é o número opcode.
Exemplo de um evento MTS
Este exemplo de evento MTS é para um evento link inativo.
n7ka# 2014 Sep 18 14:42:15 n7ka %ETHPORT-5-IF_DOWN_LINK_FAILURE: Interface Ethernet1/3 is down (Link failure)
Como primeira etapa, verifique o histórico da ehpm porque é o processo abrangente para todos os itens relacionados à I/F.
n7ka# sh system internal ethpm event-history msgs
51) Event:E_MTS_RX, length:60, at 36968 usecs after Thu Sep 18 14:42:15 2014
[NOT] Opc:MTS_OPC_LINK_EVENT_DOWN(8182), Id:0X034960A1, Ret:SUCCESS
Src:0x00000102/181, Dst:0x00000609/0, Flags:None
HA_SEQNO:0X00000000, RRtoken:0x00000000, Sync:UNKNOWN, Payloadsize:82
Payload:
0x0000: 00 00 00 07 00 11 00 21 00 00 00 04 00 12 00 04
O resultado mostrado indica que o ETHPM recebeu o evento link inativo de Src:0x00000102/181. Esse endereço MTS indica que o SAP 181 está no VDC 1 LC no slot 1.
Use o CLI listado a seguir para determinar o que é SAP 181 no slot 1.
module-1# attach module 1
module-1# show system internal mts lc sap 181 description
Port_client SAP
Use o CLI listado a seguir para verificar o histórico MTS port_client no slot 1.
module-1# show system internal port-client event-history msgs
49) Event:E_MTS_TX, length:60, at 298743 usecs after Thu Sep 18 14:42:14 2014
[NOT] Opc:MTS_OPC_LINK_EVENT_DOWN(8182), Id:0X034960A1, Ret:SUCCESS
Src:0x00000102/181, Dst:0x00000609/0, Flags:None
HA_SEQNO:0X00000000, RRtoken:0x00000000, Sync:UNKNOWN, Payloadsize:82
Payload:
0x0000: 00 00 00 07 00 11 00 21 00 00 00 04 00 12 00 04
50) Event:E_MTS_RX, length:60, at 298329 usecs after Thu Sep 18 14:42:14 2014
[NOT] Opc:MTS_OPC_LC_LINK_DOWN(8185), Id:0X0349609F, Ret:SUCCESS
Src:0x00000102/536, Dst:0x00000102/0, Flags:None
HA_SEQNO:0X00000000, RRtoken:0x00000000, Sync:UNKNOWN, Payloadsize:17
Payload:
0x0000: 00 00 00 02 40 e5 00 07 02 54 1a 70 b6 00 04 84
A partir de Id:0X034960A1, podemos dizer que o evento 49) é o que interessa. O Port_Client enviou o MTS como esperado. Isso deve ser chamado pelo evento MTS anterior em Port_Client, que é 50). Este MTS foi enviado por Src:0x00000102/536.
Verifique SAP 536.
module-1# sh system internal mts lc sap 536 de
Naxos FPGA
Agora sabemos que o NAXOS FPGA é a fonte de todo esse evento. Use o CLI mostrado a seguir para descobrir que local_fault é a causa raiz da inatividade do link.
module-1# sh hardware internal naxos event-history port 3
15) Event E_NAXOS_ISR_DATA length:69, at 170763 usecs after Thu Sep 18 14:42:14 2014
TO NAXOS_PORT_STATUS_LINK_DOWN: reg_val 0x14
Status:SUCCESS (0x0)
16) Event E_NAXOS_ISR_DATA length:50, at 170619 usecs after Thu Sep 18 14:42:14 2014
LOCAL_FAULT: reg_val 0x14
Status:SUCCESS (0x0)