Inhalt

Einführung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Konventionen

Software-Funktionsbausteine

Was ist eine Mailbox?

ATM-Core- zu Plattform-Treiber und PCI-Host-Treiber

PCI-Host-Treiber für PA-Firmware

Softwarearchitektur des IMA-Netzwerkmoduls

Zugehörige Informationen

Einführung

Mehrere Prozessoren, die sich auf einem dedizierten Systemprozessormodul befinden, sowie lokale Schnittstellen-Hardware arbeiten zusammen, um eine erfolgreiche Übertragung und den Empfang von Paketen über virtuelle ATM-Schaltungen (VCs) zu gewährleisten. Diese Prozessoren kommunizieren untereinander, indem sie Meldungen zur Ausführung von Funktionen wie VC-Einrichtung und -Entfernung, Statistikauflistung auf der physischen Ebene und Alarmgenerierung bereitstellen. Diese Botschaften, so genannte Liebesbriefe oder Liebesnachrichten, werden von einem Prozessor in einen Speicherblock geschrieben. Ein Empfangsprozessor liest die Nachricht dann. Die Ausgabe des Befehls debug atm events stellt ein Fenster für diesen Nachrichtenmechanismus bereit, z. B. die folgende Ausgabe von einem PA-A3.

Jun 17 12:48:50.631 BST: atmdx_mailbox_proc(ATM5/0/0): received report type 2

Jun 17 12:48:50.631 BST: atmdx_process_love_letter(ATM5/0/0): 2 VCs core

statistics

Jun 17 12:48:55.631 BST: atmdx_mailbox_proc(ATM5/0/0): received report type 3

Jun 17 12:48:55.631 BST: atmdx_process_love_letter(ATM5/0/0): 1 VCs aux

statistics

Dieses Dokument dient der Veranschaulichung der Ausgabe von Debugging-ATM-Ereignissen, um zwischen Informationsmeldungen und Meldungen zu unterscheiden, die auf ein operationelles Problem hinweisen. In diesem Dokument wird auch die standardmäßige ATM-Schnittstellensoftware-Architektur vorgestellt.

Vorsicht: Bevor Sie Debugbefehle ausgeben, lesen Sie bitte die Hinweise Wichtiger Informationen über Debug-Befehle. Der Befehl debug atm events gibt abhängig von der Anzahl der VCs, für die Statistiken gemeldet werden müssen, sowie von der Anzahl der VC-bezogenen Ereignisse eine große Menge an Fehlerbehebungsausgaben auf einem Produktions-Router aus.

Voraussetzungen

Anforderungen

Für dieses Dokument bestehen keine speziellen Anforderungen.

Verwendete Komponenten

Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.

Konventionen

Weitere Informationen zu Dokumentkonventionen finden Sie in den Cisco Technical Tips Conventions.

Software-Funktionsbausteine

Alle ATM-Schnittstellen verwenden eine Softwarearchitektur, die aus mehreren Bausteinen besteht. Bevor wir diese Softwareblöcke durchgehen, müssen wir zunächst die Cisco IOS® Software-Treiber und die PCI-Bus-Architektur in Ihrem Router kennen.

Ein Treiber ermöglicht es Software-Ingenieuren, eine Hardware-Abstraktion zu implementieren. Sie ermöglicht es Technikern, grundlegende Software-Blöcke zu erstellen, die auf jeder Plattform ausgeführt werden, und diesen plattformunabhängigen Code dann mithilfe von Treibern an eine bestimmte Plattform anzupassen, z. B. die 7200er- oder die 3600er-Serie.

Der PA-A3 unterstützt einen PCI-Host-Treiber, der es dem SAR-Prozessor (Segmentation and Reassembly) ermöglicht, mit PCI-Bussen (Periphery Component Interconnect) zu kommunizieren, die die Länge der 7200-/7400-Serie aufweisen, sowie mit dem VIP (vIP) auf RSP-Plattformen. PCI-Busse dienen als Datenpfad zwischen Port-Adaptern und Hostspeicher im VIP oder auf der Network Processing Engine (NPE)/Network Services Engine (NSE). Das folgende Diagramm zeigt die Architektur des VIP2 und die Position der PCI-Busse:

In dieser Tabelle sind die Softwareblöcke auf dem PA-A3 aufgeführt:

Softwareblock

Funktion

ATM-Core

Plattform- oder PA-unabhängige Softwarefunktionen, die alle ATM-Schnittstellen verwenden. Beispielsweise übernimmt der ATM-Core die OAM- und ILMI-Verwaltung.

Plattformtreiber

Plattformabhängige Softwarefunktionen, die die allgemeine ATM-Kernsoftware mit der PCI-Host-Treibersoftware "überbrücken". ATM-Core und die PCI-Host-Treiber tauschen Befehle, Statusaktualisierungen und Statistiken über die Bridge aus. Der Plattform-ATM-Treiber verarbeitet auch Empfangs-Paket-Weiterleitung, plattformspezifische Initialisierungsfunktionen und Statistiken auf physischer Ebene, wie im Display des show-Controllers gezeigt.

PCI-Host-Treiber

Stellt die PCI-Host-Schnittstelle für den SAR-Chip auf dem PA-A3 bereit. Führt mehrere Schlüsselfunktionen aus:

- Lädt Firmware auf den SAR herunter

- Transportiert Pakete

- Statistikerhebung

- Überwacht Frame-Alarme

Host-Schnittstelle

Teil des Hardware-Funktionssatzes jedes SAR. Führt mehrere wichtige Aktionen durch:

- Lädt Startcode herunter, um die SARs zu konfigurieren, und ermöglicht ihnen den Austausch von Steuerungsdaten mit dem PCI-Host-Treiber.

- Generiert Interrupts, wenn die SAR Zellen im Empfangspfad in den Speicher schreiben und Zellen im Übertragungspfad planen muss.

- Gibt leere Puffer zum PCI-Host-Treiber zurück.

- Verarbeitet Befehle, die vom PCI-Host-Treiber gesendet werden und leitet lokal erfasste Statistiken an den PCI-Host-Treiber weiter.

Firmware

Start- oder Bootcode sowie optimierte Runtime-Images für die ATM-Prozessoreinheit (APU) auf den SARs für Empfang und Übertragung. Vom PCI-Host-Treiber heruntergeladen.

Auf der RSP/VIP-Plattform befindet sich der Plattformtreiber im RSP-System-Image und VIP-System-Image, während der PCI-Host-Treiber Teil des VIP-System-Image ist. Auf der 7200-Plattform sind beide Treiber Teil des Systemabbilds.

Die PA-A3-spezifische Software ist mit der VIP-Software oder mit der Systemsoftware für andere unterstützende Plattformen gebündelt.

Was ist eine Mailbox?

Wie oben erwähnt, ist eine Mailbox Teil eines Messaging-Modells, das Cisco IOS zum Übertragen von Nachrichten zwischen zwei CPUs verwendet. So funktioniert dieser Prozess im Allgemeinen:

1. Ein Treiber weist einen Nachrichtenpuffer zu.

2. Ein Liebesbrief oder ein Brief füllt den Nachrichtenpuffer.

3. Der empfangende Prozessor liest den Nachrichtenpuffer.

4. Wenn Sie den Befehlspuffer gelesen haben, generiert der Prozessor einen "Message-done"-Interrupt.

5. Der Nachrichtenpuffer wird an den freien Pufferpool zurückgegeben.

In diesem Dokument werden nun zwei Nachrichtensätze erläutert, die zwischen Prozessoren mit den in der Tabelle oben beschriebenen Komponenten der Cisco IOS-Software ausgetauscht werden.

ATM-Core- zu Plattform-Treiber und PCI-Host-Treiber

Der PCI-Host-Treiber sammelt Statistiken pro VC für jedes Paket. Der VIP-Plattformtreiber leitet diese Statistiken autonom jede Sekunde per Love Note an den RSP-Plattformtreiber weiter. Der Befehl show atm vc zeigt die aktuellen VC-Daten an. Der VIP-Plattformtreiber leitet Framerstatistiken alle 10 Sekunden an den RSP weiter. Wenn das System initialisiert wird, wird ein spezieller Hintergrundprozess erstellt, der die autonomen Statistiken vom VIP als geplanten Prozess behandelt und nicht auf Unterbrechungsebene, um die Systemunterbrechung zu minimieren.

Der Befehl debug atm events gibt Ausgaben für VC-bezogene Ereignisse wie Setup und Beendigung aus.

Funktion

Beschreibung

Einrichtung

Richten Sie eine VC ein. Der plattformabhängige Treiber übergibt die Anforderung an den PCI-Host-Treiber.

Teardownvc

Entferne eine vorhandene VC. Der plattformabhängige Treiber leitet die Anforderung an den PCI-Hosttreiber weiter.

getvc_stats

Abrufen von VC-Statistiken nach Bedarf; unterstützt nur eine VC-Anforderung.

qos_params_verifizieren

Überprüft QoS-Parameter, bevor ein VC eingerichtet wird.

PCI-Host-Treiber für PA-Firmware

Die SAR besteht intern aus Hardware-funktionalen Blöcken. Ein solcher Block ist die ATM Processing Unit (APU), ein MiniRISC mit benutzerdefinierter Logik für ATM-spezifische Erweiterungen. Der PCI-Host-Treiber und die APU, die die ATM-Firmware ausführt, kommunizieren über eine Messaging-Mailbox. Zu jedem Zeitpunkt wird ein ausstehender Befehl für jede APU verwendet, um die PA-Firmware anzuweisen, eine bestimmte Aufgabe auszuführen, z. B. eine VC-Konfiguration. Die Firmware leitet alle 10 Sekunden Statistiken per VC und per PA an den PCI-Host-Treiber weiter, wenn sich die Daten ändern.

Die folgende Ausgabe, die vom Debug ATM-Ereignis generiert wurde, zeigt die Befehle, die der PCI-Host-Treiber an die Firmware gesendet hat. Die Firmware gibt nur Bestätigungen zurück, die auf den Erfolg des Befehls hinweisen. Diese Bestätigungen werden nicht in der Debugausgabe angezeigt.

7200-1.3(config)# int atm 6/0

7200-1.3(config-if)# pvc 1/100

7200-1.3(config-if-atm-vc)# vbr-nrt 45000 45000

7200-1.3#

17:07:43: atmdx_setup_vc(ATM6/0): vc:14 vpi:1 vci:100 state:2 config_status:0

17:07:43: atmdx_pas_vc_setup(ATM6/0): vcd 14, atm hdr 0x00100640, mtu 4482

17:07:43: VBR: pcr 96000, scr 96000, mbs 94

17:07:43:  vc tx_limit=1600, rx_limit=480

17:07:43:  Created 64-bit VC counterss

7200-1.3(config)# int atm 6/0

7200-1.3(config-if)# no pvc 1/100

7200-1.3(config-if)#

17:08:48: atmdx_teardown_vc(ATM6/0): idb state 4 vcd 14 state 4

17:08:48: atmdx_pas_teardown_vc(ATM6/0): vcd 14

Softwarearchitektur des IMA-Netzwerkmoduls

In diesem Dokument werden die oben genannten Informationen übernommen, indem Sie die Softwarearchitektur des IMA-Netzwerkmoduls (Inverse Multiplexing over ATM) für die Router der Serien 2600 und 3600 durchlaufen.

Das IMA NM verfügt über eine "Host"-Seite zur Anzeige von Funktionen oder Speicher auf dem Prozessormodul und eine "lokale" Seite zur Anzeige von Funktionen oder Speicher auf dem Netzwerkmodul selbst. Auf der Hostseite werden plattformunabhängige und plattformabhängige Treiber ausgeführt. Auf der lokalen Seite wird Firmware ausgeführt, die von den Host-Treibern auf die integrierte CPU des NM heruntergeladen wurde. Dieses Bild behandelt die Funktionen der physischen Ebene, darunter die Steuerung des Framer-ASIC, die Erfassung von Statistiken auf physischer Ebene und die Generierung von Loopbacks und Alarmen. Die Cisco IOS-Treiber und die NM-Firmware kommunizieren per E-Mail.

Auf der lokalen Seite führt das NM IMA auch einen IMA-Treiber aus, der ähnlich eine Meldungsmailbox für die Kommunikation mit der lokalen CPU verwendet.

Nachrichten in Richtung Host auf die lokale Seite sind hauptsächlich für die Konfiguration vorgesehen. Diese Meldungen umfassen:

- Konfigurationsdaten für physische Layer E1/T1

- IMA-Gruppenkonfiguration

- Loopback-Konfiguration

- Debugkonfiguration

- Abfrage des IMA-Gruppen-/Verbindungsstatus

- Abfrage von MIB-Daten (Management Information Base) für RFC 1406

- Abfrage von IMA MIB-Daten

Nachrichten, die an die Hostseite gesendet werden, werden für die Kommunikation von Leitungsstatusänderungen und Leistungsstatistiken verwendet. Dazu gehören:

- Statusänderungen für E1/T1 auf physischer Ebene

- IMA-Gruppenstatusänderungen

- IMA-Link-Statusänderungen

- Änderung des Loopback-Status

- Nachrichten debuggen

- Antwort von RFC 1406 MIB-Daten

- Antwort der IMA MIB-Daten

Die folgende Beispielausgabe veranschaulicht die Liebesnotizen, die zum Einrichten und Beenden eines VCs verwendet werden. Wir haben die physische Schnittstelle geschlossen und nicht abgeschaltet, um die Entfernung zu erzwingen. "rs8234" bezieht sich auf den SAR auf dem NM.

3640-1.1(config)# int atm2/ima2

3640-1.1(config-if)# pvc 1/1

3640-1.1(config-if-atm-vc)# shut

3640-1.1(config-if)#

*Mar  1 00:17:20.323:  Reserved bw for 1/1 Available bw = 6000

*Mar  1 00:17:20.323: rs8234_setup_vc(ATM2/IMA2): vc:4 vpi:1 vci:1

*Mar  1 00:17:20.323: rs8234_setup_vc_common() VCD=260 vp/vc=17/1 etype=0

*Mar  1 00:17:20.323: rs8234_setup_cos(ATM2/IMA2): vc:4 wred_name:- max_q:0

*Mar  1 00:17:20.327:  Created 64-bit VC counters

*Mar  1 00:17:20.327: rs8234_teardown_vc(ATM2/IMA2): vc:260 vpi:1 vci:1

*Mar  1 00:17:20.327: rs8234_teardown_vc proceeds (ATM2/IMA2): vc:260 vpi:1

vci:1

*Mar  1 00:17:20.327: Status and ptr is 400 Status Q is 1

*Mar  1 00:17:20.331: Resetting ATM2/IMA2

*Mar  1 00:17:20.331: rs8234_teardown_vc(ATM2/IMA2): vc:260 vpi:1 vci:1

*Mar  1 00:17:20.331: rs8234_teardown_vc proceeds (ATM2/IMA2): vc:260 vpi:1 vci:1

*Mar  1 00:17:20.331:  Remove link with ports 8,links 4,channel 1

*Mar  1 00:17:22.327: %LINK-5-CHANGED: Interface ATM2/IMA2, changed state to administratively down

3640-1.1(config-if)# no shut

3640-1.1(config-if)#

*Mar  1 00:17:31.287: Resetting ATM2/IMA2

*Mar  1 00:17:31.287: IMA config_interface ATM2/IMA2

*Mar  1 00:17:31.287: IMA config_restart ATM2/IMA2

*Mar  1 00:17:31.287: IMA restarting 0 VCs

*Mar  1 00:17:31.287: rs8234_setup_vc(ATM2/IMA2): vc:4 vpi:1 vci:1

*Mar  1 00:17:31.287: rs8234_setup_vc_common() VCD=260 vp/vc=17/1 etype=0

*Mar  1 00:17:31.287: rs8234_setup_cos(ATM2/IMA2): vc:4 wred_name:- max_q:0

Zugehörige Informationen

- Cisco ATM-Port-Adapter

- ATM-Technologieunterstützung

- Technischer Support - Cisco Systems