Next: Vorhandener Code
Up: Schnittstelle zur Basissoftware
Previous: Schnittstelle zur Basissoftware
Grundlage der Erweiterung ist die Kernelversion 2.1.59. Die
ungerade Zahl zwischen den beiden Punkten deutet dabei auf
einen als nicht stabil geltenden Kernel hin. Da aber der
Bridging-Code in den stabilen Kernelversionen (2.0.x)
Bugs aufweist (bspw. ließ sich der Switch selbst
nicht mehr von außen erreichen), kommt nur ein
Entwicklerkernel in Frage. Der Kernel mit der höchsten
Versionsnummer war zum Zeitpunkt des Arbeitsbeginns
2.1.80. Leider stürzt bei diesem Kernel das ganze
System ab, sobald der Bridging-Code gestartet wird.
So war es nötig, schrittweise downzugraden, bis sich
die Version 2.1.59 als geeigneter Ausgangskernel erwies.
Tests mit dem zum Ende dieser Arbeit aktuellen Entwicklerkernel
2.1.113 haben ergeben, daß auch hier der als experimental
gekennzeichnete Bridging-Code nur sehr instabil läuft und
nach kurzer Zeit zu heftigen Betriebssystemabstürzen führt.
Daher muß auf eine Portierung der Kernelerweiterung um
VLAN-Funktionalität auf einen Kernel mit höherer Versionsnummer
vorerst verzichtet werden.
Den Bridging-Code findet man im Verzeichnisbaum
(siehe Abbildung 5.2) unter
/usr/src/linux/net/bridge. Neben dem Makefile
befinden sich dort die Quelltextdateien br.c
für den Bridging-Code und br_tree.c, der die
Forwardingtabellen implementiert. Die Datei
sysctl_net_bridge.c soll später mal die
Schnittstelle zum /proc-Dateisystem von Linux bilden.
Gegenwärtig existiert diese Schnittstelle jedoch
noch nicht.
Die Erweiterung des Codes um VLAN-Funktionalität teilt sich in
zwei Schritte auf. Zum einen müssen VLAN's auf Port-Ebene
(Schicht 1) implementiert werden zum anderen VLAN's auf
MAC-Adressen-Ebene (Schicht 2). Ausgangspunkt für die Erweiterung ist
die Datei br.h. Dabei gilt es zunächst festzustellen,
welche Funktionen des Codes die Bridge ausführt, wenn
sie ein Datenpaket erhält.
Abbildung:
Verzeichnisbaum für den Bridgingcode
|
Next: Vorhandener Code
Up: Schnittstelle zur Basissoftware
Previous: Schnittstelle zur Basissoftware
Root on HPHEGER0
3/3/1999