Kernel-Log: Was 2.6.28 bringt (2): Netzwerk-Infrastruktur und -Treiber
Fünf neue Treiber für LAN-Hardware von Atheros, Cisco, Jmicron, Qlogic und SMSC; neue Infrastruktur sorgt für gesetzkonformes Funken mit WLAN; Verbesserungen für Multiqueue Networking; Phonet Stack von Nokia; Netfilter als transparenter Proxy
Die Commit-Flut für 2.6.28 nimmt während des derzeit offenen Merge Window wiedermal kein Ende; allein in den vergangenen 24 Stunden hat Linus Torvalds erneut 700 zumeist von anderen Kernel-Entwickler beigesteuerte Patches in den Hauptentwicklungszweig von Linux integriert. Dort sind die im Kernel-Log bereits beschriebenen Änderungen bei der ATA-Unterstützung und dem Block-Layer genau wie die folgenden dargelegten Änderungen im Netzwerkbereich bereits vor einigen Tage gelandet. Der Verwalter des Netzwerk-Subsystems wacht neuerdings sogar streng darüber, dass alle Änderungen für die nächste Kernel-Version vor dem Beginn des Merge Window in linux-next waren – der Hauptentwicklungszweig dürfte daher alle größeren, netzwerkspezifischen Neuerungen von Linux 2.6.28 bereits enthalten.
Einen groben Überblick über alle Neuerungen gibt die Mail, die Torvalds zum Einpflegen der Änderungen aus dem Netzwerkbereich auffordert. So integrierten die Entwickler wie erwartet gleich fünf neue Netzwerktreiber:
- atl2 – Atheros L2 10/100 MBit-NICs
- enic – 10 GBit-NICs von Cisco
- jme – Gigabit-NICs von JMicron
- qlge – 10GBit-NICs von Qlogic
- smsc95xx – USB 2.0 10/100 MBit-Adapter mit SMSC LAN9500
Anders als bei den meisten vorangegangenen Kernel-Versionen stießen diesmal allerdings keine WLAN-Treiber neu zum Kernel hinzu. Es gab aber wie üblich einen Haufen kleinerer und größerer Verbesserungen an den bekannten WLAN-Treibern. So bietet der ath5k-Treiber für Atheros-WLAN-Chips nun etwa Unterstützung für Mesh-Netzwerke und den Atheros-Chip AR2417 v2; der rt2x00-Treiber hingegen nutzt nun die Verschlüsselungstechniken verschiedenerer RaLink-WLAN-Chips (1, 2, 3, 4). Einige weitere Verbesserungen an LAN- und WLAN-Treibern finden sich über die Links im unteren Abschnitt dieser Meldung.
Die generische Wireless Regulatory Infrastructure soll in Zukunft flexibler und besser als zuvor sicherstellen, dass man mit der WLAN-Hardware nicht gegen die am jeweiligen Aufenthaltsort geltenden Vorschriften und Gesetze zum Betrieb von Funkverbindungen verstößt. Die neue Infrastruktur greift dazu anders als der bisher zu diesem Zweck im Kernel enthaltene Code stark auf die Hilfe eines im Userspace laufenden Programms zurück, das Distributoren viel einfacher und schneller aktualisieren können als den Kernel. Die genaue Funktionsweise und zahlreiche weitere Hintergründe zu dem Thema liefern der Commit-Kommentar, die Kernel-Dokumentation, ein Artikel auf LWN.net und eine Beschreibung des Central Regulatory Domain Agent im Linux-Wireless-Wiki.
Optimiert und um einen "PRIO based multiqueue packet scheduler" erweitert haben die Entwickler die mit 2.6.27 eingeführte Linux TX Multiqueue Implementation (kurz "multiqueue networking"). Neu im Hauptentwicklungszweig ist der von Nokia-Entwicklern eingebrachte Phonet Stack (Dokumentation) und die Transparent Ethernet Bridging over GRE tunnels von Herbert Xu. Jan Engelhardt brachte zudem zahlreiche sehr umfangreiche Renovierungsarbeiten am Netfiltercode ein, durch die unter anderem die Ebtables-Unterstützung jetzt auf Xtables aufbaut. Nach fünf Jahren unterstützt die Netfilter-Infrastruktur nun wieder "vernünftig" den Betrieb als transparenter Proxy ("Proper transparent proxy support in netfilter. We sort of lost this feature 5 or so years ago, but hey better late than never to get it back :-)").
Weitere Commits aus dem Bereich Netzwerk-Infrastruktur und -Treiber:
Generic:
- bonding: add more ethtool support
- IPVS: Add genetlink interface implementation
- net: Distributed Switch Architecture protocol support
LAN
- bnx2: Update 5706/5708 firmware.
- cassini: use request_firmware
- cxgb3: Support for Aeluros 2005 PHY
- e1000e: add support for new 82574L part
- e1000e: add support for the 82567LM-4 device
- e1000e: add support for 82567LM-3 and 82567LF-3 (ICH10D) parts
- mv643xx_eth: transmit multiqueue support
- netxen: enable msi-x for quad-gig boards
- r8169: add 8168/8101 registers description
- r8169: add hw start helpers for the 8168 and the 8101
- r8169: additional 8101 and 8102 support
- r8169: new phy init parameters for the 8168b
- r8169: add a new 8168c flavor
- r8169: add a new 8168c flavor (bis)
- r8169: add a new 8168cp flavor
- r8169: support additional 8168cp chipset
- r8169: preliminary 8168d support
- sfc: Export boot configuration in EEPROM through ethtool
- smc911x: Add support for LAN921{5,7,8} chips from SMSC
WLAN
- ath5k: Update registers and SREV ids v2
- ath5k: rates cleanup
- ath9k: Allow AP mode to be enabled
- ath9k: Add LED support
- ath9k: Add RF kill support
- b43: Add LP-PHY radio register definitions
- b43: Rewrite TX power adjustment
- cfg80211: fix static regdomains
- iwlwifi: Added support for 3 antennas
- iwlwifi: update 5350 Wifi PCI IDs
- mac80211: clean up rate control API
- mac80211: make BA session handling independent of STA mode
- mac80211: split off mesh handling entirely
- mac80211: use nl80211 interface types
- mac80211: share STA information with driver
- mac80211: add the 'minstrel' rate control algorithm
- orinoco: Invoke firmware download in main driver
- p54: better firmware support
- p54: control output power levels
- p54: 802.11a 5GHz phy support
- p54usb: support LM87 firmwares
- p54usb: Device ID updates
- rtl8187: add device ID 0bda:8198
- rtl8187: Add USB ID for Belkin F5D7050 with RTL8187B chip
Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich auch in den vorangegangen Ausgaben des Kernel-Logs auf heise open:
- 16.10.2008: Kernel-Log: Was 2.6.28 bringt (1) – ATA-Unterstützung und Block-Layer
- 16.10.2008: neue Catalyst-Treiber, 2.6.27.1 beseitigt Ursache für e1000e-Problem
- 15.10.2008: Dateisystem Ext4 verlässt Entwicklungsphase – ein Zwischenstopp auf dem Weg zu btrfs
- 15.10.2008: Neues zu Linux auf dem Linux-Kongress 2008
- 13.10.2008: Neue Stable-Kernel und Nvidia-Treiber, 2.6.27 wird lange gepflegt
- 10.10.2008: Viel bewegt – Die Neuerungen von Linux 2.6.27
- 06.10.2008: e1000e-Problem umschifft, Morton lobt Btrfs
- 30.09.2008: 2.6.27 nähert sich Fertigstellung, Btrfs bald im Kernel?
- 25.09.2008: Kernel-Summit-Infos und Plumbers-Keynote online, Neues vom e1000e-Problem
Ältere Kernel-Logs finden sich über das Archiv oder die Suchfunktion von heise open.