Virtuelle Emulation von Software-Defined-Networking-Geräten

| Autor / Redakteur: Ron Squiers * / Sebastian Gerstl

Bild 1: Beispiel eines Block-Diagramms der SDN-Hardware.
Bild 1: Beispiel eines Block-Diagramms der SDN-Hardware. (Bild: Mentor Graphics)

Der Beitrag beschreibt Methoden zur Hardware/Software- Co-Verifikation und beschleunigten virtuellen Emulation von SDN-Geräten mittels Virtual PCIe.

Die enormen Veränderungen in der Netzwerkforschung und -entwicklung haben in den letzten Jahren zu einer völlig neuen Klasse von Netzwerkgeräten geführt, den SDN (Software Defined Networking) Switches und Routern.

SDN-Geräte werden von Softwareanwendungen verwaltet, die ihre Konfigurationen herunterladen. Dies geschieht in der Regel über die PCIe- (Peripheral Component Interconnect Express) Schnittstelle, die bei der Verifikation von Netzwerk-SoCs seit Jahren als bewährte Schnittstelle für einfachen Gerätezugriff, die Konfiguration und das Laufzeitmanagement verwendet wird.

SDN-SoCs (System on Chips) führen jedoch zu deutlich mehr Interaktionen zwischen der Software der Host-Anwendung und der Hardware des SoC, die über PCIe verwaltet werden. Neukonfigurationen per Software sind schnell durchführbar, weit verbreitet und unterstützen Tausende von einzelnen Schaltprofilen. Um diese komplexen Vorgänge zu validieren, ist die Co-Verifikation von Hard- und Software eine unverzichtbare Methode.

Traditionelle Methoden zur PCIe-Verifikation, insbesondere Vektor-basierte Verifikationsmethoden, reichen für die Co-Verifikation von großen Geräten nicht aus. Vektor-basierte Verifikationsplattformen eignen sich weder für die Co-Verifikation von Hard- und Software noch funktionieren sie für SDN. Diese Einschränkungen lassen sich am besten überwinden, wenn man mit Hilfe von Virtual PCIe auf ein virtuelles Paradigma wechselt. Virtual PCIe beschleunigt den Einsatz der virtuellen Emulation. Damit können Anwendungen mit dem emulierten Testobjekt (Device Under Test, DUT) so interagieren, als ob es echte Hardware wäre. Virtual PCIe ist die ideale Methode für die Co-Verifikation von Hard- und Software.

SDN trennt die Steuerungs- und Weiterleitungsfunktionen eines Netzwerk-Switches und zentralisiert die Steuerung in einer Softwareanwendung auf einem externen Host. Die Zentralisierung der Steuerung und die Fähigkeit, das Verhalten des Netzwerks mit genau definierten Schnittstellen zu programmieren, sind wichtige Eigenschaften des SDN-Paradigmas (siehe Bild 1).

Eine zentrale Komponente ist die Software, die zur Konfiguration der blau dargestellten Elemente verwendet wird. Im Wesentlichen ist es so, dass der Chip „aufwacht“ und nicht weiß, welche Funktion er ausführen soll. SDN-SoCs sind keine traditionellen Geräte mit festen Funktionen, sondern hochkonfigurierbare Match-Action-Devices, die von einer SDN Control Plane Application oder einem Orchestrator programmiert werden. Der Orchestrator managt alles, von der ersten Gerätekonfiguration bis zur Echtzeitsteuerung. Er kann einen einzelnen SoC oder ein Netzwerk von Geräten verwalten.

Virtuelle Emulation von SDN-Geräten

SDN-Geräte arbeiten während der Emulation im Vergleich zur Taktrate des Produkts mit einer viel geringeren Geschwindigkeit. Aus der Perspektive des DUT läuft das SDN-Gerät mit voller Geschwindigkeit, da alle Takte über die PCIe-Schnittstelle und Emulationstakte des DUT aufrechterhalten werden (siehe Bild 2).

Der von Mentor unterstützte virtuelle PCIe Root Complex (RC) wird in einer als VirtuaLAB bezeichneten Lösung geliefert. Diese Bibliothek unterstützt verschiedene Arten von virtuellen Maschinen (VM), die sich für viele Technologien wie Vernetzung, Multimedia, Speicher, Automotive und CPU eignen.

Bei der Verwendung von VirtuaLAB PCIe kommt für die PCIe Software Under Test (SUT) genau der gleiche Treiber zum Einsatz, den auch die Kunden erhalten. Der Treiber spezifiziert den Bus und findet das SDN-DUT so vor, als ob es das echte Produkt wäre. Um das DUT zu initialisieren und die Host-Software dynamisch zu konfigurieren verbindet sich die SDN-Software über den PCIe-RC nahtlos mit dem PCIe-Endpunkt (EP) des SoC. Diese Vorgehensweise ist für Hard- und Software-Entwickler zur Designverifizierung, Laborvalidierung und Kundenbetreuung sehr interessant.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44829282 / Tools & Softwarekomponenten)