Kernel-Log – Was 2.6.34 bringt (1): Netzwerkunterstützung

Der im Mai erwartete Linux-Kernel 2.6.34 enthält mehrere neue Netzwerk-Treiber. Diverse Verbesserungen sollen die Netzwerk-Performance vor allem im Zusammenspiel mit Virtualisierung steigern.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 12 Min.
Von
  • Thorsten Leemhuis

Die 2.6.34-Entwicklung läuft bislang ein klein wenig holpriger an als sonst: Erst hat Torvalds viele Entwickler mit dem kürzeren Merge Window übertölpelt, dann erschien der RC2 vergleichsweise spät und brachte mehr Neuerungen mit als üblich; beide Versionen enthielten zudem signifikante Probleme, wie Torvalds beim RC3 eingestehen musste. Zudem ist der RC4 mittlerweile überfällig, denn in dieser Phase des Entwicklungszyklus erscheinen neue Vorabversionen üblicherweise wöchentlich – die Freigabe des RC3 ist aber bald zwei Wochen her.

Trotz dieses holprigen Starts sollten sich mittlerweile alle wesentlichen Neuerungen für die nächste Version des Hauptentwicklungslinie im Quellcodeverwaltungssystem von Linux finden – das Kernel-Log kann daher bereits jetzt einen umfassenden Überblick über die größten Neuerungen der im Mai erwarteten Linux-Version 2.6.34 geben. Zur besseren Verträglichkeit wird das in einer mehrteiligen Artikel-Serie erfolgen, die sich nach und nach den verschiedenen Funktionsbereichen des Kernels widmet. Den Anfang der Mini-Serie "Was 2.6.34 bringt" macht eine Beschreibung der Änderung rund um die Netzwerkunterstützung des Kernels; in den kommenden Wochen folgen Artikel zu den Neuerungen bei Storage-Hardware, Dateisystemen, Grafik-Unterstützung, Architektur-Code, Treibern und einigen weiteren Funktionsbereichen.

Unter den rund 1300 Änderungen im Haupt-Git-Pull-Request von Netzwerk-Subsystem-Verwalter David Miller finden sich gleich mehrere neue Ethernet-Treiber. Der Treiber ixgbevf (u.a. 1, 2/Dokumentation) etwa spricht aus Gastsystemen mit den per SR-IOV bereitgestellten virtuellen Netzwerkfunktionen von Intels 10-Gigabit-Ethernet-Controllern der 82599-Familie – der diese Chips auf der Host-System betreuende Treiber ixgbe wurde dazu um Unterstützung für SR-IOV erweitert (1, 2, 3). Für die 1G/10G-CNA-Chips QLE8240 und QLE8242 von Qlogic stieß der Treiber qlcnic zum Kernel; neu sind auch die Treiber greth für die 10/100/1G-Ethernet-Chips der Gaisler-Familie von Aeroflex, ksz884x für die Ethernet-Chips Micrel KSZ8841 und KSZ8842 sowie der Treiber smsc75xx für USB-Gigabit-NICs mit den LAN75xx-Chips von SMSC. Erst nach dem RC3 nahmen die Kernel-Entwickler den Treiber cxgb4 (1, 2) für die Gigabit- und 10-Gigabit-Ethernet-Chips Chelsio T4 in den Kernel auf. Den Treiber atl1c erweiterten die Entwickler um Unterstützung für die Atheros-Ethernet-Chips AR8152 und AR8152.

Zum Kernel stieß ferner das zur Steigerung der Performance in Virtualisierungslösungen wie KVM oder Lguest interessante vhost-net – ein im Commit-Kommentar grob beschriebener, im Kernel arbeitender Server für das Virtio-Framework, der den Overhead reduzieren soll, wenn Gastsysteme über die virtuelle Virtio-Netzwerk-Hardware Daten an andere Maschinen verschicken. Flexibleren und flotten Austausch von Netzwerk-Daten zwischen Gastsystemen auf einem Host und einige andere Möglichkeiten bietet der neue Treiber macvtap. Für ihn und den Virtio-Server sind zudem noch zahlreiche weitere Verbesserungen in Vorbereitung, die die Performance und den Funktionsumfang langfristig weiter steigern sollen.

Im WLAN-Stack gab es einige Änderung, um die Stromsparmechanismen moderner WLAN-Chips etwas besser nutzen zu können. Zahlreiche Patches verändern die WLAN-Treiber für die Ralink-Chipsätze der RT2800-Generation und neuer – so richtig rund laufen die noch jungen Treiber auf vielen Chips aber immer noch nicht, daher dürften auch in den kommenden Monaten die Ralink-Treiber aus des Staging-Bereich für viele Anwender die bessere Wahl bleiben.

Der Bridge-Code des Kernels bietet nun Unterstützung für IGMP Snooping. Der Netfilter-Code kennt nun "conntrack zones" und beherrscht TCP-Connection-Tracking für SIP. Der Netzwerk-Stack unterstützt von nun an die in RFC3069 beschriebenen Proxy-Arp-Unterstützung für private VLANs. Jan Kiszka brachte zudem zirka 30 Änderungen ein, die den CAPI-Code im ISDN-Subsystem des Kernels erheblich überarbeiten und dabei zahlreiche Probleme ausräumen sollen.

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

LAN

WLAN

Netzwerk-Stack, Netfilter und Co.

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs auf heise open. Neue Ausgaben des Kernel-Logs werden auf den Identi.ca- und Twitter-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H" erscheinenden Übersetzungen auf den Identi.ca- und Twitter-Konten "@kernellog2". Der Autor des Kernel-Logs zwitschert unabhängig davon über einige Kernel-Log-Themen bei Identi.ca und Twitter als "@kernellogauthor". (thl). (thl)