Kernel-Log – Was 3.3 bringt (1): Netzwerk
Seite 2: LAN- und WLAN-Treiber, kleine Perlen
WLAN-Treiber
Der von Broadcom selbst vorangetriebene WLAN-Treiber brcmsmac nutzt nun den schon länger im Kernel enthaltenen Treiber bcma, um die WLAN-Funktionseinheiten von Chips anzusprechen, die Broadcoms AMBA-Interconnect nutzen; zusammen mit einer anderen Änderung vermeidet das Situationen, wo zwei Treiber in Konflikte geraten, weil sie die selbe Hardware ansprechen.
In den Atheros-Treiber ath9k sind Änderungen zur Unterstützung von Dynamic Frequency Selection (DFS) eingezogen. Die Technik soll verhindern, dass WLANs bestimmte Frequenzbereiche im 5-GHz-Bereich verwenden, wenn sie dort Radar stören würden. Vollwertige Unterstützung für DFS im WLAN-Subsystem ist noch in Arbeit; Hintergründe zu DFS finden sich im Linux-Wireless-Wiki und bei LWN.net.
LAN-Treiber
Der Netzwerktreiber hv_netvsc für Microsofts Virtualisierungsschnittstelle Hyper-V ist nach Jahren im Staging-Bereich nun so weit gereift, dass er in das Netzwerk-Subsystem umziehen durfte. Damit sollte er damnächst auch in Distributionen auftauchen, die keine oder nur einzelne Treiber aus dem Bereich für verbesserungsbedürftigen Code mitliefern.
Der Treiber tg3 unterstĂĽtzt nun den Broadcom-Chip 57766; der Treiber ixgbe spricht zwei neue AusfĂĽhrungen von Intels 82599 an (1, 2). Der Virtio-Net-Treiber, ĂĽber den Wirt- und Gastsysteme Netzwerkdaten per Paravirtualisierung austauschen, unterstĂĽtzt jetzt ACPIÂ S4 (Ruhezustand/Hibernate).
Ăśberlastungsschutz
Der Netzwerk-Code kann beim Active Queue Management (AQM) nun mit einem Adaptive RED (Random Early Detection) genannten Mechanismus arbeiten, der die Schwellwerte für Random-drop/Tail-drop dynamisch an den Datenverkehr anpasst. Durch diesen Ansatz soll die Technik, mit der sich Router selbst vor Überlastung schützen, robuster arbeiten, wie ein 2001 präsentiertes Paper zu Adaptive RED erläutert.
Netzwerk-Subsystem-Maintainer David Miller erläutert viele der hier erwähnten und einige weitere Änderungen in seinem Haupt-Git-Pull-Request für Linux 3.3. Dort hebt er beispielsweise die neue Unterstützung für Netlink Socket Dumping bei UDP- und AF_UNIX-Sockets hervor (u. a. 1, 2, 3, 4, 5).
Die kleinen Perlen
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 Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs auf Kernel.org, der die Quellen des "offiziellen" Kernels enthält. Der Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderung.
Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien; diese enthalten die Konfigurationsoptionen samt der zugehörigen Hilfetexte, 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
- [
   Â] be2net: Add support for Skyhawk cards - [
   Â] be2net: netpoll support - [
  N2] bna: Add debugfs interface. - [
   Â] bnx2: Support for byte queue limits - [
   Â] bnx2x: allow FCoE and DCB for 578xx - [
   Â] bnx2x: handle iSCSI SD mode - [
   Â] bnx2x: Support for byte queue limits - [
   Â] bnx2x: update driver version to 1.70.35-0 - [
   Â] e1000e: Support for byte queue limits - [
   Â] enic: This patch adds pci id 0x71 for SRIOV VF's - [
   Â] forcedeth: Support for byte queue limits - [
   Â] hyper-v: Update MAINTAINERS - [
   Â] IB/qib: Default some module parameters optimally - [
   1] igb: add basic runtime PM support - [
   Â] igb: Add support for byte queue limits. - [
CÂ Â 1]Â KSZ8851-SNL: Add ethtool support for EEPROM via eeprom_93cx6 - [
   Â] KSZ8851-SNL: Add support for EEPROM MAC address - [
CÂ Â Â]Â macb: initial support for Cadence GEM - [
   2] mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed) - [
   4] mlx4_core: Modify driver initialization flow to accommodate SRIOV for Ethernet - [
   3] mlx4: Ethernet port management modifications - [
   2] mlx4: Traffic steering management support for SRIOV - [
CDN6]Â net: add calxeda xgmac ethernet driver - [
CÂ Â Â]Â net/fec: make FEC driver buildable as module - [
   Â] net-forcedeth: Add internal loopback support for forcedeth NICs. - [
   Â] net/hyperv: Add support for jumbo frame up to 64KB - [
   Â] net/hyperv: Add support for promiscuous mode setting - [
 DNÂ] net/macb: add DT support for Cadence macb/gem driver - [
   2] net/mlx4_core: Implement the master-slave communication channel - [
   Â] net/mlx4_en: adding loopback support - [
   Â] net/smsc911x: Add regulator support - [
   Â] niu: Add support for byte queue limits. - [
CÂ N1]Â phy: Micrel KS8995MA 5-ports 10/100 managed Ethernet switch support added - [
   Â] sfc: Support for byte queue limits - [
   Â] skge: add byte queue limit support - [
   Â] sky2: add bql support - [
CÂ N3]Â stmmac: add the experimental PCI support - [
 D Â] stmmac: update the driver's documentation (Dec-2011) - [
   Â] tg3: Add MDI-X reporting - [
   Â] tg3: Enable EEE support for capable 10/100 devs - [
   Â] tg3: Support for byte queue limits - [
   Â] tg3: Update version to 3.122 - [
   1] via-rhine: per device debug level.
WLAN
- [
   Â] ath5k: Add a module parameter to disable hw rf kill switch - [
   1] ath5k: Calibration re-work - [
   1] ath5k: Switch from read-and-clear to write-to-clear method when handling PISR/SISR registers - [
   Â] ath6kl: Add a modparam to enable multi normal interface support - [
   Â] ath6kl: Add new state for WOW mode - [
   Â] ath6kl: add support for WPS - [
   Â] ath6kl: add suspend_cutpower module parameter - [
   Â] ath6kl: Add WOW suspend/resume implementation - [
   Â] ath6kl: AR6004 SDIO support - [
   Â] ath6kl: Enable multiple vif support - [
   Â] ath6kl: Implement support for power parameter control from userspace - [
   Â] ath6kl: indicate probe-resp offload support - [
   Â] ath6kl: Remove modparam multi_norm_if_support - [
   1] ath6kl: support for P2P mgmt operations on station interface - [
   Â] ath6kl: update ar6004 definitions - [
  N1] ath9k: Add btcoex profile management support for AR9462 - [
   Â] ath9k: Advertise support for TDLS - [
   Â] ath9k: enable ANI for ar9100 chips - [
   Â] ath9k_hw: add DFS testing check - [
   Â] ath9k_hw: Add support for MCI WLAN calibration - [
CÂ Â 1]Â ath9k_hw: make bluetooth coexistence support optional at compile time - [
   Â] ath9k: Support RSN Mesh - [
   Â] ath: optimize processing of CTLs for country IEs for world roaming cards - [
   Â] b43: N-PHY: finish 2.4GHz 0x2056 radio setup - [
 D Â] batman-adv: readme update (mention ap isolation and new log level) - [
   Â] batman-adv: update internal version number - [
   Â] brcm80211: fmac: add bcm4330 support - [
CÂ Â Â]Â brcm80211: fmac: add Kconfig option for SDIO bus support - [
   Â] cfg80211: relicense reg.c reg.h and genregdb.awk to ISC - [
   Â] hostap_cs: add ID for Canon K30225 - [
   Â] iwlagn: finer-grained HT disable - [
   Â] iwlegacy: rename base 4965 and 3945 file names - [
   Â] iwlwifi: Add official names for new devices - [
CÂ Â Â]Â iwlwifi: P2P is not enabled by default - [
   Â] iwlwifi: two more SKUs for 6x05 series - [
   1] mac80211: Add HT operation modes for IBSS - [
   Â] mac80211: Add NoAck per tid support - [
   Â] mac80211: add support for control port protocol in AP mode - [
   Â] mac80211: implement wifi TX status - [
   1] mac80211: Support ht-cap over-rides. - [
   Â] MAINTAINERS: add b43 mailing list - [
CÂ Â Â]Â mwifiex: add support for Marvell sd8797 device - [
   Â] mwl8k: Changing the driver version to 0.13 - [
   Â] nl80211: add API to probe a client - [
   Â] nl80211: add testmode to the list of supported commands - [
   Â] rt2800: Add support for the Fujitsu Stylistic Q550 - [
   Â] rt2800pci: fix spurious interrupts generation - [
   Â] rt2x00: Change RF3853 to RF3053. - [
   Â] rt2x00: Identify rt2800usb chipsets. - [
   Â] rt2x00: RT3593 is also applicable to USB. - [
   Â] rtl8192cu: Add new device IDs - [
   Â] wireless: Add NoAck per tid support - [
CDÂ Â]Â wireless: disable wext sysfs by default - [
   1] wireless: Support ht-capabilities over-rides. - [
CÂ Â 1]Â wl12xx: remove sdio_test module
Various
- [
   1] 6LoWPAN: add fragmentation support - [
   Â] 6LoWPAN: UDP header compression - [
 D Â] 6LoWPAN: update documentation - [
   Â] Bluetooth: Add HCI User Passkey Req Evt handling - [
   1] Bluetooth: Add MITM mechanism to LE-SMP - [
   Â] Bluetooth: Add SMP to User Passkey and Confirm - [
   Â] Bluetooth: Add support for BCM20702A0 [0a5c:21e3] - [
   Â] Bluetooth: Add User Passkey Response handling - [
   Â] Bluetooth: Allow to set AMP type for virtual HCI - [
CÂ Â Â]Â Bluetooth: Always compile SCO and L2CAP in Bluetooth Core - [
   Â] Bluetooth: EFS: add enable_hs kernel param - [
   Â] Bluetooth: EWS: extended window size option support - [
   Â] Bluetooth: making enable_hs independent from L2CAP - [
   Â] Bluetooth: Periodic Inquiry and Discovery - [
   1] Bluetooth: prioritizing data over HCI - [
 D Â] bonding: document undocumented active_slave sysfs entry. - [
   Â] bridge: add local MAC address to forwarding table (v2) - [
   Â] bridge: add NTF_USE support - [
CÂ N1]Â caif: Add support for CAIF over CDC NCM USB interface - [
CÂ N3]Â can: cc770: add driver core for the Bosch CC770 and Intel AN82527 - [
CÂ N3]Â can: cc770: add driver core for the Bosch CC770 and Intel AN82527 - [
CÂ N1]Â can: cc770: add legacy ISA bus driver for the CC770 and AN82527 - [
CDN1]Â can: cc770: add platform bus driver for the CC770 and AN82527 - [
CÂ N1]Â can: cc770: legacy CC770 ISA bus driver - [
CÂ Â 4]Â can: Revert outdated cc770 driver patches. - [
CÂ Â Â]Â can: sja1000_isa: convert to platform driver to support x86_64 systems - [
CÂ Â Â]Â dsa: Allow core and drivers to be built as modules - [
CÂ NÂ]Â dsa: Move switch drivers to new directory drivers/net/dsa - [
   Â] ethtool: allow ETHTOOL_GSSET_INFO for users - [
   Â] genetlink: add auto module loading - [
   Â] ipv4: reduce percpu needs for icmpmsg mibs - [
   Â] ipv6/addrconf: speedup /proc/net/if_inet6 filling - [
CÂ Â Â]Â IPVS: Modify the SH scheduler to use weights - [
 D 1] neigh: new unresolved queue limits - [
   1] net: Add ethtool to mii advertisment conversion helpers - [
   1] net: add wireless TX status socket option - [
   Â] netem: add cell concept to simulate special MAC behavior - [
   Â] netem: rate extension - [
CÂ N1]Â netfilter: add extended accounting infrastructure over nfnetlink - [
CÂ NÂ]Â netfilter: add ipv4 reverse path filter match - [
CÂ NÂ]Â netfilter: add ipv6 reverse path filter match - [
  N4] netfilter: nf_nat: export NAT definitions to userspace - [
CÂ Â Â]Â netfilter: provide config option to disable ancient procfs parts - [
   Â] netfilter: xtables: add an IPv6 capable version of the ECN match - [
CÂ NÂ]Â netfilter: xtables: add nfacct match to support extended accounting - [
CÂ NÂ]Â netfilter: xtables: move ipt_ecn to xt_ecn - [
   Â] net: introduce build_skb() - [
   Â] net: optimize socket timestamping - [
   2] net: remove legacy ethtool ops - [
   Â] net_sched: qdisc_alloc_handle() can be too slow - [
   1] net_sched: sfq: add optional RED on top of SFQ - [
   1] NFC: Add a DEP link control netlink command - [
CÂ N5]Â NFC: Initial LLCP support - [
   2] NFC: Update names and structs to NCI spec 1.0 d18 - [
   1] NFC: Update names and structs to NCI spec 1.0 d22 - [
 D Â] tcp: inherit listener congestion control for passive cnx - [
   Â] tipc: Enable use by containers having their own network namespace [   Â] vlan: add 802.1q netpoll support
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)