Kernel-Log – Was 3.1 bringt (1): Netzwerk

Seite 2: LAN, Staccato, Perlen

Inhaltsverzeichnis

Die bei 2.6.39 aufgenommene Unterstützung für Ipset erhielt eine Reihe von Verbesserungen, um die vom Firewall-Code konsultierten Tabellen mit Filter-Informationen flexibler und einfacher nutzen zu können. So lassen sich nun Adressen und Interface-Namen als Paar mit eigenem Namen übergeben, was für Egress- oder Ingress-Filterung interessant ist; der Kernel kann kann zudem als IP-Bereiche übergebene Adressen automatisch in die korrekten Subnetz-Definitionen konvertieren.

Der experimentelle und standardmäßig ausgeschaltete Zero-Copy-TX-Support für Macvtap und Vhost-net soll die Netzwerkperformance beim Virtualisieren verbessern, da es die Kopiervorgänge für Netzwerkpakete eliminiert, die KVM-Gastsysteme verlassen. Die Unterstützung in Vhost-Net ist allerdings als experimentell gekennzeichnet und muss über die Modul-Option experimental_zcopytx aktiviert werden.

  • An der Mesh-Impementation BATMAN-adv (Better Approach To Mobile Ad-Hoc Networking - Advanced) gab es eine Reihe von Änderungen, welche die Performance, das Bekanntmachen von Clients und die Roaming-Unterstützung verbessern sollen.
  • Der WLAN-802.11-Funk-Simulator-Treiber Mac80211_hwsim bietet nun Schnittellen, über die sich Userspace-Programme wie Wmediumd um das Senden und Empfangen von Netzwerkpaketen kümmern können.
  • Der Broadcom-NetXtreme-II-Treiber bnx2x beherrscht ab Linux 3.1 auch den "Warpcore" genannten Übertragungsmodus bei den Bausteine der Reihe 578xx.
  • Zum Netzwerk-Code stößt ein Subsystem für Near Field Communication (NFC), das viele berührungslose Bezahlsysteme nutzen (Dokumentation, 1, 2, 3, 4).
  • Der bei Linux 3.0 integrierte "Berkeley Packet Filter Just in Time Compiler" unterstützt jetzt auch PPC64-Systeme.
  • Der Netzwerk-Stack bietet nun eine "fanout" genannte Funktion, die via AF_PACKET aufgefangene Pakete an verschiedene Sockets verteilt; das ist für Userland-Traffic-Analyse-Werkzeuge wie Suricata interessant (1, 2, 3).
  • Einige weitere Änderungen am Netzwerk-Subsystem finden sich im nächsten Abschnitt und in den beiden Haupt-Git-Pull-Request von Subsystem-Verwalter David Miller (1, 2, 3).

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 "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

LAN

WLAN

Various

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". Gelegentlich zwitschert der Autor des Kernel-Logs unabhängig davon über einige Kernel-Log-Themen bei Identi.ca und Twitter als "@kernellogauthor". (thl). (thl)